Bonjour à tous, j'ai actuellement une grosse base de donnée pour la gestion d'une épicerie sous access que je dois rendre Lundi et j'aimerai qu'elle soit nickel pour ma présentation au Prof.
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 :
1 2 3 4 5 6 7 8 9 10
| 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 :
1 2 3 4 5 6
| 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:
Partager