Erreur, trop peu de paramètre attendu : 1 attendu

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 bithack le 26/06/2015 à 10:46
bithack Messages postés 129 Date d'inscription mercredi 29 octobre 2014 Statut Membre Dernière intervention 16 mars 2016 - 26 juin 2015 à 12:04
Bonjour, voici mon problème. J'ai un code que j'ai réaliser sur un base test pour ensuite l'intégrer. J'ai donc adapter variable et champ pour la nouvelle base. Sur la base test mon code fonctionne à merveille. Sur la nouvelle base j'ai l'erreur "trop peu de paramètre attendu : 1 attendu" sur
rn = flag.Fields("compte_run_facturation")
sSQL4 = "run" & rn & " FROM calendrier;"
Set rs = db.OpenRecordset(sSQL4)

merci :)
Sub sortieRun()

    Dim jour As String
    Dim db As Database
    Dim sSQL0 As String
    Dim sSQL4 As String
    Dim flag As DAO.Recordset
    Dim rstest As DAO.Recordset
    Dim rs As DAO.Recordset
    Dim compte As String
    
    jour = Date ' date du systeme
    
   
    Set db = CurrentDb
    Set rstest = db.OpenRecordset("test")
    sSQL2 = "select compte_run_facturation,compte_marq_si,compte_date_resil from compte_reseau where run is null;"
        Set vide = db.OpenRecordset(sSQL2) ' variable permettant de voir si le champ run est vide
           
           
           
          vide.MoveFirst
         
         Do While Not vide.EOF
         rn = vide.Fields("compte_run_facturation") ' variable run de la requete vide
         dr = vide.Fields("compte_date_resil") ' variable date_resil de la requete vide
         
           compte = Date - dr
          'MsgBox compte
         If Date - dr > 31 Then ' verifie que la date systeme moins la date de resil et inférieur à 31 (nombre jours max dans un mois)
        
                With vide
                    .Edit
                    .Fields("compte_marq_si") = "vrai"
                    .Update
                End With
                         
              End If
              vide.MoveNext
            Loop

    sSQL0 = "select compte_date_resil,compte_run_facturation,compte_marq_si FROM compte_reseau WHERE run is not null;"
    Set flag = db.OpenRecordset(sSQL0) 'flag est une variable permmettant de récuperer les champ date_resil, run et okko de la table
    
    flag.MoveFirst
    Do While Not flag.EOF
       
        With rstest
            .AddNew
            .Fields("compte_date_resil") = flag.Fields("compte_date_resil")
            .Fields("compte_run_facturation") = flag.Fields("compte_run_facturation")
            .Update
            
                       
        End With
        
     rn = flag.Fields("compte_run_facturation")
         sSQL4 = "select compte_run_facturation" & rn & " FROM calendrier;"
        Set rs = db.OpenRecordset(sSQL4)
        
        rs.MoveFirst
        Do While Not rs.EOF
         dr = flag.Fields("compte_date_resil")
        ' MsgBox dr
               
            
        essai = rs.Fields("compte_run_facturation" & rn & "")
           
           If dr < essai Then
           
            With flag
                    .Edit
                    .Fields("compte_marq_si") = "vrai"
                    .Update
                End With
    
    
            End If
            rs.MoveNext
        Loop
       
        flag.MoveNext
    Loop
    
    sSQL6 = " select compte_date_resil, compte_marq_si FROM compte_reseau;"
    Set sup = db.OpenRecordset(sSQL6) ' variable qui sert a la supression du ok si date du jour < date resil
    
    sup.MoveFirst
    Do While Not sup.EOF
        
         datr = sup.Fields("compte_date_resil")
         
          ' compte = Date - dr
          'MsgBox compte
         If datr > Date Then
        
                With sup
                    .Edit
                    .Fields("compte_marq_si") = ""
                    .Update
                End With
                         
              End If
              sup.MoveNext
            Loop
   
End Sub


Edit: Précision du langage dans la coloration syntaxique.

Merci par avance aux courageux !!!
A voir également:

1 réponse

Bonjour

rn = flag.Fields("compte_run_facturation")
         sSQL4 = "run" & rn & " FROM calendrier;"


Je ne connais rien à ton application, mais il ne manquerait pas une espace après "run" ? Je suppose que run est un mot-clé qui doit être séparé de ce qui suit.
Ou ton rn est peut-être vide.
0
bithack Messages postés 129 Date d'inscription mercredi 29 octobre 2014 Statut Membre Dernière intervention 16 mars 2016 6
26 juin 2015 à 12:04
Mer ci de votre réponse, le problème est simplement un champ inexistant...
je vous remercie.
0