Visual Basic - fallas con el recordset

Life is soft - evento anual de software empresarial
 
Vista:

fallas con el recordset

Publicado por jorge (15 intervenciones) el 28/04/2006 19:27:07
espéro alguien me ayude a aclarar este pequeño problema que tengo

el código que tengo para abrir un recordset es el sig
Set rs = db.OpenRecordset(strSQL)

y el problema es que solo me abre un registro de la tabla que quiero abrir :(

de hecho he tratado abriendolo de la siguiente manera que pienso debería asignar lo mismo
Set rs = db.OpenRecordset("Libros")
Set rs = db.OpenRecordset("SELECT * FROM Libros")

sin embargo en el primer caso si me abre rs con todos los registros y en el segundo tan solo le asigna el primer registro, y esto lo se al checar en tiempo de ejecución rs.RecordCount, además de que tmb imprimo en pantalla los resultados

es como si no me aceptara clausulas SQL :(
espero alguien me pueda decir la razón o cualquier sugerencia
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:fallas con el recordset

Publicado por Francisco (8 intervenciones) el 28/04/2006 19:43:50
HOLITAS JORGE, CREO QUE LO QUE TE PASA ES QUE TU SEPARAS LAS SENTENCIA DE TU CONECCION INTENTA HACIENDO ESTO:

'''' CREANDO CONEXION A LA BASE DE DATOS DE MS ACCESS O SQL
Public CN As New ADODB.Connection

'''' CREANDO LOS OBJETOS RECORSETS PARA CONTENER LOS DATOS
Public RS As New ADODB.Recordset

'''' REALIZANDO LA CONECCION CON EL METODO CREADO PARA ACCESS
CN.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\SISTEMA LECABPE\BD\BD.mdb;"
'''' REALIZANDO LA CONECCION CON EL METODO CREADO PARA SQL
CN.Open "Provider = SQLOLEDB.1; Integrated Security = SSPI; Persist Security Info=False;Initial Catalog = BD; Data Source=(local);"

ES CLARO QUE SOLO DEBES USAR UNA DE LAS DOS YA SE Q TENGAS TU BASE DE DATOS EN SQL O ACCESS

''''' ESTE ES EL MODO DE CONECCION AL SERVIDOR
CN.CursorLocation = adUseClient

LUEGO CARGAMOS LOS DATOS
If RS.State = adStateOpen Then RS.Close
ACA PREGUNTAMOS SI ESTA ABIERTA LA CONEXION PARA ASI NO NOS SALGA ERROR SI LO ABRIMOS DOS VECES

LUEGO ASIGNAMOS LOS DATOS AL RECORSET DE MANERA CORTA
RS.Open "SENTENCIA SQL X EJMPLO SELECT * FROM TABLA", CN
RS.MoveFirst

SI LO QUIERES COLOCAR EN UN DATAGRID PUES LO ASIGNAS ASI
Set DataGrid.DataSource = RS

espero te ayude en algo, si tienes mas dudas escribeme y a ver en q te puedo ayudar
saludos
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:fallas con el recordset

Publicado por jorge (15 intervenciones) el 02/05/2006 19:48:23
gracias por tu respuesta francisco, pero lo que pasa esque estoy usando DAO para acceder a la base de datos, no ADO y el código que me mandas es usando ADO, por lo que no me sirve a menos que cambie todo lo demás que llevo cosa que no quisiera hacer
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