Imprimir página | Cerrar ventana

No me guarda registro, si inserto automaticamente

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=86822
Fecha de impresión: 04/Marzo/2024 a las 10:15


Tema: No me guarda registro, si inserto automaticamente
Publicado por: Antonio Pedro
Asunto: No me guarda registro, si inserto automaticamente
Fecha de publicación: 16/Noviembre/2023 a las 23:52

Hola y Saludos.

Tengo un formulario independiente en el cual insertos datos personales, hay un campo llamado Documento, donde selecciono la clase de documento puede ser: Dni, Nie o Indocumentado y otro campo llamado Dni., donde inserto el número correspondiente, al Dni, Nie. El campo Dni es clave principal.

El problema lo tengo cuando la persona esta indocumentada, para lo cual he creado la siguiente instrucción:

If Documento.Value = "Indocumentado" Then

 Dni.Value = "00.000.000" & "-" & CodIndocumentado

 'Inserta en la Tabla Indocumentados un nuevo valor numérico

 CurrentDb.Execute ("UPDATE TIndocumentados SET NumIndocumentado = NumIndocumentado + 1")   

 

Explico un poco la instrucción, he creado una tabla llamada TIndocumentados y dentro he creado un campo llamado NumIndocumentado, el cual se va incrementado.

En el formulario en la opcion al cargar tengo lo siguiente instrucción:

CodIndocumentado = DLookup("NumIndocumentado", "TIndocumentados")

El  campo CodIndocumentado (oculto) donde se va guardando el registro que correspondería.

Por ejemplo, selecciono en clase de documento Indocumentado y a continuación se rellena automáticamente el campo Dni 00.000.000-1 y continúo insertado los datos, el problema me surgen cuando intento guardar el registro, no me guarda el registro.

En cambio, si inserto el registro manualmente 00.000.000-1 si me lo guarda.

Me podíais decir el motivo por el cual no me guarda el registro cuando se inserta automáticamente y en cambio sí me lo guarda cuando lo inserto manualmente. O me podéis decir como podría replantearme el asunto.

Un Saludo.

 




Respuestas:
Publicado por: emiliove
Fecha de publicación: 17/Noviembre/2023 a las 00:09
Y cuando o en que evento se ejecuta tu CurrentDb.Execute.

Saludos.


Publicado por: Antonio Pedro
Fecha de publicación: 17/Noviembre/2023 a las 15:03
En el evento después de actualizar
Private Sub Documento_AfterUpdate()

Saludos.


Publicado por: Mihura
Fecha de publicación: 17/Noviembre/2023 a las 15:25
En el evento después de actualizar ya ha hecho (o por lo menos lo ha intentado) insertar el registro ... tendrías que hacerlo antes.

-------------
Jesús Mansilla Castells.
Saludos desde Móstoles.

http://www.accessaplicaciones.com" rel="nofollow - Access Aplicaciones
http://www.tecsys.es" rel="nofollow - Tecsys.es


Publicado por: Antonio Pedro
Fecha de publicación: 17/Noviembre/2023 a las 22:40

Gracias a emiliove y Mihura por vuestro interés, al final lo he solucionado. Viendo detenidamente la instrucción que os envié, había un dato que faltaba:  CodigoAlta.Value = 0, este campo lo tengo en el formulario y cuando el valor es 0 me indica que el registro no está dado de alta y por este motivo no me daba  el registro de alta.

Gracias y se puede cerrar el hilo.

Saludos.




Imprimir página | Cerrar ventana