Triple contador dependiente de otro.

Buenas gente después de un tiempo y de no poder realizar lo que quería es que les pongo este planteo a ver quien me ayuda.

Tengo una bd que me cuenta cuanto producto se embala.

El tema es así, La caja contiene 20 placas. Y el palet contiene 48 cajas.

Cada placa tiene que tener los siguientes datos.

Nserie, Modelo. Fecha de registro (unicamente la fecha) y Fecha de control. ( esta ultima no debe mostrarse en formularios es para control horario de registros.

Es punto es que debo hacer que cuando las placas alcance 20, me salga un aviso de "CAJA LLENA", y lo mismo cuando el palet alcance las 48 cajas.

Ya trate de todo, varias tablas, una sola, consulta, etc y nada satisface lo que preciso.

Se que son 3 contadores dependientes entre si, pero no puedo hacer que ande como quiero alguna ayuda.

Ya que después de conseguir que sume las placas no pude hacer que sume las cajas ni los palets.

Otra cosa los contadores deben volver a 0 cuando se cumple una condición.

Si cajas llega a 20, debe incrementar 1 a cajas, y comenzar de 1 nuevamente. Cajas incrementa 1 a palet cuando llega a 48 y volver a 1 cuando palet sea 2. El único que no varia es palet ya que este debe seguir sumando.

Alguna ayuda, me explique bien??

1 Respuesta

Respuesta
1

Supongo que cada caja tiene un registro en una tabla, registro que metes a través de un formulario... ¿en ese registro se incluye el nº de caja y el nº de palet...?

Otra cosa, ¿cómo insertar el registro en la tabla...? ¿a través de un botón en el formulario con un Insert Into... o como?

Gracias por la respuesta.

Tengo una tabla maestra que incluye esos datos, nrocaja, y nropalet.

La inserción la trate por botón, y creo que es la mejor solución porque así se involucra la persona y presta atención en lo que hace. El PLM (Nserie), se debe insertar por medio de un formulario, que tiene todos los datos.

Después le envío la base de datos para que la veas si la precisas.

A la tabla la llamaré Placas, con los campos Placa, Caja y Palet

A los cuadros de texto del formularios: txtPlaca, txtCaja y txtPalet

El código sería:

Private Sub Form_Load()
'Declaramos las variables
Dim db As Database

Dim vPlaca As Integer

Dim vCaja As Integer

Dim vPalet As Integer
'Activamos la base de datos
Set db = CurrentDb
'Vemos el último nº de palet y lo igualamos a su variable
vPalet = DMax("[Palet]", "[Placas]")
'Vemos la última caja del último palet y la igualamos a su variable
vCaja = DMax("[Caja]", "[Placas]", "palet=" & vPalet & "")
'Vemos la última placa de la última caja del último palet y la igualamos a su variable
vPlaca = DMax("[Placa]", "[Placas]", "palet=" & vPalet & " and caja=" & vCaja & "")
'La nueva placa será la mayor más 1
vPlaca = vPlaca + 1
'Si la nueva placa es mayor a 20 pasamos a la caja siguiente y si esa caja es mayor de 48 pasamos al siguiente palet
If vPlaca > 20 Then
vCaja = vCaja + 1
If vCaja > 48 Then

vPalet = vPalet + 1

vCaja = 1

End If

vPlaca = 1
End If
Form!txtPalet.Value = vPalet

Form!txtCaja.Value = vCaja

Form!txtPlaca.Value = vPlaca
End Sub

El código lo pondría al cargar el formulario para que los cuadros de texto se rellenen automáticamente.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas