Visual Basic - INSERT en ACCESS

Life is soft - evento anual de software empresarial
 
Vista:

INSERT en ACCESS

Publicado por ROBERTO (3 intervenciones) el 11/08/2004 16:18:48
Hola. Mira lo que m pasa

Tengo en access 2 tablas

Encargos(CodEnc, Fecha, Hora, Nombre, Anular) CodEnc clave primaria y autonumerico
LineasEnc(CodEnc, Linea, Cant, CodProd) CodEnc y Linea clave primaria (son numericos).
Irán ambas tablas relacionadas por el CodEnc

Desde el proyecto accedo de la siguiente forma para insertar un registro:

SQL = "INSERT INTO LineasEnc(CodEnc, Linea, Cant, CodProd) VALUES('" & j & "', '" & i & "', '" & k & "', '" & l & "')"
Set RecordSet = BaseDatos.Execute(SQL)
Estando todo bien definido (aunque no lo ponga).

Al ejecutar la consulta me dice:
"No se puede agregar o cambiar el registro xq se necesita un registro relacionado en la tabla Encargos"

Si os vale de ayuda lo que quiero hacer es lo siguiente:

CODEnc FECHA HORA NOMBRE ANULAR (esto lo almaceno con RecordSet ADO)
1 12/10...... MANOLO 0

LINEA CANT CODPROD (esto con ADO me da problemas y con el insert...ni te cuento)
1 1 2'pan
2 3 1'pastizo

¿podeis ayudarme?
Gracias de antemano
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:INSERT en ACCESS

Publicado por johanna (7 intervenciones) el 11/08/2004 16:27:32
Mira no se si esto te ayuda, pero en el acces en herramientas vas a encontrar, relaciones hay vas a insertar las dos tablas, y luegos las enlazas por el campo que necesitas en tu caso seria CodEnc
prueba con eso a ver como te va... mira ahora necesito que tu me ayudes a mi, es primera que entro a este foro y no se si las respuestas llegan directo a el correo o por donde las busco.. chaus
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:INSERT en ACCESS

Publicado por Skrank (99 intervenciones) el 11/08/2004 17:57:07
Hola que tal.
Creo que el error se debe a que intentas introducir un dato en el campo CodEnc de la tabla LineasEnc que no existe en la columna CodEnc de la tabla Encargos. Antes de introducir el dato en la tabla LineasEnc debe de haber un registro en la tabla Encargos que tenga el valor que quieres introducir en la columna CodEnc de la tabla LineasEnc. Que lio
Creo que para introducir datos numéricos no hay que hacerlo entre comillas y la fecha va entre almoadillas. Bueno te estoy hablando del caso de que sea una BD de Access.
Espero que sirva
Un saludo
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

SIGUE SIN FUNCIONAR

Publicado por Roberto (3 intervenciones) el 11/08/2004 18:33:02
Gracias a todos.
Skrank, en la tabla Encargos tengo hasta el CodEnc 16, y aún así me da el error. ¿se te ocurre otra cosa?

Johanna si que llegan al mail, si tu lo solicitas
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:INSERT en ACCESS

Publicado por Semper (74 intervenciones) el 12/08/2004 03:52:55
Ese error lo manda cuando tienes la relacion entre las tablas exigiendo Integridad Referencial y en la tabla primaria (Encargos en tu caso) no existe previamente el campo relacionado que quieres agregar o modificar...

Como dijo Johanna, en Herramientas de Access, en Relaciones, verifica el tipo de relacion que tienes entre ambas tablas, y asegurate que en la tabla Encargos existe previamente el codigo que quieres procesar ...
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

YA FUNCIONA

Publicado por ROBERTO (3 intervenciones) el 12/08/2004 11:48:35
Semper, muchas gracias, ya funciona.

Lo de las relaciones lo tenía claro (ya que era una base de datos relacional), en lo que no había caído era en las 2 opciones de que tenía seleccionadas entre las 2 tablas (lo que tu me has dicho referencial).

Ha sido quitarlas y funciona.
De todas formas una cosilla...
Si CodEnc (tabla ENCARGOS) es autonumerico, y al hacer pruebas ya ha tomado un valor, por ejemplo 38... ¿Cómo hago para que se resetee el contador autonumerico a 1? Si borro todos los registros, luego empieza de 39.

Muchas gracias a todos los que me habeis respondido.
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:YA FUNCIONA

Publicado por Adolfo Mujica (15 intervenciones) el 12/08/2004 19:56:54
Hola Roberto:

Mira para que tu contador Autonumerico se inicie a uno en primera tienes que borrar los registros ( ya lo hiciste ) y en segunda compactar la base de datos ( Herramientas / Utilidades de la base de datos / Compactar y reparar base de datos ) y Listo, la proxima vez que grabes un registro el autonumerico sera 1.
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