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

VB 6 et antérieur Discussion :

code DAO: 1 parametre attendu.


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 13
    Par défaut code DAO: 1 parametre attendu.
    Bonjour,
    je séche lamentablement

    Une base acces 97, une table [ILOTS], 4 Champs
    _NoIlot champs numerique entier long
    _NomIlot champs texte
    _Surface Champs numerique entier long
    _Culture Champs texte

    Voila pour la base
    Je cree un projet sous vb 4 pro avec
    1 form Form1
    1 combo CmbNonIlot
    1 text box Text1

    Dans le formload je tape


    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    Private Sub Form_Load()
     Dim base As String
    		base = "INTRANTS.mdb"
     Dim a As Variant
    'remplir la liste des ilots
     
        Dim db As Database
        Dim rsc As Recordset
        Dim SQLC As String
        SQLC = "SELECT [NomIlot] FROM [ILOTS]"
        Set db = Workspaces(0).OpenDatabase(base)
        Set rsc = db.OpenRecordset(SQLC, dbOpenDynaset)
     
    If rsc.RecordCount = 0 Then
    MsgBox " Vous devez remplir la Fiche des Ilots"
    Exit Sub
    End If
        rsc.MoveFirst
        a = rsc![NomIlot]
    Do Until rsc.EOF
        a = rsc![NomIlot]
      CmbNonIlot.AddItem a
        rsc.MoveNext
    Loop
    rsc.MoveFirst
    rsc.Close
    db.Close
     
    End Sub
    Dans clic du combo je tape

    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
    	Private Sub CmbNonIlot_Click()
     Dim base As String
     base = "INTRANTS.mdb"
        Dim db As Database
         Dim critere As String
       critere = CmbNonIlot
         Dim rsSurf As Recordset
         Dim SQLSurf As String
    SQLSurf = " SELECT [Surface] FROM [ILOTS] " _
        & " WHERE [NomIlot] = " & CmbNonIlot & ";"
    Set db = Workspaces(0).OpenDatabase("INTRANTS.mdb")
    Set rsSurf = db.OpenRecordset(SQLSurf, dbOpenDynaset)
     
       rsSurf![Surface] = Text1.Text
    rsSurf.Close
    End Sub
    Si je lance, le combo se rempli mais au premier clic qui doit m'afficher dans
    Text1 la surface de l'ilot que j'ai selectionne dans le combo, j'ai droit a "Trop peu
    de parametre.1 parametre manquant"
    La base est bonne, la sql est bien sur le nom de l'ilot du combo,les noms de champs
    dans la base et le prog sont correct et le compil s'arrete sur le set rsSurf.
    Qu'est-ce que j'oublie????
    Merci d'avance pour vos réponses.
    jpp

  2. #2
    Membre éprouvé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 336
    Par défaut
    salut

    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
    Private Sub CmbNonIlot_Click()
    Dim base As String
    base = "INTRANTS.mdb"
    Dim db As Database
    Dim critere As String
    critere = CmbNonIlot
    Dim rsSurf As Recordset
    Dim SQLSurf As String
    SQLSurf = " SELECT [Surface] FROM [ILOTS] " _
    & " WHERE [NomIlot] = " & CmbNonIlot & ";"
    Set db = Workspaces(0).OpenDatabase("INTRANTS.mdb")
    Set rsSurf = db.OpenRecordset(SQLSurf, dbOpenDynaset)
    
    rsSurf![Surface] = Text1.Text
    rsSurf.Close
    End Sub
    CmbNonIlot doit contenir la valeur de là où tu cliques, c'est bien ça?
    Essaye CmbNonIlot.value ou un truc dans ce genre.

    A quoi sert: critere = CmbNonIlot?

  3. #3
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    si le champ [NomIlot] est de type string, modifie ta requete comme suit:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SQLSurf = " SELECT [Surface] FROM [ILOTS] " _
    & " WHERE [NomIlot] = '" & CmbNonIlot & "' "
    il faut ajouter des guillemets de chaque coté de la valeur
    en passant, le point-virgule à la fin n'est pas nescessaire dans les requetes dao

  4. #4
    Membre éprouvé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 336
    Par défaut
    c'est exact, j'avais pas vu ça aussi.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 13
    Par défaut
    Merci pour les reponses. Ca marche.
    jpp

  6. #6
    Membre éprouvé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 336
    Par défaut
    N'oublie pas le Tag Résolu!

    ++

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Transformer recherche avec DLookup en code DAO
    Par ACNTOURAINE dans le forum VBA Access
    Réponses: 10
    Dernier message: 25/11/2013, 15h31
  2. [AC-2003] Traduire un code DAO en ADO.
    Par Bonero dans le forum VBA Access
    Réponses: 1
    Dernier message: 08/11/2011, 14h43
  3. le code décale le résultat attendu
    Par arctica dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 20/09/2009, 13h14
  4. Réponses: 9
    Dernier message: 20/09/2005, 17h18
  5. [JVM] interactions jvm - code : agir sur les paramètres ?
    Par pierre.zelb dans le forum Général Java
    Réponses: 6
    Dernier message: 07/07/2005, 13h02

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