Bonjour,

Étant novice et malgré avoir épluché pas mal de pages sur le forum, je ne trouve pas d'indice pour résoudre mon problème.

Voici la procédure dont le but est de récupérer les données d'une table wj_indemnisation(sybase) et de les transférer vers la même table mais sur mysql :
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
78
79
80
81
82
83
84
85
86
87
88
89
90
Private Sub remplir_wj_indemnisation(ByRef base As ADODB.Connection, ByRef base2 As ADODB.Connection)
 
Dim rs_wj_indemnisation As ADODB.Recordset
Dim rs_insert As ADODB.Connection
Dim i As Long
Dim Tab_wj_indemnisation As Variant
Dim insert_part1 As String
Dim insert_part2 As String
Dim insert_part3 As String
Dim insert_part4 As String
Dim requete_insert As String
Dim cmd As ADODB.Command
 
Set cmd = New ADODB.Command
    cmd.CommandText = "wj_indemnisation"
    cmd.ActiveConnection = "Provider=MSDASQL.1;Persist Security Info=True;User ID=hf_admaa;Data Source=ODBC_U7;Password=hf_admaa;DB=hf_siloe_aa"
 
Set rs_wj_indemnisation = New ADODB.Recordset
    rs_wj_indemnisation.Open cmd, , adOpenKeyset, adLockOptimistic, adCmdTableDirect
 
i = 0
rs_wj_indemnisation.MoveFirst
While Not (rs_wj_indemnisation.EOF)
    i = i + 1
    rs_wj_indemnisation.MoveNext
Wend
 
rs_wj_indemnisation.MoveFirst
ReDim Tab_wj_indemnisation(i, 45) As String
 
i = 0
While Not rs_wj_indemnisation.EOF
    Tab_wj_indemnisation(i, 0) = rs_wj_indemnisation("bosco").Value
    Tab_wj_indemnisation(i, 1) = rs_wj_indemnisation("bosco_aberrant").Value
    Tab_wj_indemnisation(i, 2) = rs_wj_indemnisation("ca_facture").Value
    Tab_wj_indemnisation(i, 3) = rs_wj_indemnisation("chk_controle_interne").Value
    Tab_wj_indemnisation(i, 4) = rs_wj_indemnisation("coclico").Value
    Tab_wj_indemnisation(i, 5) = rs_wj_indemnisation("coclico_aberrant").Value
    Tab_wj_indemnisation(i, 6) = rs_wj_indemnisation("commentaire").Value
    Tab_wj_indemnisation(i, 7) = rs_wj_indemnisation("controleinterne").Value
    Tab_wj_indemnisation(i, 8) = rs_wj_indemnisation("delai_ach_aberrant").Value
    Tab_wj_indemnisation(i, 9) = rs_wj_indemnisation("dt_calcul").Value
    Tab_wj_indemnisation(i, 10) = rs_wj_indemnisation("dt_controle_ri").Value
    Tab_wj_indemnisation(i, 11) = rs_wj_indemnisation("dt_demande_aberrant").Value
    Tab_wj_indemnisation(i, 12) = rs_wj_indemnisation("dt_edition_aberrant").Value
    Tab_wj_indemnisation(i, 13) = "0"
    Tab_wj_indemnisation(i, 14) = rs_wj_indemnisation("dt_impression_aberrant").Value
    Tab_wj_indemnisation(i, 15) = rs_wj_indemnisation("dt_reception_flux").Value
    Tab_wj_indemnisation(i, 16) = rs_wj_indemnisation("dt_reclamation_client").Value
    Tab_wj_indemnisation(i, 17) = rs_wj_indemnisation("flag_acompte").Value
    Tab_wj_indemnisation(i, 18) = rs_wj_indemnisation("id_campagne").Value
    Tab_wj_indemnisation(i, 19) = rs_wj_indemnisation("id_client").Value
    Tab_wj_indemnisation(i, 20) = rs_wj_indemnisation("id_contrat").Value
    Tab_wj_indemnisation(i, 21) = "0"
    Tab_wj_indemnisation(i, 22) = rs_wj_indemnisation("id_indemnisation").Value
    Tab_wj_indemnisation(i, 23) = rs_wj_indemnisation("id_premiere_indemn").Value
    Tab_wj_indemnisation(i, 24) = rs_wj_indemnisation("id_type_contrat").Value
    Tab_wj_indemnisation(i, 25) = rs_wj_indemnisation("libelle_contrat").Value
    Tab_wj_indemnisation(i, 26) = rs_wj_indemnisation("login").Value
    Tab_wj_indemnisation(i, 27) = rs_wj_indemnisation("montant_indemnisation").Value
    Tab_wj_indemnisation(i, 28) = rs_wj_indemnisation("nature_op").Value
    Tab_wj_indemnisation(i, 29) = rs_wj_indemnisation("nom_client").Value
    Tab_wj_indemnisation(i, 30) = rs_wj_indemnisation("nom_utilisateur").Value
    Tab_wj_indemnisation(i, 31) = rs_wj_indemnisation("num_phare").Value
    Tab_wj_indemnisation(i, 32) = rs_wj_indemnisation("numcheque").Value
    Tab_wj_indemnisation(i, 33) = rs_wj_indemnisation("NumCheque_aberrant").Value
    Tab_wj_indemnisation(i, 34) = rs_wj_indemnisation("numPhare_aberrant").Value
    Tab_wj_indemnisation(i, 35) = rs_wj_indemnisation("ordre_cheque").Value
    Tab_wj_indemnisation(i, 36) = rs_wj_indemnisation("prix_par_plis").Value
    Tab_wj_indemnisation(i, 37) = rs_wj_indemnisation("prix_par_plisOAF").Value
    Tab_wj_indemnisation(i, 38) = rs_wj_indemnisation("qs_national").Value
    Tab_wj_indemnisation(i, 39) = rs_wj_indemnisation("taux_qs_nationale").Value
    Tab_wj_indemnisation(i, 40) = rs_wj_indemnisation("type_contrat").Value
    Tab_wj_indemnisation(i, 41) = rs_wj_indemnisation("TypeIndemn").Value
    Tab_wj_indemnisation(i, 42) = rs_wj_indemnisation("Val_indemn_aberrant").Value
    Tab_wj_indemnisation(i, 43) = rs_wj_indemnisation("valide").Value
    Tab_wj_indemnisation(i, 44) = rs_wj_indemnisation("volume").Value
 
    insert_part1 = "INSERT INTO wj_indemnisation (bosco, bosco_aberrant, ca_facture, chk_controle_interne, coclico, coclico_aberrant,commentaire , controleinterne, delai_ach_aberrant,dt_calcul, dt_controle_ri, dt_demande_aberrant,dt_edition_aberrant, dt_impr, dt_impression_aberrant,dt_reception_flux, dt_reclamation_client, flag_acompte,id_campagne, id_client, id_contrat,id_indemn_complement,id_indemnisation , id_premiere_indemn,id_type_contrat , libelle_contrat, login, montant_indemnisation, nature_op, nom_client, nom_utilisateur,num_phare, numcheque, NumCheque_aberrant, numPhare_aberrant, ordre_cheque, prix_par_plis, prix_par_plisOAF, qs_national,taux_qs_nationale, type_contrat, TypeIndemn, val_indemn_aberrant, valide, volume)"
    insert_part2 = "VALUES ('" + rs_wj_indemnisation("bosco").Value + "', '" + rs_wj_indemnisation("bosco_aberrant").Value + "', '" + rs_wj_indemnisation("ca_facture").Value + "', '" + rs_wj_indemnisation("chk_controle_interne").Value + "', '" + rs_wj_indemnisation("coclico").Value + "', '" + rs_wj_indemnisation("coclico_aberrant").Value + "','" + rs_wj_indemnisation("commentaire").Value + "' , '" + rs_wj_indemnisation("controleinterne").Value + "', '" + rs_wj_indemnisation("delai_ach_aberrant").Value + "', '" + rs_wj_indemnisation("dt_calcul").Value + "', '" + rs_wj_indemnisation("dt_controle_ri").Value + "', '" + rs_wj_indemnisation("dt_demande_aberrant").Value + "', '" + rs_wj_indemnisation("dt_edition_aberrant").Value + "', '" + rs_wj_indemnisation("dt_impr").Value + "', '" + rs_wj_indemnisation("dt_impression_aberrant").Value + "'"
    insert_part3 = "'" + rs_wj_indemnisation("dt_reception_flux").Value + "', '" + rs_wj_indemnisation("dt_reclamation_client").Value + "', '" + rs_wj_indemnisation("flag_acompte").Value + "', '" + rs_wj_indemnisation("id_campagne").Value + "', '" + rs_wj_indemnisation("id_client").Value + "', '" + rs_wj_indemnisation("id_contrat").Value + "', '" + rs_wj_indemnisation("id_indemn_complement").Value + "', '" + rs_wj_indemnisation("id_indemnisation").Value + "', '" + rs_wj_indemnisation("id_premiere_indemn").Value + "', '" + rs_wj_indemnisation("id_type_contrat").Value + "', '" + rs_wj_indemnisation("libelle_contrat").Value + "', '" + rs_wj_indemnisation("login").Value + "', '" + rs_wj_indemnisation("montant_indemnisation").Value + "', '" + rs_wj_indemnisation("nature_op").Value + "', '" + rs_wj_indemnisation("nom_client").Value + "',"
    insert_part4 = "'" + rs_wj_indemnisation("nom_utilisateur").Value + "' , '" + rs_wj_indemnisation("num_phare").Value + "', '" + rs_wj_indemnisation("numcheque").Value + "', '" + rs_wj_indemnisation("NumCheque_aberrant").Value + "', '" + rs_wj_indemnisation("numPhare_aberrant").Value + "','" + rs_wj_indemnisation("ordre_cheque").Value + "', '" + rs_wj_indemnisation("prix_par_plis").Value + "','" + rs_wj_indemnisation("prix_par_plisOAF").Value + "', '" + rs_wj_indemnisation("qs_national").Value + "', '" + rs_wj_indemnisation("taux_qs_nationale").Value + "', '" + rs_wj_indemnisation("type_contrat").Value + "', '" + rs_wj_indemnisation("TypeIndemn").Value + "', '" + rs_wj_indemnisation("val_indemn_aberrant").Value + "', '" + rs_wj_indemnisation("valide").Value + "', '" + rs_wj_indemnisation("volume").Value + "')"
    requete_insert = insert_part1 & insert_part2 & insert_part3 & insert_part4
    Set rs_insert = base2.Execute("'" + requete_insert + "'")
 
    i = i + 1
    rs_wj_indemnisation.MoveNext
Wend
 
End Sub
Au niveau de la variable insert_part2 lors de mon insert, VB m'indique une erreur d'exécution '13' type incompatible !
Les valeurs retournées sont différentes selon les colonnes soit:
- vide
- un entier
- une date (format Y/m/d)
- un décimal
- une chaine de caractère
- null

Qu'est ce qui cloche ? Si vous pouviez m'éclairer je vous en serez très reconnaissant.

Merci par avance,

Boonty, le choco fondant !