Avoir un numéro de série
Fermé
omen123123
Messages postés
51
Date d'inscription
lundi 7 septembre 2015
Statut
Membre
Dernière intervention
1 mars 2019
-
22 févr. 2019 à 23:12
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 - 3 mars 2019 à 21:04
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 - 3 mars 2019 à 21:04
A voir également:
- Avoir un numéro de série
- Numero prive - Guide
- Liste de numéro de téléphone suspect 07 ✓ - Forum Mobile
- Identifier un numéro de gsm belgique ✓ - Forum Mobile
- Numero de serie idm ✓ - Forum Logiciels
- Word numéro de page 1/2 - Guide
7 réponses
yg_be
Messages postés
22720
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
23 avril 2024
1 476
23 févr. 2019 à 10:56
23 févr. 2019 à 10:56
bonjour, peux-tu partager le texte de la requête en format SQL?
omen123123
Messages postés
51
Date d'inscription
lundi 7 septembre 2015
Statut
Membre
Dernière intervention
1 mars 2019
2
23 févr. 2019 à 11:34
23 févr. 2019 à 11:34
j'ai mieux je partage la base si vous le permettez (par mail) ou bien je copie le code vba fourni par un ami :
le seul souci avec ce code c est qui ne permet pas le retour a zero des que je passe a un autre client.
Function fNumeroterSerie()
Dim odb As Database
Dim oRst As Recordset
Dim stRupture As String
Dim lgCompteur As Long
Set odb = CurrentDb
Set oRst = odb.OpenRecordset("RQ_MAJ_REF_AUTO", dbOpenDynaset)
Do Until oRst.EOF
' Rupture sur le code si nul ou même série
If Nz(oRst.Fields("REF_AUTO_GLOBAL"), "") <> stRupture Or IsNull(oRst.Fields("REF_AUTO_GLOBAL")) Then
stRupture = Nz(oRst.Fields("REF_AUTO_GLOBAL"), "")
lgCompteur = lgCompteur + 1
End If
oRst.Edit
oRst.Fields("REF_AUTO_GLOBAL") = lgCompteur
oRst.Update
oRst.MoveNext
Loop
oRst.Close
Set odb = Nothing
End Function
le seul souci avec ce code c est qui ne permet pas le retour a zero des que je passe a un autre client.
yg_be
Messages postés
22720
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
23 avril 2024
1 476
23 févr. 2019 à 11:47
23 févr. 2019 à 11:47
tu changes donc totalement de sujet.
si tu veux aller dans cette nouvelle direction:
- partage le code SQL de la requête RQ_MAJ_REF_AUTO
- explique quel est le nom du champ que tu appelles "client"
merci, quand tu partages du code VBA, de choisir "basic" comme type de code.
si tu veux aller dans cette nouvelle direction:
- partage le code SQL de la requête RQ_MAJ_REF_AUTO
- explique quel est le nom du champ que tu appelles "client"
merci, quand tu partages du code VBA, de choisir "basic" comme type de code.
omen123123
Messages postés
51
Date d'inscription
lundi 7 septembre 2015
Statut
Membre
Dernière intervention
1 mars 2019
2
23 févr. 2019 à 12:01
23 févr. 2019 à 12:01
rebonjour
1- ci apres le code de la requete :
SELECT IDCE.REF_AUTO_GLOBAL
FROM IDCE
WHERE (((IDCE.CODE_ETAT)="2" Or (IDCE.CODE_ETAT)="4" Or (IDCE.CODE_ETAT)="6") AND ((IDCE.CODE_PRODUIT)<>"W 1003 M"))
ORDER BY IDCE.REF_TIERS, IDCE.REF_AUTO_GLOBAL;
2- le champ client est le champ REF_TIERS
3 ci apres le code en vba basic
1- ci apres le code de la requete :
SELECT IDCE.REF_AUTO_GLOBAL
FROM IDCE
WHERE (((IDCE.CODE_ETAT)="2" Or (IDCE.CODE_ETAT)="4" Or (IDCE.CODE_ETAT)="6") AND ((IDCE.CODE_PRODUIT)<>"W 1003 M"))
ORDER BY IDCE.REF_TIERS, IDCE.REF_AUTO_GLOBAL;
2- le champ client est le champ REF_TIERS
3 ci apres le code en vba basic
Function fNumeroterSerie() Dim odb As Database Dim oRst As Recordset Dim stRupture As String Dim lgCompteur As Long Set odb = CurrentDb Set oRst = odb.OpenRecordset("RQ_MAJ_REF_AUTO", dbOpenDynaset) Do Until oRst.EOF ' Rupture sur le code si nul ou même série If Nz(oRst.Fields("REF_AUTO_GLOBAL"), "") <> stRupture Or IsNull(oRst.Fields("REF_AUTO_GLOBAL")) Then stRupture = Nz(oRst.Fields("REF_AUTO_GLOBAL"), "") lgCompteur = lgCompteur + 1 End If oRst.Edit oRst.Fields("REF_AUTO_GLOBAL") = lgCompteur oRst.Update oRst.MoveNext Loop oRst.Close Set odb = Nothing End Function
yg_be
Messages postés
22720
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
23 avril 2024
1 476
23 févr. 2019 à 12:17
23 févr. 2019 à 12:17
suggestion:
Function fNumeroterSerie() Dim odb As Database Dim oRst As Recordset Dim stRupture As String, stRuptClient As String Dim lgCompteur As Long Set odb = CurrentDb Set oRst = odb.OpenRecordset("RQ_MAJ_REF_AUTO", dbOpenDynaset) stRuptClient = "" lgCompteur = 0 Do Until oRst.EOF If Nz(oRst!REF_TIERS, "") <> stRuptClient Then ' rupture sur le client lgCompteur = 0 stRuptClient = Nz(oRst!REF_TIERS, "") stRupture = Nz(oRst.Fields("REF_AUTO_GLOBAL"), "") Else ' Rupture sur le code si nul ou même série If Nz(oRst.Fields("REF_AUTO_GLOBAL"), "") <> stRupture Or IsNull(oRst.Fields("REF_AUTO_GLOBAL")) Then stRupture = Nz(oRst.Fields("REF_AUTO_GLOBAL"), "") lgCompteur = lgCompteur + 1 End If End If oRst.Edit oRst.Fields("REF_AUTO_GLOBAL") = lgCompteur oRst.Update oRst.MoveNext Loop oRst.Close Set odb = Nothing End Function
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
omen123123
Messages postés
51
Date d'inscription
lundi 7 septembre 2015
Statut
Membre
Dernière intervention
1 mars 2019
2
23 févr. 2019 à 23:35
23 févr. 2019 à 23:35
rebonsoir be
j'ai une erreur au niveau de la ligne 12
j'ai une erreur au niveau de la ligne 12
If Nz(oRst!REF_TIERS, "") <> stRuptClient Then
yg_be
Messages postés
22720
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
23 avril 2024
1 476
24 févr. 2019 à 12:35
24 févr. 2019 à 12:35
le texte du message d'erreur peut souvent à déterminer comment éviter l'erreur.
suggestion:
suggestion:
Function fNumeroterSerie() Dim odb As Database Dim oRst As Recordset Dim stRupture As String, stRuptClient As String, reqsql As String Dim lgCompteur As Long Set odb = CurrentDb reqsql = "SELECT IDCE.REF_TIERS, IDCE.REF_AUTO_GLOBAL " _ + " FROM IDCE " _ + " WHERE (((IDCE.CODE_ETAT) = '2' Or (IDCE.CODE_ETAT) = '4' Or (IDCE.CODE_ETAT) = '6') And ((IDCE.CODE_PRODUIT) <> 'W 1003 M')) " _ + " ORDER BY IDCE.REF_TIERS, IDCE.REF_AUTO_GLOBAL " Set oRst = odb.OpenRecordset(reqsql, dbOpenDynaset) stRuptClient = "" lgCompteur = 0 Do Until oRst.EOF If Nz(oRst!REF_TIERS, "") <> stRuptClient Then ' rupture sur le client lgCompteur = 0 stRuptClient = Nz(oRst!REF_TIERS, "") stRupture = Nz(oRst.Fields("REF_AUTO_GLOBAL"), "") Else ' Rupture sur le code si nul ou même série If Nz(oRst.Fields("REF_AUTO_GLOBAL"), "") <> stRupture Or IsNull(oRst.Fields("REF_AUTO_GLOBAL")) Then stRupture = Nz(oRst.Fields("REF_AUTO_GLOBAL"), "") lgCompteur = lgCompteur + 1 End If End If oRst.Edit oRst.Fields("REF_AUTO_GLOBAL") = lgCompteur oRst.Update oRst.MoveNext Loop oRst.Close Set odb = Nothing End Function
omen123123
Messages postés
51
Date d'inscription
lundi 7 septembre 2015
Statut
Membre
Dernière intervention
1 mars 2019
2
25 févr. 2019 à 19:00
25 févr. 2019 à 19:00
yg_be
Messages postés
22720
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
23 avril 2024
1 476
27 févr. 2019 à 20:50
27 févr. 2019 à 20:50
quelle ligne pour cette erreur?
omen123123
Messages postés
51
Date d'inscription
lundi 7 septembre 2015
Statut
Membre
Dernière intervention
1 mars 2019
2
27 févr. 2019 à 21:10
27 févr. 2019 à 21:10
omen123123
Messages postés
51
Date d'inscription
lundi 7 septembre 2015
Statut
Membre
Dernière intervention
1 mars 2019
2
28 févr. 2019 à 22:39
28 févr. 2019 à 22:39
rebonsoir be
le code s est débloquer le seul souci qui reste est que j'aimerai si possible que si le champ : REF_AUTO_GLOBAL n'est pas en double je voudrai qu il n'affiche aucun numéro de serie.
je te remercie d avance
le code s est débloquer le seul souci qui reste est que j'aimerai si possible que si le champ : REF_AUTO_GLOBAL n'est pas en double je voudrai qu il n'affiche aucun numéro de serie.
je te remercie d avance
yg_be
Messages postés
22720
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
23 avril 2024
1 476
1 mars 2019 à 22:19
1 mars 2019 à 22:19
je ne comprends pas "si le champ REF_AUTO_GLOBAL n'est pas en double". peux-tu expliquer?
omen123123
Messages postés
51
Date d'inscription
lundi 7 septembre 2015
Statut
Membre
Dernière intervention
1 mars 2019
2
1 mars 2019 à 22:39
1 mars 2019 à 22:39
je veux dire que si la reference n'est pas reppété , le champ REF_AUTO_GLOBAL doit etre vide
et si le champ la reference est vide ,le champ REF_AUTO_GLOBAL doit etre vide
je te remercie d'avance pour t avoir occupé de mon probleme ca va vraiment me sauver le boulot
et si le champ la reference est vide ,le champ REF_AUTO_GLOBAL doit etre vide
je te remercie d'avance pour t avoir occupé de mon probleme ca va vraiment me sauver le boulot
omen123123
Messages postés
51
Date d'inscription
lundi 7 septembre 2015
Statut
Membre
Dernière intervention
1 mars 2019
2
1 mars 2019 à 22:47
1 mars 2019 à 22:47
yg_be
Messages postés
22720
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
23 avril 2024
1 476
3 mars 2019 à 21:04
3 mars 2019 à 21:04
cela change pas mal par rapport à ta demande initiale...