Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : db.execute [ Base de données / ADO & DAO ] (petiflamand)

vendredi 22 février 2008 à 23:13:56 | db.execute

petiflamand

Bonjour , pouvez-vous me dire comment faire pour faire un db.execute pour le code qui suis
ici je fait une boucle pour trouver le ticket qui porte un numéro , mais sa prend longtemps si il y a
beaucoup de ticket 40000 a 100000
Merci

Set rd = db.OpenRecordset("journalier")
If Text5 = "" Then Text5 = "cash"
Do Until rd.EOF = True
If rd!nticket = principale.Text2 Then
rd.Edit
rd!mode_pay = Text5
rd.Update
End If
rd.MoveNext
Loop

samedi 23 février 2008 à 00:05:20 | Re : db.execute

LIBRE_MAX

Salut,
Mets ta requete dans une transaction.

Sub Mettre_A_Jour()
On Error Goto Err_U
DBEngine.WorkSpaces(0).BegineTrans 'débute la ransaction
db.execute "UPDATE journalier SET journalier.mode_pay = '" &  Text5.Text & _
"' WHERE (([journalier]![nticket]='" & principale.Text2  & "'));"
DBEngine.WorkSpaces(0).CommitTrans 'valide l' opération

Exit Sub
Err_U:
DBEngine.WorkSpaces(0).RollBack  'annule toutes les mises à jour en cas d' erreur.
MsgBox Err.Description
End Sub

                         



... Y'en a même qui disent qu'ils l'ont vu voler.



/P>

samedi 23 février 2008 à 10:49:04 | Re : db.execute

petiflamand

Merci de votre réponse , mais j'ai une erreur avec votre proposition

il ne reconnait pas --> .BegineTrans

je suis en VB6 et base de donnée acces

Merci

samedi 23 février 2008 à 12:06:02 | Re : db.execute

LIBRE_MAX

Bonjour,
Il a tout à fait raison de signaler l' erreur au niveau de Begine.
C' est plutôt BeginTrans.




... Y'en a même qui disent qu'ils l'ont vu voler.



/PRE>

dimanche 24 février 2008 à 10:36:48 | Re : db.execute

petiflamand

Bonjour Libre-Max

j'ai toujours une erreur , mais maintenent c'est
un objet est requit ????

Merci


dimanche 24 février 2008 à 15:19:30 | Re : db.execute

LIBRE_MAX

Bonjour ,
Mon intuition va pour Text5.Text

DBEngine.WorkSpaces(0).BeginTrans

db.execute "UPDATE journalier SET journalier.mode_pay = '" &  principale.Text5.Text & _
"' WHERE (([journalier]![nticket]='" & principale.Text2  & "'));"

DBEngine.WorkSpaces(0).CommitTrans 'valide l' opération

Sinon, envoies tout le code pour que je puisse situer l' erreur.

A+

				
				
				
						
								

... Y'en a même qui disent qu'ils l'ont vu voler.



/PRE>

dimanche 24 février 2008 à 15:55:38 | Re : db.execute

petiflamand

Pour le TEXT5 c'est bien text5 et pas principale.text5

Private Sub Command2_Click()

Dim db As DAO.Database
Dim rs As DAO.Recordset
Open App.Path & "\path.dat" For Input As #1
Line Input #1, a
Close #1
Set db = OpenDatabase(a)
'db.Execute (" INSERT INTO archive ( nticket, ncaisse, [date], heure, cod_prod, design, departement, prix_achat, prix_vente, quantité, pvente, mois, année, TOTAL ) SELECT caisse1.nticket, caisse1.ncaisse, caisse1.date, caisse1.heure, caisse1.cod_prod, caisse1.design, caisse1.departement, caisse1.prix_achat, caisse1.prix_vente, caisse1.quantité, caisse1.pvente, caisse1.mois, caisse1.année, caisse1.TOTAL FROM caisse1;")
db.Execute (" INSERT INTO archive ( opa,nticket, ncaisse, [date], heure, cod_prod, design, tva, departement, prix_achat, prix_vente, quantité, pvente, mois, année, TOTAL ) SELECT  caisse1.opa,caisse1.nticket, caisse1.ncaisse, caisse1.date, caisse1.heure, caisse1.cod_prod, caisse1.design, caisse1.tva, caisse1.departement, caisse1.prix_achat, caisse1.prix_vente, caisse1.quantité, caisse1.pvente, caisse1.mois, caisse1.année, caisse1.TOTAL FROM caisse1;")
db.Execute (" INSERT INTO ticket  ( opa,nticket, ncaisse, [date], heure, cod_prod, design, tva, departement, prix_achat, prix_vente, quantité, pvente, mois, année, TOTAL ) SELECT  caisse1.opa,caisse1.nticket, caisse1.ncaisse, caisse1.date, caisse1.heure, caisse1.cod_prod, caisse1.design, caisse1.tva, caisse1.departement, caisse1.prix_achat, caisse1.prix_vente, caisse1.quantité, caisse1.pvente, caisse1.mois, caisse1.année, caisse1.TOTAL FROM caisse1;")
db.Execute (" INSERT INTO journalier ( opa,numero_dep, tva, nticket, ncaisse, [date], heure, cod_prod, design, departement, prix_achat, prix_vente, quantité, pvente, mois, année, TOTAL ) SELECT  caisse1.opa,caisse1.numero_dep, caisse1.tva, caisse1.nticket, caisse1.ncaisse, caisse1.date, caisse1.heure, caisse1.cod_prod, caisse1.design, caisse1.departement, caisse1.prix_achat, caisse1.prix_vente, caisse1.quantité, caisse1.pvente, caisse1.mois, caisse1.année, caisse1.TOTAL FROM caisse1;")
db.Execute (" INSERT INTO moi (  opa,numero_dep, tva, nticket, ncaisse, [date], heure, cod_prod, design, departement, prix_achat, prix_vente, quantité, pvente, mois, année, TOTAL ) SELECT  caisse1.opa,caisse1.numero_dep, caisse1.tva, caisse1.nticket, caisse1.ncaisse, caisse1.date, caisse1.heure, caisse1.cod_prod, caisse1.design, caisse1.departement, caisse1.prix_achat, caisse1.prix_vente, caisse1.quantité, caisse1.pvente, caisse1.mois, caisse1.année, caisse1.TOTAL FROM caisse1;")
db.Execute (" INSERT INTO shift ( opa,numero_dep, tva, nticket, ncaisse, [date], heure, cod_prod, design, departement, prix_achat, prix_vente, quantité, pvente, mois, année, TOTAL ) SELECT  caisse1.opa,caisse1.numero_dep, caisse1.tva, caisse1.nticket, caisse1.ncaisse, caisse1.date, caisse1.heure, caisse1.cod_prod, caisse1.design, caisse1.departement, caisse1.prix_achat, caisse1.prix_vente, caisse1.quantité, caisse1.pvente, caisse1.mois, caisse1.année, caisse1.TOTAL FROM caisse1;")

'test mode payement
'Set db = OpenDatabase(App.Path & "\manager.mdb")
Set rd = db.OpenRecordset("ticket")
If Text5 = "" Then Text5 = "cash"
Do Until rd.EOF = True
If rd!nticket = principale.Text2 Then
rd.Edit
rd!mode_pay = Text5
rd.Update
End If
rd.MoveNext
Loop
'------------------------------------------
Set rd = db.OpenRecordset("journalier")
If Text5 = "" Then Text5 = "cash"
Do Until rd.EOF = True
If rd!nticket = principale.Text2 Then
rd.Edit
rd!mode_pay = Text5
rd.Update
End If
rd.MoveNext
Loop
'========================================
Set rd = db.OpenRecordset("moi")
If Text5 = "" Then Text5 = "cash"
Do Until rd.EOF = True
If rd!nticket = principale.Text2 Then
rd.Edit
rd!mode_pay = Text5
rd.Update
End If
rd.MoveNext
Loop
'=======================================
Set rd = db.OpenRecordset("archive")
If Text5 = "" Then Text5 = "cash"
Do Until rd.EOF = True
If rd!nticket = principale.Text2 Then
rd.Edit
rd!mode_pay = Text5
rd.Update
End If
rd.MoveNext
Loop
'=======================================
Set rd = db.OpenRecordset("shift")
If Text5 = "" Then Text5 = "cash"
Do Until rd.EOF = True
If rd!nticket = principale.Text2 Then
rd.Edit
rd!mode_pay = Text5
rd.Update
End If
rd.MoveNext
Loop
'=======================================
'jusque ici
db.Execute (" delete caisse1.* FROM caisse1;")
Set rs = db.OpenRecordset("ccompte1")
rs.Edit
rs!compteur = rs!compteur + 1
rs!compteur_journalier = rs!compteur_journalier + 1
rs.Update
rs.Close
db.Close

principale.Timer3.Enabled = True
JouerUnWav (App.Path & "\son\cash.wav")
If Text4 = "0,00" Then Command5_Click


Unload Me

 

End Sub


dimanche 24 février 2008 à 16:12:07 | Re : db.execute

LIBRE_MAX

 à partir de
'test mode payement
tu continues dans la même procédure

'pour la table journalier
DBEngine.WorkSpaces(0).BeginTrans
db.execute "UPDATE journalier SET journalier.mode_pay = '" & _  Text5.Text & _
"' WHERE (([journalier]![nticket]='" & principale.Text2  & "'));"
DBEngine.WorkSpaces(0).CommitTrans 'valide l' opération

et tu supprimes ou tu mets en comment bien sûr les lignes
'Set db = OpenDatabase(App.Path & "\manager.mdb")
Set rd = db.OpenRecordset("ticket")
If Text5 = "" Then Text5 = "cash"
Do Until rd.EOF = True
If rd!nticket = principale.Text2 Then
rd.Edit
rd!mode_pay = Text5
rd.Update
End If
rd.MoveNext
Loop

tu fais de même pour les tables ticket, moi, archive,
ccompte1,shift


				
				
				
						
								

... Y'en a même qui disent qu'ils l'ont vu voler.



/PRE>

dimanche 24 février 2008 à 16:16:31 | Re : db.execute

LIBRE_MAX

Réponse acceptée !
pardon !

la première table c' est ticket, et journalier après.
tu conserves le même shema de l' expression . Tu changes seulement le nom de la table et le nom des champs correspondants



... Y'en a même qui disent qu'ils l'ont vu voler.



/PRE>

dimanche 24 février 2008 à 16:51:03 | Re : db.execute

petiflamand

un tres grandMerci
cela fonctionne et c'est quand même plus rapide que mes boucle



1 2

Cette discussion est classé dans : db, execute, ticket, rd, text5


Répondre à ce message

Sujets en rapport avec ce message

Executer requete sur base access depuis vb [ par gplog ] Mr_totoSalut tout le monde, Voila : Je voudrai exécuter une requete pour que les champs "Nom" de ma table "Clients" soit triés par ordre alphabétiqu Impossible de créer mes tables (VB + Access) [ par opus32 ] Bonjour, je crée une base de données access en vb, la base est bien créée mais elle est vide, mes tables ne se créent pas.Voici mon code : Option Expl Date = null !!! [ par Ant8386 ] Bonsoir Je souhaite insérer dans un champ date de type date (AUTRE_DATE) d'une table Access (TB2) le résultat d'un recordset qui sélectionne des date requete acces [ par petiflamand ] Bonjour j'ai un probleme avec une commande acces c'est a dire que si je n'ai pas enregistrement j'ai une erreur .Avec le code si dessous vous allez pe Problême sur acces [ par petiflamand ] Bonjour , voici mon petit problême sur ce code si dessous , je fait une requete pour le total des plus et une dans le total des moins dans des tickets syntaxe pour faire des requêtes en boucle [ par yokulan ] J'aimerais faire une boucle avec ces requêtes pour optimisé le code. Est-ce que quelqu'un à la solution?    db.Execute sSQLUpdate1, dbFailOnError    d treeview et database (probleme) [ par waspy59 ] bonjour a tous, J'ai un petit soucis avec l'importation de donnée d'un DB vers un treeview. En fait c'est pas l'importation qui pose probleme mais l'o ca ne s'execute une deuxième fois!!!!!!!!!!!! [ par fatifole ] salut je viens de créer un programme en VB qui est lié a une base de imprimante a tiket [ par dahot1317 ] je veux votre orientation, je veux instaler un imprimante a ticket que remplace les reçue contient (le nom, prenom, les dates, chef, matricule, motif


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,406 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.