Problemas con el recordset y una lista de valores
Publicado por Alex (7 intervenciones) el 15/07/2015 11:17:18
Buenos días.
Estoy empezando con access y me sirve de mucha ayuda vuestro foro, estoy aprendiendo muchísimo. Tengo una duda que no consigo resolver y tampoco encuentro el mismo problema que el mío.
Os explico como tengo la base de datos por si hay algun problema ya de relaciones.
Tengo dos tablas:
- Una tabla llamada "NOVEDADES" donde se escriben una serie de anotaciones.
- Una tabla de nombre "PERSONAS" donde hay personas que se le puede asignar una novedad de la tabla novedades. A una novedad se le pueden asignar varias personas.
En la tabla NOVEDADES tengo el campo NOMBREPERSONA que es de tipo texto, donde permito varios valores y el origen de la fila es una consulta de la tabla PERSONAS con el nombre de todas las personas.
Tengo un formulario para editar los registros. Para buscar el registro a editar tengo un campo donde pongo el ID de la novedad y un recordset que me va poniendo los datos en varios campos. Al llegar a las personas asignadas a esa novedad, me da el error "NO SE PUEDE ASIGNAR UN VALOR A ESE OBJETO". He probado cambiando a cuadro de texto, combo, lista de valores....y no soy capaz.
Os pego el codigo a ver si alguien ve algo.
Dim RS as DAO.Recordset
Dim DB as DAO.Database
Dim sql As String
sql = "SELECT * FROM NOVEDADES " & " WHERE IDNOVEDAD = " & txt_buscar & ""
Set DB = CurrentDb
Set RS = Db.OpenRecorset (sql, dbOpenDynaset)
If RS.RecordCount = 0 then
MsgBox ("No hay registros para ese ID")
Else
txt_IDnovedad = RS!IDNOVEDAD
txt_anotacion = RS!ANOTACION
txt_fecha = RS!FECHA
txt_nombrepersona = RS!NOMBREPERSONA
end If
Todas los datos me los introduce en su cuadro de texto, pero al llegar a RS!NOMBREPERSONA me da error.
En la ventana de inmediato voy probando los valores que hay en cada RS! y todos me va diciendo el valor correcto, menos en RS!NOMBREPERSONA donde me dice "SE HA PRODUCIDO EL ERROR '13' EN TIEMPO DE EJECUCIÓN: NO COINCIDEN LOS TIPOS"
A ver si alguien puede ayudarme!!
Muchas gracias!
Estoy empezando con access y me sirve de mucha ayuda vuestro foro, estoy aprendiendo muchísimo. Tengo una duda que no consigo resolver y tampoco encuentro el mismo problema que el mío.
Os explico como tengo la base de datos por si hay algun problema ya de relaciones.
Tengo dos tablas:
- Una tabla llamada "NOVEDADES" donde se escriben una serie de anotaciones.
- Una tabla de nombre "PERSONAS" donde hay personas que se le puede asignar una novedad de la tabla novedades. A una novedad se le pueden asignar varias personas.
En la tabla NOVEDADES tengo el campo NOMBREPERSONA que es de tipo texto, donde permito varios valores y el origen de la fila es una consulta de la tabla PERSONAS con el nombre de todas las personas.
Tengo un formulario para editar los registros. Para buscar el registro a editar tengo un campo donde pongo el ID de la novedad y un recordset que me va poniendo los datos en varios campos. Al llegar a las personas asignadas a esa novedad, me da el error "NO SE PUEDE ASIGNAR UN VALOR A ESE OBJETO". He probado cambiando a cuadro de texto, combo, lista de valores....y no soy capaz.
Os pego el codigo a ver si alguien ve algo.
Dim RS as DAO.Recordset
Dim DB as DAO.Database
Dim sql As String
sql = "SELECT * FROM NOVEDADES " & " WHERE IDNOVEDAD = " & txt_buscar & ""
Set DB = CurrentDb
Set RS = Db.OpenRecorset (sql, dbOpenDynaset)
If RS.RecordCount = 0 then
MsgBox ("No hay registros para ese ID")
Else
txt_IDnovedad = RS!IDNOVEDAD
txt_anotacion = RS!ANOTACION
txt_fecha = RS!FECHA
txt_nombrepersona = RS!NOMBREPERSONA
end If
Todas los datos me los introduce en su cuadro de texto, pero al llegar a RS!NOMBREPERSONA me da error.
En la ventana de inmediato voy probando los valores que hay en cada RS! y todos me va diciendo el valor correcto, menos en RS!NOMBREPERSONA donde me dice "SE HA PRODUCIDO EL ERROR '13' EN TIEMPO DE EJECUCIÓN: NO COINCIDEN LOS TIPOS"
A ver si alguien puede ayudarme!!
Muchas gracias!
Valora esta pregunta


0