Silex18
-
Modifié par Silex18 le 1/10/2010 à 10:51
Silex18 -
1 oct. 2010 à 11:37
Bonjour,
Lors de la création d'une base de données access 2007, je devais créer un numéro de produit auto et personnalisé du style 000822276500116.
Dans ce numéro la partie 0008222 (début) et le numero 16 (a la fin) ne change jamais.
En revanche le 765 peut changer selon le produit créer (par rapport à 2 liste déroulante), ex : si le produit concerne un produit fasttrack alors ce numéro sera 795, si c'est un spécial alors ce sera 765 (voir le code vous comprendrez).
Et donc pour le numéro auto, dans l'exemple ici 001, je me suis basé sur le numéro auto du produit : champs "prd_id_prd".
Mais malheureusement pour moi cela a changé et je dois faire en sorte que la numérotation auto du de ce numero soit différente selon si c'est un fasttrack, spécial, derived.
Donc en somme si c'est un fastrack (795) je debute la numérotation auto à 001.
si c'est un spécial (765) je comme la numérotion à 500.
si c'est un led (764) je comme la numerotation à 530.
et sinon autre choix (766), je comme aussi à 530 .
Donc cela me change tout, ce que j'avais deja mis en place et je dois dire que je suis complétement perdu.
Voici mon code :
If Me.type.Value = "Fast Track" Then
sav_prd_typ = "795"
Else
If Me.type.Value = "Special" Then
sav_prd_typ = "765"
Else
If Me.techno.Value = "LED" Then
sav_prd_typ = "764"
Else
sav_prd_typ = "766"
End If
End If
End If
If Not IsNull(Me.prd_12nc) Then
Me.prd_12nc = Null
End If
If IsNull(Me.prd_12nc) Then
Me.prd_12nc = "0008222" & sav_prd_typ & Format(Me.prd_id_prd, "000") & 16
End If
Je pense que quelque chose come cela devrait le faire :
Si le type (choix dans liste déroulante) est "fast track" alors sav_prd_typ = 795
Et la numérotation auto commencera à 001.
Sinon si le type est "spécial" alors sav_prd_typ = 765
Et la numérotation auto commencera à 500.
Sinon si la techno (choix dans 2ieme liste déroulante) est "led" alors sav_prd_typ = 764
Et la numérotation auto commencera à 530.
Sinon sav_prd_typ = 766
Et la numérotation auto commencera à 530.
Mon probleme est que je n'arrive pas à retranscrire cela en VBA.
Merci pour votre aide.