dodie84
Messages postés5Date d'inscriptionmardi 13 mai 2008StatutMembreDernière intervention19 mai 2008
-
19 mai 2008 à 15:55
CarSoftAja
Messages postés26Date d'inscriptionlundi 5 mai 2008StatutMembreDernière intervention21 mai 2008
-
20 mai 2008 à 17:18
Bonjour, j'ai un soucis avec mon code VBA qui ne veut pas marcher. Il est sur ouverture de mon formulaire.
Celui-ci a pour fonction de me rentrer automatiquement dans mon sous-formulaire (en mode feuille de données) pour un numéro de production (qui figure dans le formulaire), une année demandée, les douze mois de l'année et des stocks équivalents à zéros que l'utilisateur pourra modifier.
Je résume, première colonne on va retrouver 12 fois les numéros de production les uns en dessous des autres.
seconde colonne: on va retrouver 12 fois l'année les unes en dessous des autres.
troisième colonne: on va retrouver les 12 mois les uns en dessous des autres.
quatrième colonne: on va retrouver en face de chacune des douze lignes un stock de 0 que pourra changer l'utilisateur.
Mon problème, mon code marche sauf que quand je réouvre mon formulaire il va me réajouter encore les douze ligne pour une même année, ce que je ne veux pas. J'ai rajouter la fonction If IsNull... ci dessous mais du coup même s'il n'y a pas d'enregistrement cela ne me met plus rien.
Voici mon code:
PrivateSub Form_Open(Cancel AsInteger)
Dim I AsInteger' Représente les 12 mois, voir ci-dessous For-To-Next
Dim Z AsInteger' Représente l'année (voir ci-dessous divers possibilités)
Dim W AsInteger
Dim sql AsString' Variable dans laquelle on inscrit un code SQL variable selon I & Z
Z = InputBox("Saisir l'année ci-dessous", "Démo", Year(Date))' Interaction avec l'utilisateur (utile pour
' situation de fin d'année)
W = Me.NUM_PRODUCTION.Value' Représente le numéro de production qui va venir se mettre par défaut'
IfNot IsNull(DLookup("mois", "stock premier aout", "annee =" & Z))ThenExitSub
For I = 1To12' I prend les 12 valeurs des 12 mois
sql = "INSERT INTO [stock premier aout] ( mois, annee, [num production] ) VALUES ( " & I & ", " & Z & "," & W & ")"
DoCmd.RunSQL sql
Next I
EndSub
Si quelqu'un a une idée faite moi signe, merci beaucoup
Elodie