Integridad referencial con ADO y Access

Tengo dos tablas que están relacionadas mediante una relación 1 a infinito y exigiendo integridad referencial, por lo tanto en la tabla con la parte de la relación infinito podría meter valores contenidos en la otra tabla (siempre hablando del mismo atributo) o valores nulos. Cual es mi sorpresa cuando al intentar meter valores nulos desde VB con el ADO... NO CONSIGO HACERLO.
Supongo que aquí hay un temita bastante gordo con los null, los valores ""... Ya que si modifico la tabla en Access si puedo y sin ningún problema, pero mediante la asignación directa a un campo del recordset ADO me da el típico error de integridad referencial.
¿Qué debo hacer? ¿Debo permitir meter cadenas vacías? ¿Meter valores NULL (¿Cómo se hace esto?)? ¿...? ¿...?
Por cierto utilizo Access 97, por si sirve de algo.

2 Respuestas

Respuesta
1
Ver me parece que es un error de conceptos...
¿A qué le quieres poner valores nulos?
Si por ejemplo la tabla que tiene muchos ...
Tabla referencia 1
Id-tabla referencia 1
Descripción
Cantidad
Tabla infinito
Id
Id-tabla referencia 1
Descripción...
Directamente no hace falta que lo crees al registro...
Y si quieres crear puedes crear todos los que quieras poniéndole un id distinto...
No se si me explico... pero la relación...
Quiere decir que puede tener registros o no con ID tabla referencial de 1... pero si los creas tienen que estar ligados a la tabla...
Por ejemplo
Tabla Cuentas --- 1
Id cuenta
Descripción cuenta
Tabla casos cuentas ---- Infinito
Id caso
Id cuenta
Descripción caso
Un cuanta puede tener muchos casos... o ninguno
Un caso debe estar asignado obligatoriamente a una cuenta...
Creo que el problema es que creas el registro de casos... no tienes que crearlo hasta que lo necesites...
cuando lo creas... le asignas
Id caso
Id cuenta (a la cuenta que pertenece)
Respuesta
1
Probaste insertando con null en vez de un string de long 0?
de esta forma: insert into tabla(campo) values('" & null & "')
Capaz que te funciona

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas