hilpers


  hilpers > microsoft.* > microsoft.vb

 #1  
10-03-2010, 19:48
acuario
amigos
desde una BD SQL SERVER me conecto y jalo el contenido de tabla
en un recordset
he tenido problemas para jalar desde el recordset a un combobox por que
solo me permite llenar datos con una columna (aunque hubiera querido que el
combo se llene con 2 columnas. (codigo y descripcion) )

Ahora..lo que deseo es poder llenar una matriz con datos de un recordset
para eso tengo definir en la zona de definicion de variables LA MATRIZ
dandole la cantidad de filas y columnas de acuerdo a la cantida de registros
y
columnas del recordset.

Alli es donde tengo problemas
¿en que momento se la cantidad de registros y columnas del recordset?
Si estoy en la zona de definicion de variables, no me deja poner
por ejemplo: matriz(i,j)

que hago
por favor alguna solucion

gracias




__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 4932 (20100310) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com
 #2  
10-03-2010, 20:14
Victor Koch
Hola

Y que pasa si la cantidad de registros de grande ?, por ejemplo 1.000.000
No te convendria trabajar el recordset en vez de cargarlo en una matriz.

De todas maneras te paso el codigo:

Dim Rs as ADODB.Recordset
Set Rs = new ADODB.Recordset

Dim Matriz() as string
Dim Filas as Long
Dim Columnas as integer

'Aca abro el recordset

Rs.Open "..........."

'Obtengo la cantidad de columnas
Columnas=Rs.Fields.Count - 1

'Obtengo la cantidad de registros, debo poblar el recordset
Rs.MoveLast
Filas=Rs.RecordCount
Rs.MoveFirst
'No en todos los casos el Rs.RecordCount devuelve la cantidad de registros,
si el valor devuelto es -1 significa que no se sabe la 'cantidad exacta de
registros.
IF Filas<0 then
Do until rs.eof
Filas=Filas+1
rs.movenext
Loop
Rs.MoveFirst
End If

'Dimensiono la matriz si hay registros

If Filas>0 then
ReDim Matriz(Filas-1,Columnas)
'Lleno la matriz
End if
 #3  
11-03-2010, 09:16
Hugo Gsell
No se si entendí bien tu problema.
De todos modos el objeto que asocias al recordset debe tener alguna
propiedad (recordcount) que indicque la cantidad de registros.
Para definir la matriz haces un
dim Matriz () as TIPO

Una ves que sabes el tamaño del recordset
redim Matriz(mirecordset.recordcount, xx)

Hugo A. Gsell


El 10/03/2010 17:54, acuario escribió:
 #4  
11-03-2010, 12:40
Leonardo Azpurua
"Hugo Gsell" <hagsell> escribió en el mensaje
news:2436
> No se si entendí bien tu problema.
> De todos modos el objeto que asocias al recordset debe tener alguna
> propiedad (recordcount) que indicque la cantidad de registros.
> Para definir la matriz haces un
> dim Matriz () as TIPO
>
> Una ves que sabes el tamaño del recordset
> redim Matriz(mirecordset.recordcount, xx)
>


O bien define la matriz como un array dinámico que contiene un array
dinámico:

Private Sub LlenarMostrarMatriz()
Dim matriz()
Dim fila()
Dim i, j
For i = 1 To 5
ReDim Preserve matriz(i)
For j = 1 To 5
ReDim Preserve fila(j)
fila(j) = i * 10 + j
Next
matriz(i) = fila
Next
For i = 1 To 5
For j = 1 To 5
Debug.Print matriz(i)(j),
Next
Debug.Print ""
Next
End Sub

Salud!
 #5  
11-03-2010, 14:44
Saga
:-S Conteste esta pregunta, pero al parecer mi mensaje se perdio...
Saludos, Saga


"acuario" <david_c_davidNON> wrote in message
news:1796
[..]
 #6  
11-03-2010, 15:26
Victor Koch
A mi me paso lo mismo.
 #7  
11-03-2010, 18:49
acuario
MUCHAS GRACIAS AMIGOS
POR SU AYUDA
SIN USTEDES NO PODRIA AVANZAR EN MI PROYECTO

GRACIAS


"Leonardo Azpurua" <l e o n a r d o (arroba) e x m v p s (punto) o r g>
escribió en el mensaje news:5812
[..]
>
> __________ Información de ESET NOD32 Antivirus, versión de la base de
> firmas de virus 4936 (20100311) __________
>
> ESET NOD32 Antivirus ha comprobado este mensaje.
>
> [..]
>>




__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 4936 (20100311) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com
 #8  
11-03-2010, 18:49
acuario
gracias amigos por su ayuda

gracias

"Victor Koch" <v i c t o r (arroba)correo(punto)waldbott(punto)com(punto)ar>
escribió en el mensaje news:3764
[..]
>
> __________ Información de ESET NOD32 Antivirus, versión de la base de
> firmas de virus 4936 (20100311) __________
>
> ESET NOD32 Antivirus ha comprobado este mensaje.
>
> [..]
>>




__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 4936 (20100311) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com
 #9  
11-03-2010, 20:11
Saga
Se agradecen las gracias, aunque no es de mucha ayuda cuando
la tecnologia falla :-S. Deja ver si el mensaje que envie esta en mi
bandeja de elementos enviados...

No esta :-S vaya! Saludos, Saga

"acuario" <david_c_david> wrote in message
news:4636
[..]
Temas Similares
Llenar tabla desde otra tabla con triger

Hola, me imagino que se puede pero no tengo ni idea. Necesito que al guardar un registro en una tabla inmediatamente esta registre algunos campos en otra tabla como un nuevo...

llenar una matriz desde una Base de Datos

Hola que tal, bueno tengo la siguiente interrogante, como hago para llenar una matriz del tipo DATE desde una base de datos, es decir en una de las tablas, tengo el campo...

LLENAR UNA MATRIZ DE LABEL

HOLA GRUPO.Espero alguien me pueda decir en que estoy mal en este codigo ya que quiero llenar una matriz de labels con una base de datos, que coincida con el dia del frame...

Llenar una tabla de un Dataset

Hola.. tengo un dataset en tiempo de diseño donde he creado una tabla no anexada a una base de datos y supongo que por ese motivo no puedo crear el tableadapter. La idea es...


La franja horaria es GMT. Ahora son las 03:51. | Privacy Policy