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 :

[A97] : Requête Ajout selon une combobox et une textbox


Sujet :

IHM

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 310
    Points : 139
    Points
    139
    Par défaut [A97] : Requête Ajout selon une combobox et une textbox
    Bonjour à tous,

    Je souhaite ajouter dans une table 1 enregistrements contenant des infos sur un article.
    Pour ce faire j'ai crée un formulaire contenant 1 combobox et 1 textbox.
    Les données de la combobox sont issues d'une autre table et dans la textbox j'ai un numérique/octet.

    Voici donc la procédure que j'ai crée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub cmdCreaArt_Click()
    Dim oDB As DAO.Database
    Set oDB = CurrentDb
        oDB.Execute "INSERT INTO tblDataArticle(CCArticle, Version)" & _
                        " SELECT Table.Artcc, " & Me.txtCreaArt.Value & "" & _
                            " WHERE (Table.Artcc = " & Me.cboCreaArt.Value & ")"
    End Sub
    Malheureusement je tombe en erreur 3075 Erreur de syntaxe (opérateur absent" dans l'expression '2468 WHERE (Table.Artcc = 3247)'

    Les controles sont donc bien reconnues mais impossible de savoir ce qu'il manque.

    Merci d'avance pour votre aide.
    @+

  2. #2
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 316
    Points : 367
    Points
    367
    Par défaut
    Bonjour,

    il manque le from matable après le Select.

    A+

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 310
    Points : 139
    Points
    139
    Par défaut
    Citation Envoyé par soltani1
    il manque le from matable après le Select.
    Bonjour Soltani, Bonjour à tous,

    Si je mets un derrière le je tombe en 3346 : Le nombre de valeur de la requête doit coïncider avec le nombre de champs destination.

    Si je le mets après le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    " SELECT Table.Artcc, " & Me.txtCreaArt.Value & "
    la procédure s'éxécute jusqu'au bout mais rien n'a été crée dans la table...!

    Merci d'avance.

  4. #4
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 316
    Points : 367
    Points
    367
    Par défaut
    Bonjour,

    Essaie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    INSERT INTO tblDataArticle(CCArticle, Version)" & _
                        " SELECT Table.Artcc, " & Me.txtCreaArt.Value & "" & _
                        " FROM  Table WHERE (Table.Artcc = " & Me.cboCreaArt.Value & ")"
    A+

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 310
    Points : 139
    Points
    139
    Par défaut
    Re,

    J'ai fait l'essai, j'ai la même chose que le 2ème cas :
    La procédure s'éxécute jusqu'au bout mais rien n'a été crée dans la table...!

    Merci

  6. #6
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 316
    Points : 367
    Points
    367
    Par défaut
    Bonjour,

    en principe la requête est bonne essaie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    " SELECT Table.Artcc, " & Me.txtCreaArt.Value & "" & _
                            " WHERE (Table.Artcc = " & Me.cboCreaArt.Value & ")"
    pour voir s'il renvoie des enregistrements.

    A+

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 310
    Points : 139
    Points
    139
    Par défaut
    Re,

    J'ai tester ta syntaxe, il me renvoi en erreur de syntaxe (opérateur absent) comme j'ai au départ de ce post.

    Merci

  8. #8
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 316
    Points : 367
    Points
    367
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    " SELECT Table.Artcc, " & Me.txtCreaArt.Value & _
                            " WHERE Table.Artcc = " & Me.cboCreaArt.Value
    txtCreaArt et cboCreaArt sont de quel type?

    A+

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 310
    Points : 139
    Points
    139
    Par défaut
    Citation Envoyé par soltani1
    txtCreaArt et cboCreaArt sont de quel type?
    Re,

    -> cboCreaArt Zone de Liste modifiable basée sur le champ d'une table en Numérique Entier Long.
    Pas de soucis sur les champs de la table source et de la destinataire.

    -> txtCreaArt Zone de Texte


    Merci

  10. #10
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 316
    Points : 367
    Points
    367
    Par défaut
    Bonjour,

    si tu fais un select seulement
    " SELECT Table.Artcc, " & Me.txtCreaArt.Value & _
    " WHERE Table.Artcc = " & Me.cboCreaArt.Value

    y a t-il des enregistrements renvoyés?
    fait un debug.print

    A+

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 310
    Points : 139
    Points
    139
    Par défaut
    Citation Envoyé par soltani1
    y a t-il des enregistrements renvoyés?
    Re,

    Non je tombe en erreur avant ! Voir l'impr. écran, j'ai tjs cette erreur d'opérateur ! Je dois oublier qq chose mais je ne vois pas quoi !

    Merci.

    P.S. Sur l'image vous avez ARTST à la place de Table mais c'est normal ;-)

  12. #12
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 316
    Points : 367
    Points
    367
    Par défaut
    Bonjour,

    il manque le From table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    si tu fais un select seulement 
    " SELECT Table.Artcc, " & Me.txtCreaArt.Value & _
    " FROM TABLE WHERE Table.Artcc = " & Me.cboCreaArt.Value
    Essaie cette requête sans le INSERT INTO pour voir s'il revoie des enregistrements.

    A+

  13. #13
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 310
    Points : 139
    Points
    139
    Par défaut
    Citation Envoyé par soltani1
    Bonjour,

    il manque le From table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    si tu fais un select seulement 
    " SELECT Table.Artcc, " & Me.txtCreaArt.Value & _
    " FROM TABLE WHERE Table.Artcc = " & Me.cboCreaArt.Value
    Essaie cette requête sans le INSERT INTO pour voir s'il revoie des enregistrements.

    A+
    Bonjour,

    Avec ta requête il me renvoie un "Type de données" incompatible dans l'expression du critère".

    @+

  14. #14
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 316
    Points : 367
    Points
    367
    Par défaut
    Bonjour,

    Type de données incompatibles c'est que les types sont différents.
    Si un champ est de type caractère il faut que la valeur recherchée est de type caractère ...

    A+

  15. #15
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 310
    Points : 139
    Points
    139
    Par défaut
    Re,

    Toutes mes données sont en théorie compatible car la combobox affiche du texte mais il s'agit d'une valeur numérique qui est stockée !
    Le pb ne vient pas de la zone de texte car si je l'enlève l'insertion ne se fait pas non plus !

    Merci

  16. #16
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 316
    Points : 367
    Points
    367
    Par défaut
    Bonjour,

    Essaie de cette façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    " SELECT Table.Artcc, 99 FROM TABLE WHERE Table.Artcc = 21555"
    c'est un exemple pour voir sans les controles ce que la requête renvoie.

    A+

  17. #17
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 310
    Points : 139
    Points
    139
    Par défaut
    ça passe ss prob...

  18. #18
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 316
    Points : 367
    Points
    367
    Par défaut
    Bonjour,

    Donc le problème c'est dans les types de données entre les champs et les contrôles du formulaires.

    A+

  19. #19
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 310
    Points : 139
    Points
    139
    Par défaut
    Citation Envoyé par soltani1
    Donc le problème c'est dans les types de données entre les champs et les contrôles du formulaires.
    Re,

    J'ai mis une image des propriétés des contrôles du formulaire ainsi que de la table source et de la table destinataire.
    Si vous voyez une incohérence je suis preneur ;-)

    Je rappelle le code utilisé initialement qui semble fonctionner mais qui n'a aucune incidence sur la table destinataire :-)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        oDB.Execute "INSERT INTO tblDataMoule(CCMoule, Version)" & _
                        " SELECT ARTST.Artcc, " & Me.txtCreaArtMoule.Value & "" & _
                            " FROM ARTST WHERE (ARTST.Artcc = " & Me.cboCreaArtMoule.Value & ")"

    Merci à tous :-)

  20. #20
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 316
    Points : 367
    Points
    367
    Par défaut
    Bonjour,

    Déclare 2 variables de type entier long et affecte :
    Var1 = Me.txtCreaArtMoule.Value
    Var2 = Me.cboCreaArtMoule.Value

    dans la requête(fait un Select seuleument sans Insert pour voir le recodset s'il est vide ou il y a un message d'erreur)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    "SELECT ARTST.Artcc, " & Var1 & "" & _
                            " FROM ARTST WHERE (ARTST.Artcc = " & Var2 & ")"
    A+

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [Débutant] Récupérer une valeur d'une combobox via une SortedList
    Par smurfing dans le forum VB.NET
    Réponses: 1
    Dernier message: 18/03/2013, 13h32
  2. Comment faire une recherche dans une combobox et une sélection automatique
    Par VictoriusDan dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/12/2009, 16h17
  3. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  4. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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