champs numériques dans un recordset
J'effectue des interrogations vers une base de donnée (oracle, 8i)
j'utilise les objets adodb connection et adodb.recordset
8O
Mon problème (j'en ai eu d'autres mais celui-ci demeure) est que si, dans mon select, je fais appel à des colonnes dont le type est différent d'un type caractère (varchar2 par exemple), la requête plante.
Si j'appelle des colonnes qui contiennent des enregistrements de type entiers, décimaux ou numériques, ça ne passe pas et je suis obliger - dans la requête - de convertir ces colonnes en caractères (to_char).
C'est un peu lourd, non ?
:?
Avez-vous déjà rencontré ce problème ? Comment puis-je le contourner ?
Code:
1 2 3 4 5 6 7 8 9
| With MyConnect
.ConnectionString = "ODBC;UID=DWH;PWD=DWH;DSN=S0156_XDWA;" .Open .CursorLocation = adUseClient
End With
MyRequete = "select " _ & "to_char(ID_RPN_NIV) niv," _ & "to_char(sum(decode(cd_rpn_grp_grp_pvt_cla,'G1',1))) G1," _ & "to_char(sum(decode(cd_rpn_grp_grp_pvt_cla,'G2',1))) G2," _ & "to_char(sum(decode(cd_rpn_grp_grp_pvt_cla,'G3',1))) G3 " _ & "FROM vw_pvt_classif_grp_pvt vw, tb_d_ref ref, tb_i_vte_ref_jou vte " _ & "WHERE vte.id_pvt=vw.id_pvt and vte.id_ref=ref.id_ref and " _ & "vte.id_tps_jou BETWEEN " & DtDeb & " AND " & DtFin & " " _ & "AND ref.cd_ref='" & RefAndre & "' and " _ & "id_rpn_niv = " & Str(idclaniv) & " " _ & "GROUP BY to_char(ID_RPN_NIV);"
With MyRecSet
.CacheSize = 50
.Open MyRequete, MyConnect, adOpenDynamic, adLockReadOnly
End With |