IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

ce code n'est pas correct, pourquoi?


Sujet :

Access

  1. #1
    Débutant Avatar de laurent.w
    Inscrit en
    Décembre 2006
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 201
    Points : 70
    Points
    70
    Par défaut ce code n'est pas correct, pourquoi?
    Private Sub chantier_Click()

    Dim SQL As String


    Dim SQLWhere As String
    Dim rs As DAO.Recordset
    Dim resultat As String
    Dim table As Variant
    table = Array(1, mg, m1, m2, m3, repq1, repq2, repq3, repq4, repq5, repq6, repq7, repq8, repq9, repq10, repq11, repq12a, repq12b, repq12c, repq13, repq14, repq15, repq16)

    For i = 1 To 22
    SQL = "SELECT AVG(QS!" & table(i) & ") as moyenne FROM QS WHERE QS!numero <> 0 " & " And QS!date_debut >= #" & Format(Me.txtRechdebut, "mm/dd/yyyy") & "# " & " And QS!date_debut >= #" & Format(Me.txtRechfin, "mm/dd/yyyy") & "# " & " ;"
    Next i
    resultat = ""

    Set rs = CurrentDb.OpenRecordset(SQL)
    Do While Not rs.EOF
    resultat = resultat & rs!moyenne
    rs.MoveNext
    Loop
    MsgBox (resultat)
    Me.mg_qs = resultat

    Me.lstResults.RowSource = SQL
    Me.lstResults.Requery


    End Sub

    l'erreur vient de la requete, il ne veut pas reconnaitre mon tableau, aurais je oublier quelque chose?
    svp , aidez moi
      0  0

  2. #2
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour,

    TU pourrais modifier comme cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    table = Array("1", "mg", "m1", ...)
    Pour éviter d'utiliser un variant, tu peux aussi déclarer table ainsi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim Table(1 to 22) as string
    Si tu utilises un variant, l'indice commence à 0, sauf si tu as déclaréBon courage,

    PGZ
    pluritas non est ponenda sine necessitate - Le rasoir d'Okham
    Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon
      0  0

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 41
    Points : 40
    Points
    40
    Par défaut
    En plus des corrections de pgz je souhaiterais te signaler qqchose:

    Ton for il sert à quoi?
    à chaque itération tu écrase la String 'SQL' donc tu n'aura jamais que la chaine pour i = 22....

    comme ca ca te donnera peut-être 22 moyennes à la suite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    resultat = ""
     
    For i = 1 To 22
    SQL = "SELECT AVG(QS!" & table(i) & ") as moyenne FROM QS WHERE QS!numero <> 0 " & " And QS!date_debut >= #" & Format(Me.txtRechdebut, "mm/dd/yyyy") & "# " & " And QS!date_debut >= #" & Format(Me.txtRechfin, "mm/dd/yyyy") & "# " & " ;"
     
    Set rs = CurrentDb.OpenRecordset(SQL)
    Do While Not rs.EOF
    resultat = resultat & rs!moyenne
    rs.MoveNext
    Loop
    rs.close
    Next i
     
     
    MsgBox (resultat)
    Me.mg_qs = resultat
     
    Me.lstResults.RowSource = SQL
    Me.lstResults.Requery
      0  0

Discussions similaires

  1. Programmer encore en VB 6 c'est pas bien ? Pourquoi ?
    Par Nektanebos dans le forum Débats sur le développement - Le Best Of
    Réponses: 85
    Dernier message: 10/03/2009, 14h43
  2. [MySQL] Mon code ne fonctionne pas correctement
    Par bebas dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 24/02/2007, 13h27
  3. Mon code n'est pas interprété !
    Par korriganez dans le forum Langage
    Réponses: 3
    Dernier message: 31/05/2006, 15h46
  4. Mon clonage n'est pas correct ?
    Par elitost dans le forum Langage
    Réponses: 6
    Dernier message: 21/03/2006, 14h38
  5. Erreur : ce code n'est pas connu
    Par ruman dans le forum VBA Access
    Réponses: 17
    Dernier message: 13/02/2006, 11h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo