Alta registro desde form basado en consulta

Quisiera que me ayudaras, si te es posible.
Tengo una tabla DOCUMENTOS con clave (Letra+Número) y los datos relativos a dicho documento.
Otra tabla PRESTAMOS con clave (NúmPrestamo) autonumérico, la clave de la tabla DOCUMENTOS y nombre a quien se le ha prestado, fecha, etc...
He creado una consulta basada en las dos tablas con los datos más importantes de DOCUMENTOS: Clave, Titulo, Soporte, etc..., y con los de PRESTAMOS: NúmPrestamo, nombre, fecha, etc...
Cuando quiero prestar un documento, llamo al Form PRESTAR, que está basado en la consulta mencionada.
Los campos del form DOCUMENTOS los tengo como predeterminados en PRESTAR, y los campos de la tabla PRESTAMOS me aparecen vacíos para rellenarlos.
Al intentar teclear en cualquiera de sus campos me da el siguiente error:
"No se pueden agregar registros; la clave de combinación de la tabla PRESTAMOS no está en el Recordset", y no me deja dar de alta ningún registro en PRESTAMOS.
Te adjunto el código que empleo cuando llamo al form PRESTAR. Gracias anticipadas.
Private Sub Prestar_Click() ' Crea un registro en la tabla PRESTAMOS, comprobando si
On Error GoTo Err_Prestar_Click ' está ya prestado o no.
If NumPrestamo <> 0 Then
MsgBox "¡ ÉSTE DOCUMENTO ESTÁ PRESTADO !", 48, "PRESTAR"
GoTo Exit_Prestar_Click
End If
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "PRESTAR"
DoCmd.OpenForm stDocName, , , , acFormAdd
Exit_Prestar_Click:
Exit Sub
Err_Prestar_Click:
MsgBox Err.Description
Resume Exit_Prestar_Click
End Sub
PD. En la tabla DOCUMENTOS quiero grabar el NúmPrestamo que me asigna éste form automáticamente para poder saber a quien se le ha prestado.

1 respuesta

Respuesta
1
Por lo que he podido deducir, tu problema radica en que el la consulta que utilizas como origen del formulario estas incluyendo el campo 'clave' de la tabla DOCUMENTOS que sirve de enlace en la relación de las dos tablas y el campo 'clave' que has de añadir es el de la tabla de PRESTAMOS para que Access pueda mostrar todos los datos del documento en el formulario PRESTAMOS y te permita introducir los datos del préstamo.
El mensaje que obtienes es precisamente eso que el campo 'clave' (clave del documento) de la tabla de prestamos no lo estas incluyendo en la consulta y ese el que necesita, no el campo 'clave' de la tabla de documentos.
Por otra parte si en el formulario de PRESTAMOS al campo 'clave del documento' le indicas como valor predeterminado el valor del campo clave del formulario de DOCUMENTOS, sólo tendrás que escribir el nombre de la persona al que se lo prestas y la fecha el resto de los datos del documento te los mostrará Access de forma automática.
Con respeto a la otra pregunta que me fórmulas como la explicación también es un poco extensa, si me indicas una dirección de correo te puedo enviar un ejemplo que acabo de realizar para tu caso que hace precisamente las dos cosas.
Mi dirección es [email protected]
Saludos y sige explotando las posibilidades de esta base de datos.
Estimado query: He cambiado, como me dices, el origen de datos en el campo CLAVE de la Consulta y lo he puesto como origen de datos la tabla PRESTAMOS, pero me sigue sin funcionar. Vamos, que me hace lo mismo, y no sé como continuar.
Te mandé un e-mail para que vieras mi dirección pero todavía no he recibido nada.
Espero tu respuesta. Gracias por tu interés por mi.
Felicidades Luis. Con lo que me has enviado me has resuelto dos problemas a la vez, y yo, aquí atascado hasta que no he contado contigo.
Muchas gracias por tu interés.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas