Access - Actualizar Id Subformulario

 
Vista:
sin imagen de perfil
Val: 18
Ha aumentado su posición en 5 puestos en Access (en relación al último mes)
Gráfica de Access

Actualizar Id Subformulario

Publicado por Andrés (9 intervenciones) el 10/09/2018 18:48:56
Saludos, solicito de su ayuda.. tengo un formulario
Captura

el formulario abre de predeterminada el Cliente y Tipo de pago,y solo cargaré en el subformulario la compra... y este tiene como enlace el [IDVenta] pero al guardar no toma el id de la venta porque esta nulo (Nuevo) que puedo hacer para que tome un Id temporal y al guardar quede la compra completa
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

Actualizar Id Subformulario

Publicado por Anonimo (3312 intervenciones) el 10/09/2018 19:41:58
Si se necesita conocer el autonumérico que se genera (asumo que el campo que 'nace nulo' es un autonumerico) la solución consistiría en guardar el registro y después editarlo (añadirle la compra/venta).

Quizás lo ideal sea utilizar otro método, utilizar lo que se conoce como 'falso autonumerico' que consiste básicamente en localizar al mayor de ese conjunto (la función DMax es útil para ello) y añadirle una unidad.

Este segundo método tendría una ventaja sobre el autonumerico 'natural': que el valor mantendría su incremento de forma lineal y que seria 'manipulable' (se puede renumerar)

También asumiría el inconveniente que delata su fragilidad en algunos entornos en que se necesite 'si o si' evitar la manipulación (asumiendo que los registros inacabados o borrados correrán turno en el incremento).

Resumiendo ventajas e inconvenientes:
El autonumerico natural es fiel, pero un registro borrado o anulado sin llegar a guardarlo genera un hueco en la serie

El falso autonumerico evita ese detalle y aumenta la versatilidad al permitir numerar por subconjuntos (numerar las ventas comenzando en 0 cada día por ejemplo), pero (dado que es manipulable) no impide que alguien elimine un numero y lo reponga (si esta en la mitad) o simplemente borrarlo si es el ultimo (para cada serie si se diera el caso).
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