Visual Basic - DAO

Life is soft - evento anual de software empresarial
   
Vista:

DAO

Publicado por Alex (3 intervenciones) el 26/03/2008 02:59:10
Hola

Estoy migrando un programa realizado con bases de datos de Access a ADO con SQL Server.
Anteriormente con DAO al usar un recordset podia hacer referencia a los campos mediante nombre de Campo, así -->> recordset.Fields(Nombre_Campo)

Ahora con ADO sólo me permite hacerlo mediante un Indice, así ---> Recordset.Fields(0).

Se que puedo utilizarlo de esta manera: Recordset.Fields!Nombre_Campo
Pero no me sirve, ya que el nombre de campo el programa lo saba en tiempo de ejecución y no en tiempo de diseño.

¿Alguna sugerencia para resolverlo utilizando DAO ?
Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:DAO

Publicado por Alex (3 intervenciones) el 26/03/2008 03:01:22
Lo siento, la solución la esoty buscando utilizando ADO...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:DAO

Publicado por kdlc (225 intervenciones) el 26/03/2008 04:54:56
Estas seguro??

dim rst as adodb.recordset
set rst = new adodb.recordset

rst.open "Tabla", cn_conexion, tipocursor, tipodelock, adcmdtable
do while rst.eof
rst.fields("nombre_Campo1").value & " " & rst.fields("nombre_campo2").value
rst.movenext
loop

si quieres listar las propiedades de la tabla como por ejemplo el nombre de la columna deberas utilizar ADOX

Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:DAO

Publicado por Alex (3 intervenciones) el 26/03/2008 17:17:09
Muchas gracias por el comentario.
Ya pude resolverlo.
Estaba intentando realizar una asignación así : (asi funcionaba con DAO)

Dato = rstDetalle( rst.Fields!NombreCampo )

Cuando lo hice con ADO me marco error relacionado con el número ordinal solicitado.

Simplemente hice el siguiente cambio y funciono con ADO:

Dato = rstDetalle(rst.Fields("NombreCampo").Value).Value

Debe ser porque el valor regresado por rst.Fields!NombreCampo no me lo reconoce como tipo String.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar