Boucle while incompabilité de types

Résolu/Fermé
bithack Messages postés 129 Date d'inscription mercredi 29 octobre 2014 Statut Membre Dernière intervention 16 mars 2016 - Modifié par jordane45 le 22/04/2015 à 14:17
bithack Messages postés 129 Date d'inscription mercredi 29 octobre 2014 Statut Membre Dernière intervention 16 mars 2016 - 22 avril 2015 à 14:59
Bonjour,
je réalise un petit programme en Vba pour access et étant un gros débutant je plante toute les 30 secondes et malheureusement je ne trouve pas toujours les réponses...
voici mon problème : j'ai le message d'erreur suivant lorsque j'exécute mon petit programme: incomparabilité de types. " erreur 13 "
voici mon code
Sub runtype()
Dim Jour As String
Dim db As Database
Dim rsdateres As DAO.Recordset
Dim rsrun1 As DAO.Recordset
Dim rsrun2 As DAO.Recordset
Dim rsrun3 As DAO.Recordset
Dim fld As DAO.Field
Dim sSQL1 As String
Dim sSQL2 As String
Dim sSQL3 As String
Dim i As Long


i = 1
Jour = date
MsgBox Jour

Set db = CurrentDb

    sSQL1 = "SELECT date_resil FROM Dossier"
    Set rsdateres = db.OpenRecordset(sSQL1, dbOpenForwardOnly, dbReadOnly) ' Ouverture du Recordset
   ' MsgBox rsdateres
    
   ' sSQL2 = "select Run1 FROM calendrier"
   ' Set rsrun1 = db.OpenRecordset(sSQL2, bOpenForwardOnly, dbReadOnly)
   ' MsgBox rsrun1
    
  '  sSQL3 = "select Run2 FROM calendrier"
  '  Set rsrun2 = db.OpenRecordset(sSQL3, bOpenForwardOnly, dbReadOnly)
   ' MsgBox rsrun2
   
   ' SSQL4 = "select Run3 FROM calendrier"
 '   Set rsrun3 = db.OpenRecordset(SSQL4, bOpenForwardOnly, dbReadOnly)
    'MsgBox rsrun3
    '1
    
While i = " "
    If rsdateres!date_resil < Jour And rsdateres!date_resil < rsrun1!Run1 Then
       rsrun1.Fields("run") = Run1
      
       
       If rsdateres!date_resil < Jour And rsdateres!date_resil < rsrun2!run2 And rsdateres!date_resil > rsrun1!Run1 Then
            'If rsdateres < Jour And rsdateres < rsrun2 And rsdateres > rsrun1 Then
                rsrun2.Fields("run") = run2
           End If
         
                If rsdateres!date_resil < Jour And rsdateres!date_resil < rsrun3!run3 And rsdateres!date_resil > rsrun2!run2 Then
                    'If rsdateres < Jour And rsdateres < rsrun3 And rsdateres > rsrun2 Then
                        rsrun3.Fields("run") = run3
                        
                        End If
        
                         If rsdateres!date_resil < Jour And rsdateres!date_resil > rsrun3!run3 Then
                            'If rsdateres < Jour And rsdateres > rsrun3 Then
                               rsdateres.Fields("run") = pas - résilier
                             End If
                    
         End If
    i = i + 1
Wend

       
        
          
'rst.Close ' Fermeture du Recordset
'l = rst.RecordCount
End Sub


il a pour but de sortir des numero lorsque le dossier a passer une certaine date.
Merci par avance de votre aide :)


1 réponse

f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
22 avril 2015 à 14:55
Re,

While i = " "
pas possible puisque i est un numerique
Dim i As Long


je suppose que vous voulez parcourir le recodset
rsdateres


  rsdateres.MoveFirst
  Do Until rsdateres.EOF
    'votre code de test
    '
    '
    '
    '
    rs.MoveNext
  Loop
0
bithack Messages postés 129 Date d'inscription mercredi 29 octobre 2014 Statut Membre Dernière intervention 16 mars 2016 6
22 avril 2015 à 14:59
Merci beaucoup,
vous venez de débloquer mon travail (une fois de plus il me semble !! )
merci !!!
0