Consulta de código para conectar a base de datos y realizar consultas a tablas

Cual es el problema al declarar el recordset Direccion1, pues me da un error 3061, en el siguiente código
Dim Personas1 As Recordset
Dim Direccion1 As Recordset
Dim cadena As String
cadena = "SELECT * FROM Personas1;"
Set Personas1 = CurrentDb.OpenRecordset(cadena, dbOpenForwardOnly)
If Personas1.RecordCount Then
Do Until Personas1.EOF
Dim ssss As String
ssss = "SELECT * FROM Direccion1 WHERE Cod_pe = Personas1![Codigo];"
Set Direccion1 = CurrentDb.OpenRecordset(ssss, dbOpenForwardOnly)
.
. Etc
1

1 respuesta

Respuesta
1
Partamos por lo siguiente:
Personas1. Recordcount es un integer y no un boolean por lo que no puedes colocarlo sin un comparador como >=0 o algo así...(si esperas una respuesta coherente) recordcount dice el numero de registros en un recordset
2º ¿Qué es eso de Personas1![Código]?
Lo estas sacando de una tabla, por lo tanto, ¿cómo esperas que él decida cual de todos los códigos elegir?
Si deseas elegir todos los códigos en la tabla debes cambiarlo por:
... WHERE Cod_pe IN (SELECT Codigo FROM Personas1)
si no era eso lo que querías, no sé a qué te referías
Te recomiendo hacer una traza(F8) y ver específicamente cuál es la línea que genera el error.
Suerte, si tienes dudas avísame
Giorgio

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas