Access - elemental pero con dolor de cabeza

 
Vista:

elemental pero con dolor de cabeza

Publicado por lINA (48 intervenciones) el 26/07/2007 10:42:35
hola !

gracias por atenderme

tengo esto en el evento on change de idcustomer
Dim Variable As String
Variable = """" & "[CustomerID] = " & CustomerID.Value & """"

Total.Value = DMax("[SecuentialNumber]", "Orders", Variable)

el problema es que no me hace el filtro, necesito que siempre que el valor del idcustomer cambie me muestre en el campo Total el numero maximo que esta en el campo secuetialnumber filtrando por el idcustomer. Traerme la maxima orden (secuencial manejado por codigo) de ese cliente.

hice este test
Total.Value = DMax("[SecuentialNumber]", "Orders", "[CustomerID] = 11 ")
y funciono, pero como le hago para poder remplazar el 11 por el valor del campo customerid que esta en la forma y tambien sin que me mande error de comillas.

creo que todo esta en el tema de las comillas que no se manejar bien, el id es tipo numerico, pero las comillas a las que me refiero es las que debo incluir aqui en la sentencia Dmax

Por fa.. gracias
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

RE:elemental pero con dolor de cabeza

Publicado por lINA (48 intervenciones) el 26/07/2007 11:24:16
quedo asi

Private Sub CustomerID_LostFocus()

Total.Value = Nz(DMax("[SecuentialNumber]", "Orders", "[CustomerID] = " & CustomerID.Value), 0)

End Sub

pero como en esta vida no todo es completo, sucede que por logica cuando en el principal informe seleccinan otro cliente deberia automaticamente en el campo del subinforme verse el maximo para el nuevo cliente que hayan seleccionado, pero esto no sucede. si bien realice esos informes con el wizard del access estan bien corelacionados los idcustomer entre los dos informes, por lo que en el campo idcustomer del subinforme en el evento change le mande este codigo pero por alguna razon no aplica la sentencia como si nunca ocurriera el change, al compilar no hay error, ahora si por solo test pongo ese codigo en el lostfocus como se ve aqui si funciona pero es claro que no puedo dejar eso asi, ya que ese campo nunca debe el usuario manipularlo.

Por favor donde carajos debo asignar ese codigo en el subinforme para que cada vez que el idcustomer cambie se actualice el valor de Total (maxima orden) en el subinforme
Gracias
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

RE:elemental pero con dolor de cabeza

Publicado por Cristian Vasquez (47 intervenciones) el 26/07/2007 16:53:28
Mujer alguna vez yo di las mismas vueltas que tu estas dando teniendo la misma lógica que estas utilizando mi problema era el mismo pero a nivel de formularios no de informes, creo que la logica de la solución es la misma aun que no lo he intentado en un informe.

Lo que pasa es esto: Si tienes un formulario principal y un subformulario que tenga algun campo que quieras sumar, lo que tienes que hacer para obtener la suma del subformulario en el formulario principal pero solo de lo que estas viendo osea lo filtrado, el procedimiento es:

Primero tienes que crear un control de texto en el pie de pagina del subformulario y en ese copiarle en el origen de datos por ejemplo la suma del campo que quieres el total "=suma([Total])", te sugiero que le pongas un nombre al control para reconcerlo mas facil por ejemplo "TotalValor".

Lo segundo es crear otro cuadro de texto en formulario principal que haga referencia al cuadro de texto creado en el primer punto, por ejemplo "=Formularios![Subformulario_Datos]!TotalValor".

Con esto cada vez que en el formulario principal se cambie de campo, digamos que se cambio de cliente podras ver el total para ese cliente, mi imagino que la filosofia es la misma para lo que tu necesitas, que es raro el procedmiento !rarisimo! y por que funciona ni idea, perio funciona.
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

RE:elemental pero con dolor de cabeza

Publicado por lina (48 intervenciones) el 26/07/2007 20:53:08
hola Cristian, gracias por la info.

mira lo que estoy trabajando son formas... depontro escribi formularios pero son formas, una que contiene la otra, la principal o cabezote es la forma con la info del cliente, nombre, direcccion etc, y la subforma es "orden" donde se puede crear nueva orden para ese cliente, y el campo llamado total lo que quiero es que me muestre el maximo valor almacenado en la tabla orden en el campo nordenes pero lo no logico es que en el evento de un lost focus me actualiza el maximo pero no me lo hace cuando por logica debe ir cada vez que ha cambiado el idcliente.

voy a ver si logre entenderle.. intentare y le estare contando. ciao bro
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

RE:elemental pero con dolor de cabeza

Publicado por lina (48 intervenciones) el 26/07/2007 23:46:10
no funciono... no me actualiza el calculo del maximo cuando en el informe principal ha cambiado el cliente... realmente no es logico porque no aplica el recalculo cuando los ids han cambiado...

Que puede ser? es como si faltara aplicar un parche en la istalacion del access
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

RE:elemental pero con dolor de cabeza

Publicado por Cristian Vasquez (47 intervenciones) el 27/07/2007 20:14:21
Te envio un archivo con una explicacion mas grafica con un ejemplo de un aplicativo en el que estoy trabajando.

suerte..
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