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 :
Fonctionnement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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.
Voici mon code VBScript dans bartender :
Ce code fonctionne, il incrémente mais sur la ligne de réf "Cliorouge" par exemple uniquement, pas sur toutes les clio...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Avez-vous une idée de comment faire pour l'adapter en conséquence ?
Merci pour votre précieuse aide !
Partager