Bonjour,
Je voudrais monitorer le résultat d'une requête insert d'une collection ADODB
via la commande monrecordset.execute StrSql
Par moment, la requête n'aboutie pas et je ne sais pas pourquoi
Y a-t-il un moyen ?
Merci
Bonjour,
Je voudrais monitorer le résultat d'une requête insert d'une collection ADODB
via la commande monrecordset.execute StrSql
Par moment, la requête n'aboutie pas et je ne sais pas pourquoi
Y a-t-il un moyen ?
Merci
Bonjour,
As-tu activé la trace dans le gestionnaire ODBC ?
As-tu mis des options avec ta commande Execute ?
Cordialement,
Voici mon code source :
J'ai un problème aléatoire avec l'ajout d'un record dans GIPAVE et PICIND
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77 Sub AS400() Dim oCnAS400 As New ADODB.Connection Dim oCnAccess As New ADODB.Connection Dim oRsAccess, oRsChange As New ADODB.Recordset Dim StrSql As String 'Connexion à Access With oCnAccess .Provider = "Microsoft.ACE.OLEDB.12.0" .ConnectionString = "\\DATA1\SAV\Quotations SAV\DB\DB Gestion des Offres SAV.accdr" .Open 'MsgBox .State End With 'Connexion à AS400 With oCnAS400 .Provider = "IBMDA400" .ConnectionString = "Data Source=AS400;Catalog Library List=MEURAM;User Id=CLUSMAN;Password=OVER" .Open 'MsgBox .State End With StrSql = "SELECT * FROM TblOffreEnt WHERE TblOffreEnt.oenumero =" & Me.oenumero Set oRsAccess = oCnAccess.Execute(StrSql) If Not (oRsAccess.BOF And oRsAccess.EOF) Then 'Ajouter un record dans GIPAFG StrSql = "INSERT INTO MEURAM.GIPAFG ( ENR , MAJ, FLM, CONNAT, CONTYP, CONNUM, SER, AFFB, CLSC, GEO, PAY, CLCLI, CLUSI, NOM, TAX, REV, ACT, NATB, TYPB, DAC, DAP, DAM, CLSD, PLAN, REP )" & _ " VALUES(" & "'005', " & _ "'" & Format(Val(Day(oRsAccess!oedatenvoicde)), "00") & Format(Val(Month(oRsAccess!oedatenvoicde)), "00") & Val(Year(oRsAccess!oedatenvoicde)) & "', " & _ "'1', " & _ "'1'" & ", " & "'7'" & ", " & "'" & oRsAccess!oenaff & "', " & _ "'730', " & "'" & oRsAccess!oenumero & "', " & _ "'W', " & "'" & Mid(oRsAccess!oenumcli, 1, 1) & "', " & _ "'" & oRsAccess!oecodpays & "', " & _ "'" & Mid(oRsAccess!oenumcli, 1, 5) & "', " & _ "'" & Mid(oRsAccess!oenumcli, 6, 2) & "', " & _ "'" & oRsAccess!oenomaff & "', " & _ "'H.T', " & "'F', " & "'8', " & "'8', " & "'1', " & _ "'" & Format(Val(Day(oRsAccess!oedatconfcde)), "00") & Format(Val(Month(oRsAccess!oedatconfcde)), "00") & Val(Year(oRsAccess!oedatconfcde)) & "', " & _ "'12" & Val(Year(oRsAccess!oedatenvoicde)) & "', " & _ "'" & Format(Val(Month(oRsAccess!oedatliv)), "00") & Val(Year(oRsAccess!oedatliv)) & "', " & _ "'" & Format(Val(Day(oRsAccess!oedatconfcde)), "00") & Format(Val(Month(oRsAccess!oedatconfcde)), "00") & Val(Year(oRsAccess!oedatconfcde)) & "', " & _ "'24', " & "'" & oRsAccess!oeresp & "'" & ")" oCnAS400.Execute StrSql 'Ajouter un record dans GIPAVE StrSql = "SELECT * FROM TblChange WHERE TblChange.chdev =" & Chr(34) & Me.oedev & Chr(34) Set oRsChange = oCnAccess.Execute(StrSql) StrSql = "INSERT INTO MEURAM.GIPAVE ( CONNAT, CONTYP, CONNUM, AVE, DTE, MTV, MTD, CDV, CCREFD, CCREFC, CCAMJ, CCDTC, CCLANC )" & _ " VALUES(" & "'1'" & ", " & "'7'" & ", " & "'" & oRsAccess!oenaff & "', " & "'00', " & _ "'" & Format(Val(Month(oRsAccess!oedatenvoicde)), "00") & Val(Year(oRsAccess!oedatenvoicde)) & "', " & FormatNumber(oRsAccess!oepxgen * oRsChange!chtaux, 2) & ", " & oRsAccess!oepxgen & ", " & "'" & oRsAccess!oedev & "', " & _ "'" & Val(Year(oRsAccess!oedatconfcde)) & Format(Val(Month(oRsAccess!oedatconfcde)), "00") & Format(Val(Day(oRsAccess!oedatconfcde)), "00") & "', " & _ "'" & Mid(oRsAccess!oerefcde, 1, 15) & "', " & _ "'" & Val(Year(oRsAccess!oedatenvoicde)) & Format(Val(Month(oRsAccess!oedatenvoicde)), "00") & Format(Val(Day(oRsAccess!oedatenvoicde)), "00") & "', " & _ "'" & Val(Year(oRsAccess!oedatconfcde)) & Format(Val(Month(oRsAccess!oedatconfcde)), "00") & Format(Val(Day(oRsAccess!oedatconfcde)), "00") & "', " & _ "'1'" & ")" oCnAS400.Execute StrSql 'Ajouter un record dans PICIND StrSql = "INSERT INTO MEURAM.PICIND ( AFF, NAT, TYP, SWI, IND, DDM )" & _ " VALUES(" & "'" & oRsAccess!oenaff & "', " & "'1', " & "'7', " & "'I', " & "'00', " & "'" & Format(Val(Day(Now)), "00") & Format(Val(Month(Now)), "00") & Val(Year(Now)) & "')" oCnAS400.Execute StrSql 'Ajouter un record dans GIPTAB01 StrSql = "INSERT INTO MEURAM.GIPTAB01 ( CONNAT, CONTYP, CONNUM, AALIN, AASEQ, STDMAJ )" & _ " VALUES(" & "'1', " & "'7', " & "'" & oRsAccess!oenaff & "', " & "'00000', " & "'C0000', " & "'" & Val(Year(Now)) & Format(Val(Month(Now)), "00") & Format(Val(Day(Now)), "00") & "')" oCnAS400.Execute StrSql End If oRsAccess.Close oRsChange.Close oCnAccess.Close oCnAS400.Close 'Libération de la mémoire Set oCnAS400 = Nothing Set oCnAccess = Nothing End Sub
Bonjour,
Via ODBC il n'y a qu'une méthode coté client pour observer le déroulement des requêtes, il faut allez dans :
Panneau de config/Outils d'administration/Source de données ODBC.
Là il y a un onglet Traçage.
Voir coté serveur (AS400) s'il existe le même dispositif, je ne doute pas de son existence.
Enfin avec ta commande Execute il y a des paramètres qui peuvent améliorer les perfos et résoudre certains problèmes.
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
et notamment ici :
http://vb.developpez.com/bidou/recor...rappelado#LVII
Ce n'est pas facile de répondre sur des problèmes aléatoires. Peut-être qu'il y a une astuce avec l'AS400, un truc à ne pas faire via ADO, un paramètre à utiliser (comme le dbseechanges de DAO)...
Bref, je te souhaite bonne chance dans tes recherches n'hésite pas à nous informer de tes découvertes.
Cordialement,
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager