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

IHM Discussion :

[Formulaire] trop peu de parametre [AC-2007]


Sujet :

IHM

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mai 2009
    Messages : 111
    Points : 63
    Points
    63
    Par défaut [Formulaire] trop peu de parametre
    Je souhaite renseigner une zone de texte en fonction de trois listes déroulantes :

    -cmbTYPESORTIE
    -cmbDESTINATION
    cmbCATEGORIE

    voici mon code :

    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 FormCat1_AfterUpdate()
     
    Dim typesortie As Single
    Dim destination As String
    Dim categorie As Single
    Dim SQL As String
    Dim TARIFICATION As DAO.Database
    Dim enregistrement As DAO.Recordset
     
    typesortie = Me!cmbTYPESORTIE
    destination = Me!cmbDESTINATION
    categorie = Me!FormCat1
     
      '' RAZ
        FormCat1.Value = ""
     
     
    SQL = "SELECT TARIFICATION.Tarif FROM DESTINATION INNER JOIN (CATEGORIE INNER JOIN TARIFICATION ON CATEGORIE.NumCategorie = TARIFICATION.NumCategorie) ON DESTINATION.NumDestination = TARIFICATION.NumDestination WHERE (((DESTINATION.LibelleDestination)=" & destination & ") AND ((TARIFICATION.NumTypeSortie)=" & typesortie & ") AND ((CATEGORIE.NumCategorie)=" & categorie & "));"
    Set TARIFICATION = CurrentDb
    Set enregistrement = TARIFICATION.OpenRecordset(SQL, dbOpenSnapshot)
     
    If enregistrement.RecordCount = 1 Then
        If enregistrement.Fields("Tarif") <> "" Then
            resultat = enregistrement.Fields("Tarif")
            FormCat1.Value = resultat
        End If
    End If
     
    End Sub
    Et j'obtien donc l'erreur suivante :
    -"erreur d'execution 3061"
    -"Trop peu de parametre.1 attendu"

    J'ai peut etre une idée qui serait que mes champ numtypesortie et numcategorie sont de type Numeroautomatique et que mes listes correspondante sont numerique mais bon ... sa n'explique le "1attendu" ...

    Merci d'avance.

    Cordialement.

    Tristan.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mai 2009
    Messages : 111
    Points : 63
    Points
    63
    Par défaut
    Avec cette syntaxe cela marche :

    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
    Private Sub FormCat1_AfterUpdate()
     
    Dim typesortie As Single
    Dim destination As String
    Dim categorie As Single
    Dim SQL As String
    Dim TARIFICATION As DAO.Database
    Dim enregistrement As DAO.Recordset
     
    typesortie = Me!cmbTYPESORTIE
    destination = Me!cmbDESTINATION
    categorie = Me!FormCat1
     
     
     
     
    SQL = "SELECT TARIFICATION.NumDestination, TARIFICATION.NumTypeSortie, TARIFICATION.NumCategorie, TARIFICATION.Tarif FROM DESTINATION, TARIFICATION WHERE DESTINATION.NumDestination=TARIFICATION.NumDestination AND DESTINATION.LibelleDestination='" & destination & "' AND TARIFICATION.NumTypeSortie=" & typesortie & " AND TARIFICATION.NumCategorie=" & categorie & ";"
    Set TARIFICATION = CurrentDb
    Set enregistrement = TARIFICATION.OpenRecordset(SQL, dbOpenSnapshot)
     
    If enregistrement.RecordCount = 1 Then
        If enregistrement.Fields("Tarif") <> "" Then
            resultat = enregistrement.Fields("Tarif")
            FormTar1.Value = resultat
        End If
    End If
     
    End Sub


    Cordialement.

    Tristan.

  3. #3
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 078
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 078
    Points : 24 717
    Points
    24 717
    Par défaut
    Bonjour,

    C'est normal.

    Le type string (texte) doit TOUJOURS être entouré de simple ou double cote.

    ' ou " avec du SQL ACCESS.

    Avec les autres SQL il faut de la simple cote '.

    Doubler les simples ou les doubles cote quand elles sont dans une chaine.

    Cordialement,

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

Discussions similaires

  1. Trop peu de parametre 1attendu
    Par Kalvin_20 dans le forum VBA Access
    Réponses: 19
    Dernier message: 16/06/2008, 20h36
  2. trop peu de parametre 1 attendu
    Par driver dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 27/05/2008, 03h44
  3. erreur d'execution 3061.Trop peu de parametres.1 attendu
    Par morgan54 dans le forum VBA Access
    Réponses: 8
    Dernier message: 12/05/2008, 15h42
  4. erreur requete , trop peu de parametres?
    Par erox44 dans le forum VBA Access
    Réponses: 3
    Dernier message: 18/01/2008, 09h09
  5. Pb syntaxe SQL dans recodset: trop peu de parametre
    Par tAKAmAkA dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 03/02/2007, 00h31

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