Avoir un numéro de série
Fermé
omen123123
Messages postés
52
Date d'inscription
lundi 7 septembre 2015
Statut
Membre
Dernière intervention
7 octobre 2024
-
22 févr. 2019 à 23:12
yg_be Messages postés 23352 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 novembre 2024 - 3 mars 2019 à 21:04
yg_be Messages postés 23352 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 novembre 2024 - 3 mars 2019 à 21:04
A voir également:
- Avoir un numéro de série
- Numero prive - Guide
- Word numéro de page 1/2 - Guide
- Numéro père noël whatsapp - Accueil - Messagerie instantanée
- Numero clavier ✓ - Forum Bureautique
- Télécharger idm gratuitement sans numéro de série ✓ - Forum Logiciels
7 réponses
yg_be
Messages postés
23352
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 novembre 2024
Ambassadeur
1 554
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
52
Date d'inscription
lundi 7 septembre 2015
Statut
Membre
Dernière intervention
7 octobre 2024
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
23352
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 novembre 2024
1 554
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
52
Date d'inscription
lundi 7 septembre 2015
Statut
Membre
Dernière intervention
7 octobre 2024
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
23352
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 novembre 2024
Ambassadeur
1 554
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
52
Date d'inscription
lundi 7 septembre 2015
Statut
Membre
Dernière intervention
7 octobre 2024
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
23352
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 novembre 2024
1 554
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
52
Date d'inscription
lundi 7 septembre 2015
Statut
Membre
Dernière intervention
7 octobre 2024
2
25 févr. 2019 à 19:00
25 févr. 2019 à 19:00
yg_be
Messages postés
23352
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 novembre 2024
1 554
27 févr. 2019 à 20:50
27 févr. 2019 à 20:50
quelle ligne pour cette erreur?
omen123123
Messages postés
52
Date d'inscription
lundi 7 septembre 2015
Statut
Membre
Dernière intervention
7 octobre 2024
2
27 févr. 2019 à 21:10
27 févr. 2019 à 21:10
omen123123
Messages postés
52
Date d'inscription
lundi 7 septembre 2015
Statut
Membre
Dernière intervention
7 octobre 2024
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
23352
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 novembre 2024
1 554
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
52
Date d'inscription
lundi 7 septembre 2015
Statut
Membre
Dernière intervention
7 octobre 2024
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
52
Date d'inscription
lundi 7 septembre 2015
Statut
Membre
Dernière intervention
7 octobre 2024
2
1 mars 2019 à 22:47
1 mars 2019 à 22:47
yg_be
Messages postés
23352
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 novembre 2024
1 554
3 mars 2019 à 21:04
3 mars 2019 à 21:04
cela change pas mal par rapport à ta demande initiale...