Bonjour à tous, j'ai actuellement une grosse base de donnée pour la gestion d'une épicerie sous access.
J'ai crée plusieurs formulaires et là j'aimerai créer un formulaire de saisie avec execution de la saisie en appuyant sur un bouton.
Voici ma table en MLDR : CATALOGUE (Ref_Catalogue, #N_Fournisseur, Libelle_Catalogue, Date_Catalogue)
Mon Formulaire "A_Catalogue" contien 3 champs de saisie pour la ref, le libellé et la date et une liste déroulante représentant la requete SQL suivante:
SELECT Libelle_Fournisseur FROM FOURNISSEUR;
Là pas de soucis.
Voici maintenant mon bouton Command4 avec la commande VB suivante:
Code :
- Private Sub Command4_Click()
- var1 = Forms!A_Catalogue!Ref_Catalogue
- var2 = (DoCmd.RunSQL("SELECT FOURNISSEUR.N_Fournisseur FROM FOURNISSEUR WHERE FOURNISSEUR.Libelle_Fournisseur=forms!A_Catalogue!Libelle_Fournisseur;" ))
- var3 = Forms!A_Catalogue!Libelle_Catalogue
- var4 = Forms!A_Catalogue!Date_Catalogue
- DoCmd.RunSQL ("INSERT INTO CATALOGUE VALUES ('var1','var2','var3','var3');" )
- DoCmd.Save
- DoCmd.Close
- DoCmd.OpenForm "Gestion_Catalogue"
- End Sub
|
Je suis novice en vba et je ne sais pas si mes déclarations de variables ni mes fonctions sont bonnes.
Lorsque j'appuis sur le bouton, il me donne le mésage d'érreur suivant:
Compile Error: Expected Fonction or Variable
Et le .RunSQL de var2 est en surbrillance.
Pouvez vous l'aider à affiner mon code?
Merci d'avance
EDIT
---------------
J'ai modifié la commande, je pense que je ne suis pas très loin, je ne pense pas avoir besoin de déclarer mes variables, je pense que inserer les saisies de chaques champs dans la requete insert est suffisant mais je m'y prend peut etre mal car j'ai un message d'erreur.
Voici ma commande:
Code :
- Private Sub Command4_Click()
- DoCmd.RunSQL "INSERT INTO CATALOGUE (Ref_Catalogue,N_Fournisseur,Libelle_Catalogue,Date_Catalogue) VALUES ('& Forms!A_Catalogue!Ref_Catalogue &','(SELECT FOURNISSEUR.N_Fournisseur FROM FOURNISSEUR WHERE FOURNISSEUR.Libelle_Fournisseur='& Forms!A_Catalogue!Libelle_Fournisseur &')','& Forms!A_Catalogue!Libelle_Catalogue &','& Forms!A_Catalogue!Date_Catalogue &');"
- DoCmd.Save
- DoCmd.Close
- DoCmd.OpenForm "Gestion_Catalogue"
- End Sub
|
La requete s'execute mais il y a un message d'avertissement:
Message édité par harry le ravi le 27-06-2008 à 15:09:46