Access - Error con recordset

 
Vista:

Error con recordset

Publicado por Dave (7 intervenciones) el 02/09/2004 19:17:07
Hola, tengo el siguiente codigo:

Dim mRs as RecordSet
mCad=\"Select campo1, campo2 from nombreTabla\"
SET mRs=Currentdb.OpendRecordset(mCad) <------
mRs.AddNew
mRs!campo1=Me.nombreCampo1
mRs!campo2=Me.nombreCampo2

El caso es que al ejecutar me da un error : \"Tipos no coinciden\" Al depurarlo el error nos sale en la linea señalada. Alguien sabe por que puede ser?
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:Error con recordset

Publicado por Gavis (1 intervención) el 02/09/2004 19:50:00
TE recomiendo que en la declaración dim pongas:
DIm rst as ADODB.Recordset
simpre y cuando utilices ADO y no DAO prueba haber que pasa sino pregunta otra vez.
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:Error con recordset

Publicado por Dave (7 intervenciones) el 02/09/2004 20:29:20
Sigue sin funcionar, da el mismo error
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:Error con recordset

Publicado por Victoria (1530 intervenciones) el 02/09/2004 22:20:38
1º quita las barras
2º comprueba que los datos de los campos son del mismo tipo que los del recordset
Victoria
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:Error con recordset

Publicado por dave (7 intervenciones) el 03/09/2004 11:24:08
Las barras me las ha puesto el mensaje del foro, los tipos son iguales creo, no se como mirar el tipo de dato de un campo de un formulario, en teoria saco nombreCampo1 nombreCampo2 de cuadros de texto de un formulario y en la tabla campo1 y campo2 son de texto.

Gracias por las respuestas. alguna sugerencia maas?
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:Error con recordset

Publicado por skakeo (99 intervenciones) el 03/09/2004 11:41:47
Prueba a poner en la declaracion del recordset :
dim rs as ADODB.RecordSet
o si es DAO
Dim rs as DAO.RecordSet
Solucionaras el problema de los tipos.
Un saludo
Sk@keo
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:Error con recordset

Publicado por skakeo (99 intervenciones) el 03/09/2004 11:44:50
Si no te funciona declara tambien :
Dim dbs as ADODB.Database
o
Dim dbs As DAO.Database
Set dbs = CurrentDb
Un saludo
Sk@keo
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:Error con recordset

Publicado por Dave (7 intervenciones) el 03/09/2004 12:28:32
No me reconoce esos tipos (DAO.RecordSet, ADODB.RecordSet ) me da "error de compilacion, no se ha definido el tipo definido por el usuario"

Sigo abierto a cualquier propuesta

Gracias skakeo por tus repuestas
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:Error con recordset

Publicado por skakeo (99 intervenciones) el 03/09/2004 13:29:04
Mirate en la ventana del codigo del editor de vba las referencias, añade la de dao o la da ado como quieras y te funcionara.
Has declarado primero , ejemplo
Dim conn As ADODB.Connection
Dim rstDatosN As ADODB.Recordset
Set conn = New ADODB.Connection
conn = CurrentProject.Connection
conn.open
Set rstDatosN = New ADODB.Recordset
Dim strSQL as String
strSQL = "SELECT * FROM Clientes"
rstDatosN.Open strSQL, conn
asi seria con la referencia a la biblioteca Microsoft ActiveXData Objects 2.5, te aseguro que funciona.
Ahora con Microsoft DAO 3.6 Object Library:
Dim db as database
Dim rs as recordset
set db = currentdb
Dim strSQL as String
strSQL = "SELECT * FROM Clientes"
set rs = db.openrecordset(strSQL)
asi tambien te aseguro que funciona.
Un saludo
Sk@keo
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