Problemas con DMax Formulario Access 2010

Lo primero quiero agradecer el gran trabajo que hacéis. Soy novata en Access pero, gracias a foros como este, voy aprendiendo poco a poco.

El problema que tengo ahora es que llevo varios días atascada con una función que, en principio y según he estado leyendo por los foros, debería ser sencilla. Pero no hay manera de hacerla funcionar…

Tengo un formulario, para introducir los datos en la tabla DETALLE HOJA, con los campos:

INSCRIPCIÓN: Es un cuadro combinado que coge los valores de la tabla, es texto (KA, 1B, Z, 2Y….)

SERIE: Como sugiere su nombre es un número de serie correlativo (varía según la inscripción), que unido en otro campo con el anterior, me crea un código único para cada registro que identifica a cada producto (KA0123, 1B3270, Z5678…)

Yo querría poner en el Evento Al Entrar, por ejemplo, del campo SERIE, que automáticamente me pusiera el valor máximo, que haya en la tabla de los registros que coincidan con la INSCRIPCIÓN, aumentado en 1.

He probado con DMax, pero no soy capaz de hacerla funcionar, he probado todas las combinaciones que he encontrado por los foros, y algunas “inventadas” a la desesperada y no hay manera…

1 respuesta

Respuesta
2

Claro que puedes hacerlo con Dmax, pero creo que es más sencillo si tengo una tabla

Con ella hago un formulario(no te fijes en lo de inscripción, he puesto letras sencillas) y voy eligiendo valores en Inscripción

El código es simplemente

Es decir, que cuando eliges algo en el combinado Inscripción, cuenta cuantos hay ya en la tabla(ten en cuenta que al elegirlo, docmd..."guarda" ese valor, por tanto ya lo cuenta)

Muchas gracias por responder tan rápido. Creo que no me he explicado bien. La serie está definida para cada artículo, no son correlativos según los registros creados, por eso creo que no me sirve la función DCount (al poner que eran números correlativos me parece que te he confundido).  Por ejemplo los productos que llevan la inscripción KA, las series van de la 0001 a la 9999, cada usuario dispone de unas series concretas (KA0000-KA0100, KA0300-KA0400…), que tiene meter en el formulario con más datos.

Por eso yo querría que el primer valor de cada serie lo ponga cada una a mano, y a partir de ahí, para los siguientes le busque el máximo del campo Serie que ha introducido anteriormente que coincida con la inscripción, y lo aumente en 1.

Ahora pensando creo me valdría DLast, ya que no siempre meterán los saltos de serie en orden. Pero he probado a adaptarla con la estructura que tu me has mandado y tampoco me funciona.

Muchísimas gracias.

Hay que ver lo que os cuesta decir las cosas claras desde el principio.

Primero, al ser Serie un campo texto no puedes sumarle 1.

Segundo, al no saber como tienes construida la base tengo que estar imaginándome cosas, pero una cosa es mi idea y otra la que necesitas.

Supongamos que tengo una tabla Usuarios con Idusuario, nombre, etc

Y otra tabla Inicio, donde le digo donde empieza su rango en función de la inscripcion

También tengo una tabla DetalleHoja con esta estructura

Si tengo un formulario, donde el cuadro de texto INI, estaría oculto

El código es

¡Gracias! No era exactamente lo que necesitaba. Pero ajustándola un poco a lo que quería

¡¡¡ha funcionado!!!!

Muchas gracias, otra vez. Y perdona por mi torpeza...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas