Incrémentation de BDD Excel suite impression étiquette
Bonjour à tous, ;)
Voilà j'utilise le logiciel BARTENDER pour imprimer des étiquettes de numéro de série de divers produits, qui se connecte à une base de donnée Excel.
Dans mon exemple, ce sera des voitures pour que ce soit plus facile pour tout le monde...
Voici ma base de donnée type excel :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
Réf Modèledebase Incrément
CLIOROUGE CLIO 250
CLIOVERTE CLIO 250
CLIOBLEU CLIO 250
CLIORS CLIO 250
TWINGORROSE TWINGO 125
TWINGO NOIRE TWINGO 125
MEGANEWRC MEGANE 513
MEGANELUXE MEGANE 513 |
Fonctionnement :
Lorsque j'imprime une étiquette de numéro de série pour une voiture, le soft Bartender se connecte au fichier excel et incrémente l'incrément du modèle de base, donc toutes les réf possibles pour ce modèle.
Exemple : si j'imprime une clio, l'incrément passe de 250 à 251 pour les réf "CLIOROUGE", "CLIOVERT", "CLIOBLEU", "CLIORS"....
De manière à ce que n'importe quelle Clio ai un numéro de série unique quelque soit la couleur. 8-)
Voici mon code VBScript dans bartender :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
'Called for each new record read from the current database selected.
'Define the object names.
dim objConn
dim strConn
dim rs
'Define the database connection parameter constants.
Const adOpenStatic = 3
Const adLockOptimistic = 3
Const adCmdText = &H0001
'Connect to the Excel file.
Set objConn = CreateObject("ADODB.Connection")
objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='C:\Seagull\BDD BARTENDER.xls';Extended Properties=""Excel 8.0;HDR=YES;"""
'Create a record set of one record which is the current record being printed.
Set rs = CreateObject("ADODB.Recordset")
rs.open "SELECT * FROM [Sheet1$]", objConn, adOpenStatic, adLockOptimistic, adCmdText
rs.Find "Réf = '" & Field("Sheet1$.Réf") & "'"
'Set the "Printed" field of the record to be "YES" thus flagging it as having been printed.
rs.Fields("Incrément") = (rs.Fields("Incrément").value + 1)
rs.Update |
Ce code fonctionne, il incrémente mais sur la ligne de réf "Cliorouge" par exemple uniquement, pas sur toutes les clio... :?
Avez-vous une idée de comment faire pour l'adapter en conséquence ? :roll:
Merci pour votre précieuse aide ! :ccool: