begin process at 2008 07 06 19:27:07
1 205 717 membres
280 nouveaux aujourd'hui
14 119 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : problème dans mon code VBA [ Base de données / Access ] (dodie84)

problème dans mon code VBA le 19/05/2008 15:55:22

dodie84
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

Re : problème dans mon code VBA le 20/05/2008 17:18:59

CarSoftAja
Bonjour,

Est-ce que le champ "annee" dans la table est bien un champ numérique ?

Car si ce champ annee est défini comme texte dans la table, la condition sera toujours fausse et le programme passera toujours par "Exit Sub"

Il faudrait alors remplacer la condition par:

If Not IsNull(DLookup("mois", "stock premier aout", "annee LIKE '" & Z & "'")) Then Exit Sub


Classé sous : code, mois, année, dessous, production

Participer à cet échange

Pub



Appels d'offres

WEB DESIGN
Budget : 1 000€
Plugin Dialer outlook
Budget : 2 000€
Travail graphique- ill...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS