Dans le code qui suit, la requ=EAte update du paragraphe=20
11.3 n'est pas ex=E9cut=E9e si les lignes de "ralentisseur"=20
sont absentes.
Pourquoi ? Qelle est la solution s=E9rieuse =E0 ce probl=E8me ?
Merci
Renaud
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D
'*** Calcul de la liste de tous les dossiers concern=E9s ***
recTMP.Source =3D "SELECT * FROM Dossiers WHERE UCASE
(Reporting)=3D'E'"
recTMP.Open
recTMP.MoveFirst
Do
'*** Ouverture de la connexion au dossier ***
strCnn =3D _
"Provider=3DMicrosoft.Jet.OLEDB.4.0;Persist Security=20
Info=3DFalse;Data Source=3D" + _
strCheminI + recTMP.Fields("DosQuad")=20
& "\qcompta.mdb"
Set cnnCompta =3D New ADODB.Connection
cnnCompta.ConnectionString =3D strCnn
cnnCompta.Open
=20
'*** Cr=E9ation d'une commande pour la connexion ***
Set cmdCompta =3D New ADODB.Command
cmdCompta.ActiveConnection =3D cnnCompta
=20
'*** 11.1 R=E9cup=E9ration dans tmpMouvements des mouvements=20
analytiques seuls ***
cnnCompta.BeginTrans
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
jmn
Il faudrait voir le code complet, car dans votre exemple il n'y a pas d'EXECUTE de la requête ! Cela suffirait à expliquer la non exécution, ais j'imagine que l'instruction existe dans le VRAI code...
'*** 11.3 Marquage dans tmpMouvements des mouvements de générale ventilés en analytique *** 'Ralentisseur PlombDébut = Time Do While Time < DateAdd("s", 2, PlombDébut) Loop 'Ralentisseur, fin cnnTMP.BeginTrans strSQLTbl = "tmpMouvements AS M1 LEFT JOIN ... strSQLSet = "M1.Sta = 'Del'" strSQLWhe = clause where Call sub06SQLMàj(cmdTMP, strSQLTbl, strSQLSet, strSQLWhe) ' sub06SQLMàj fabrique une requête update
??? EXECUTE ???
cnnTMP.CommitTrans cnnCompta.Close recTMP.MoveNext Loop While Not recTMP.EOF
Il faudrait voir le code complet, car dans votre exemple il n'y a pas
d'EXECUTE de la requête ! Cela suffirait à expliquer la non exécution, ais
j'imagine que l'instruction existe dans le VRAI code...
'*** 11.3 Marquage dans tmpMouvements des mouvements de générale ventilés en
analytique ***
'Ralentisseur
PlombDébut = Time
Do While Time < DateAdd("s", 2, PlombDébut)
Loop
'Ralentisseur, fin
cnnTMP.BeginTrans
strSQLTbl = "tmpMouvements AS M1 LEFT JOIN ...
strSQLSet = "M1.Sta = 'Del'"
strSQLWhe = clause where
Call sub06SQLMàj(cmdTMP, strSQLTbl, strSQLSet, strSQLWhe)
' sub06SQLMàj fabrique une requête update
??? EXECUTE ???
cnnTMP.CommitTrans
cnnCompta.Close
recTMP.MoveNext
Loop While Not recTMP.EOF
Il faudrait voir le code complet, car dans votre exemple il n'y a pas d'EXECUTE de la requête ! Cela suffirait à expliquer la non exécution, ais j'imagine que l'instruction existe dans le VRAI code...
'*** 11.3 Marquage dans tmpMouvements des mouvements de générale ventilés en analytique *** 'Ralentisseur PlombDébut = Time Do While Time < DateAdd("s", 2, PlombDébut) Loop 'Ralentisseur, fin cnnTMP.BeginTrans strSQLTbl = "tmpMouvements AS M1 LEFT JOIN ... strSQLSet = "M1.Sta = 'Del'" strSQLWhe = clause where Call sub06SQLMàj(cmdTMP, strSQLTbl, strSQLSet, strSQLWhe) ' sub06SQLMàj fabrique une requête update
??? EXECUTE ???
cnnTMP.CommitTrans cnnCompta.Close recTMP.MoveNext Loop While Not recTMP.EOF
Renaud
Marseille, le 30/10/03 14:30 jmn,
D'abord merci pour votre mot. Votre imagination ne vous joue aucun tour et l'execute est présent dans le paragraphe 11.3 (comme dans les paragraphes 11.1 et 11.2). Sinon, comment expliqueriez vous que la requête soit exécutée lorsque le ralentisseur est présent. Pour explorer votre hypothèse, voici les lignes de sub06SQLMàj(cmdTMP, strSQLTbl, strSQLSet, strSQLWhe) qui sont d'ailleurs de la même eau que sub06SQLAjout :
========================= ========================= ========= ===== Private Sub sub06SQLMàj(cmdTMP, strSQLTbl, strSQLSet, strSQLWhe)
Dim strSQL As String '... concaténation des strsql(tbl, set et whe) passées en une strsql
cmdTMP.CommandText = strSQL cmdTMP.Execute
End Sub ========================= ========================= ========= =====
Marseille, le 30/10/03 14:30
jmn,
D'abord merci pour votre mot.
Votre imagination ne vous joue aucun tour et l'execute est
présent dans le paragraphe 11.3 (comme dans les
paragraphes 11.1 et 11.2). Sinon, comment expliqueriez vous
que la requête soit exécutée lorsque le ralentisseur est
présent.
Pour explorer votre hypothèse, voici les lignes de
sub06SQLMàj(cmdTMP, strSQLTbl, strSQLSet, strSQLWhe) qui
sont d'ailleurs de la même eau que sub06SQLAjout :
========================= ========================= =========
=====
Private Sub sub06SQLMàj(cmdTMP, strSQLTbl, strSQLSet,
strSQLWhe)
Dim strSQL As String
'... concaténation des strsql(tbl, set et whe) passées en
une strsql
cmdTMP.CommandText = strSQL
cmdTMP.Execute
End Sub
========================= ========================= =========
=====
D'abord merci pour votre mot. Votre imagination ne vous joue aucun tour et l'execute est présent dans le paragraphe 11.3 (comme dans les paragraphes 11.1 et 11.2). Sinon, comment expliqueriez vous que la requête soit exécutée lorsque le ralentisseur est présent. Pour explorer votre hypothèse, voici les lignes de sub06SQLMàj(cmdTMP, strSQLTbl, strSQLSet, strSQLWhe) qui sont d'ailleurs de la même eau que sub06SQLAjout :
========================= ========================= ========= ===== Private Sub sub06SQLMàj(cmdTMP, strSQLTbl, strSQLSet, strSQLWhe)
Dim strSQL As String '... concaténation des strsql(tbl, set et whe) passées en une strsql
cmdTMP.CommandText = strSQL cmdTMP.Execute
End Sub ========================= ========================= ========= =====
jmn
Cela ressemble à un problème de fonctionnement asynchrone de l'instruction précédente, alors que bien entendu, par défaut, les exécutions devraient être synchrones ! Si vous pouvez, jetez un coup d'oeil dans MSDN Library : ADO Programmer's guide, Section V, appendice A (Microsoft OLE DB provider for microsoft JET) qui décrit quelques paramètres pouvant influencer le fonctionnement d'ADO (et le forçage en mode asynchrone de l'execute sur l'objet command). Bonne chance.
Cela ressemble à un problème de fonctionnement asynchrone de l'instruction
précédente, alors que bien entendu, par défaut, les exécutions devraient
être synchrones !
Si vous pouvez, jetez un coup d'oeil dans MSDN Library : ADO Programmer's
guide, Section V, appendice A (Microsoft OLE DB provider for microsoft JET)
qui décrit quelques paramètres pouvant influencer le fonctionnement d'ADO
(et le forçage en mode asynchrone de l'execute sur l'objet command).
Bonne chance.
Cela ressemble à un problème de fonctionnement asynchrone de l'instruction précédente, alors que bien entendu, par défaut, les exécutions devraient être synchrones ! Si vous pouvez, jetez un coup d'oeil dans MSDN Library : ADO Programmer's guide, Section V, appendice A (Microsoft OLE DB provider for microsoft JET) qui décrit quelques paramètres pouvant influencer le fonctionnement d'ADO (et le forçage en mode asynchrone de l'execute sur l'objet command). Bonne chance.