Autonumérico y más en access

Hace mucho tiempo que no toco access, y me estoy volviendo loca, he creado una base de datos de access con un formulario para meter datos de clientes y subformularios para meter las facturas y los presupuestos que tienen esos clientes. Pero tengo varias dudas que no se como solucionar.
1º El número de cliente lo he puesto como clave principal y autonumérico, pero no quiero que empiece por el 1, si no por el número 3254 y después de vayan creando sucesivos, 3255,3256.
2º Los margenes para impresión de los formularios; siempre imprimo una hoja en blanco con alguna rayita pequeña que no se quitar.
Y por ultimo, no se lo que he hecho que al crear un informe para ver todos los clieentes con sus datos, solo me sale el primero, mientras que en la tabla del cliente me salen todos los datos, quizá el problema este en el formulario y subformularios =que son tablas igual a la de los clientes, pero meto el numero de cliente y los números de factura y fecha=

1 Respuesta

Respuesta
2
Te contesto la primer cuestión y por favor ponela en práctica, si te sirve finalizá la pregunta e iniciá una nueva para la siguiente duda. Es una forma de ser ordenados para que al momento de buscar soluciones de problemas ya planteados, podamos hacerlo con facilidad.
Probá poner en Formato del campo Nº De Cliente:
>"3253"
Cualquier cosa, si no te funciona avisame y buscamos otra solución.
Lo primero muchas gracias por contestar, y respecto a la respuesta, es que no te he debido entender, yo sigo poniendo autonumérico siendo la clave principal, he modificado en Formato el campo, tal y como me dices, pero luego vuelve a salir como si empezáramos con el "1", lo que pasa es que como he borrado registros de los clientes, ahora empieza por el "8" se guarda en memoria los clientes que he metido, aunque los haya borrado.
En las otras consultas de Facturas y Presupuestos que aparecen en el formulario, como subformularios, no he cambiado el formato del campo Nº de Cliente. ¿También lo tengo que cambiar en esas tablas?
Gracias y perdona tantas molestias.
Sí, me fijé y no funciona. Estaba medio dormido cuando te respondí eso... El formato hace que se vea como 3254 pero el valor numérico real del campo es 1, 2, 3 ... viéndose como 32541, 32542 ...
Lo que podes hacer que no puede fallar es NO ponerlo como autonumérico sino como Número (Entero Largo) y lograr la correlación asignando los valores de forma automática mediante código:
En el evento Antes de Insertar del formulario (en el código) ponés:
----------------------------------------------------------------
If IsNull(Me.TxtCampo = (DLookup("max([Campo])", "Tabla")) + 1) = False Then
Me.TxtCampo = (DLookup("max([Campo])", "Tabla")) + 1
Else
Me.TxtCampo = 3254
End If
----------------------------------------------------------------
TxtCampo: es el nombre del cuadro de texto en el formulario al que se le va a asignar el valor (Nº De Cliente). Es el cuadro de texto que tiene el origen de control en el campo Nº de Cliente de la Tabla.
Campo: es el nombre del campo numérico (Nº De Cliente) en la tabla.
Tabla: el nombre de la tabla.
-----------------------
El código lo que hace es que al presionar la primer tecla para iniciar un nuevo registro asigna al cuadro de texto Nº de Cliente un valor que es igual al valor máximo de ese campo (busca en todos los registro de la tabla) más 1. Pero si no encuentra registros en la tabla significa que es el primer registro que se ingresa y le asigna el valor 3254.
--------
A ver si te funciona...
Perdona que no te haya contestado antes, en estos días no he ido a la oficina.
PErdona mi ineptitud en esta materia pero no entiendo lo que me quieres decir
"En el evento Antes de Insertar del formulario (en el código) ponés:
----------------------------------------------------------------
If IsNull(Me.TxtCampo = (DLookup("max([Campo])", "Tabla")) + 1) = False Then 
Me.TxtCampo = (DLookup("max([Campo])", "Tabla")) + 1 
Else 
Me.TxtCampo = 3254 
End If"
No se donde tengo que poner todo esto, si ves complicado explicármelo, no te preocupes.
Muchas gracias por tu ayuda, tiempo y paciencia.
Un saludo
No te preocupes, la idea es que soluciones tu problema... Si querés enviame la BD al correo ([email protected]), te hago un ejemplo y te la vuelvo a enviar.
Impresionada con el interés que de modo altruista, se ha tomado con mis dudas. Y, a mi entender, se le ve una persona muy formada y con mucha experiencia con el tema de base de datos. En definitiva eficaz y eficiente.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas