Hola a todos, quería volcar en una matriz variant el resultado de una consulta a una base de datos Oracle 8i...
1 | Dim Lv_Matriz as Variant |
2 | Dim Lsv_Query as String |
3 | Dim Lrs_Cursor As rdoResultset |
4 | Dim Ll_Columnas As Long |
5 | Dim Li_i As Integer |
6 | Dim Ll_Contador As Long |
7 | |
8 | Ll_Contador = 0 |
9 | |
10 | Lsv_Query = "consulta sql sobre campo numérico" |
11 | |
12 | Set Lrs_Cursor = Gcn_Conexion.OpenResultset(Lsv_Query, rdOpenDynamic) |
13 | |
14 | |
15 | With Lrs_Cursor |
16 | If .EOF Then |
17 | ReDim Lv_Matriz(0, 0) |
18 | Lv_Matriz(0, 0) = "'" |
19 |
|
20 | Me.NumFil = 0 |
21 | Else |
22 | Ll_Columnas = .rdoColumns.Count |
23 | Me.NumCol = Ll_Columnas |
24 | ReDim Lv_Matriz(.RowCount, Ll_Columnas) |
25 | Do While Not .EOF |
26 | For Li_i = 0 To Ll_Columnas - 1 |
27 | Lv_Matriz(Ll_Contador, Li_i) = .rdoColumns(Li_i).Value |
28 | Next |
29 | .MoveNext |
30 | Ll_Contador = Ll_Contador + 1 |
31 | Loop |
32 | Me.NumFil = .RowCount |
33 | End If |
34 |
|
35 | End With |
la cuestion es que si yo hago una consulta sobre un campo numérico y ese campo numérico es, por ejemplo, 379,50, al hacer una instancia sobre el cursor Lrs_Cursor (linea 12), en vez de volcarme el valor que está en la base de datos (379,50) , me vuelca el valor 3795 , por lo que al pasarle el valor a la matriz (linea 27) me lo hace mal y me vuelca 3795 en vez de 379,5
Si yo hago esa consulta en la base de datos la consulta me devuelve el valor que me tiene que devolver, es decir la variable Lsv_Query está bien , lo que hace mal es instanciar el cursor Lrs_Cursor
¿ a que puede ser debido esto?
Programador_Coruña