Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Esta me queda grande...!

1 view
Skip to first unread message

Elwood

unread,
Jan 27, 2003, 8:41:17 AM1/27/03
to
Hola a tod@s,
me encuentro con un problemilla mu'  tonto al que no consigo dar solución:
 
Tengo dos tablas y dos formularios: "DetalleDePedidos" y "Pedidos"; en la primera tengo: IdCliente y FechaPedido, en la segunda: nº unidades, precio y descuento.
 
Quiero hacer que un cuadro de lista me haga una consulta y me devuelva el total de todos los pedidos del mes y del cliente actual.
 
Hice esto:
 

SELECT [Pedidos].[IdCliente], Sum(([Unidades]*[Precio])*(1-[Descuento])) AS ImporteNeto FROM Pedidos INNER JOIN DetalleDePedidos ON [Pedidos].[IdPedido]=[DetalleDePedidos].[IdPedido] GROUP BY [Pedidos].[IdCliente], [Pedidos].[FechaPedido] HAVING (((Pedidos.IdCliente)=[Formularios]![DetalleDePedidos]![IdCliente]) AND ((Format([Formularios]![Ficha Clientes]![DetalleDePedidos].[Formulario]![FechaPedido],"mm"))=Format(Date(),"mm")));

y me funciona, pero no se como hacer para que el control se actualize (haga un Requery) cada vez que inserto un nuevo producto en el pedido.

He intentado varias cosas, pero ¡ na' de na' !

Ayudadme, por favor!!!
 
Salu2, ELWOOD.
 
 

karlitox

unread,
Jan 27, 2003, 1:49:47 PM1/27/03
to
Pues a primera vista, parece que basta con que en el evento que te interese pongas un:
 
Me.Lista.Requery
 
¿Me estaré pasando de listo?
 
Saludos
 
:-)
 
"Elwood" <elw...@mixmail.com> escribió en el mensaje news:OB$3VpgxCHA.2600@TK2MSFTNGP11...
 
Salu2, ELWOOD.
 
 

MAX

unread,
Jan 27, 2003, 2:23:23 PM1/27/03
to
Ya... pero en que evento?
Hasta ahora no me lo hace en ninguno. Mejor dicho: despues de actualizar el campo IdProducto (que en realidad es el campo que tendria que controlarlo todo), pero cada vez se actualiza según la inserción anterior.
 
Ej.: si pongo 12 productos, luego 6 y luego 2, quando termino de poner los 2, me dice que tengo un total de 18 artículos.
 
El hecho es que tengo todos los datos en formularios anidados de esta forma:
 
Ficha Clientes:------
                           |
                      Detalle de Pedidos------
                                                       |
                                                 Pedidos
 
el Cuadro de lista está en detalle de pedidos, mientras IdProducto (otro cuadro de lista) en pedidos; al actualizarse este ultimo, occurre esto:
 
Me![Descripción]=Me![IdProducto].Column(2)
Me![PrecioU]=Me![IdProducto].Column(3)
 
Si añado
 
Forms ! [Ficha Clientes] . Form ! Detalle de Pedidos ! TOTALdeMes . Requery
 
Tendria que funcionar, pero... no es así. Que hago mal?
Gracias por responderme.
MAXXL.
 
"karlitox" <karl...@estema.org> escribió en el mensaje news:eqr7KTjxCHA.1712@TK2MSFTNGP10...
 
Salu2, ELWOOD.
 
 

Eva Etxebeste

unread,
Jan 27, 2003, 3:17:08 PM1/27/03
to
Hola Max
 
Prueba con
 
Forms![Ficha Clientes].Detalle de Pedidos.TOTALdeMes.Requery
o
Forms![Ficha Clientes].Detalle de Pedidos.Form.TOTALdeMes.Requery
 
En cualquier caso, creo que habría que mirar con más detenimiento en qué eventos colocar este código. A bote pronto, se me ocurre:
 
Después de insertar
Después de eliminar
Después de actualizar cantidad (si es que depende de la cantidad de cada producto)
 
A ver si lo vamos pillando :)
 
--
Eva Etxebeste
[MS MVP Access]
"MAX" <max...@virgilio.it> escribió en el mensaje news:#NietojxCHA.2120@TK2MSFTNGP11...

Juan M. Afan de Ribera

unread,
Jan 27, 2003, 3:35:24 PM1/27/03
to
Qué bueno que apareciste Evita! Se te echaba de menos.

--
Saludos desde Barcelona
Juan M. Afan de Ribera
MVP [Ms Access]


"Eva Etxebeste" <eetxebesteARROBAhotmail.com> escribió en el mensaje
news:eX#e9DkxCHA.2916@TK2MSFTNGP09...

Nrvous

unread,
Jan 27, 2003, 6:24:15 PM1/27/03
to
Hola Elwood!
Prueba a ver esto si te funciona.
1)Crea una nueva macro llamada Refrescar
2) en la nueva macro introduce la la acción EjecutarComando
3) En el cuadro correspondiente al comando a ejecutar elige
Actualizar
4) Guarda la Macro con el nombre Refrescar o el que tu quieras
5) Vete al formulario con tu cuadro de lista y los eventos Al perder
el enfoque, o Al salir selecciona la macro Refrescar (o el nombre que
le hayas puesto)
Espero que te funcione, (a mi me va bien)
Un Saludo,
Nrvous

"MAX" <max...@virgilio.it> wrote in message news:<#NietojxCHA.2120@TK2MSFTNGP11>...


> Ya... pero en que evento?
> Hasta ahora no me lo hace en ninguno. Mejor dicho: despues de actualizar
> el campo IdProducto (que en realidad es el campo que tendria que

> controlarlo todo), pero cada vez se actualiza seg n la inserci n

> anterior.
>
> Ej.: si pongo 12 productos, luego 6 y luego 2, quando termino de poner

> los 2, me dice que tengo un total de 18 art culos.


>
> El hecho es que tengo todos los datos en formularios anidados de esta
> forma:
>
> Ficha Clientes:------
> |
> Detalle de Pedidos------
> |
> Pedidos
>

> el Cuadro de lista est en detalle de pedidos, mientras IdProducto

> (otro cuadro de lista) en pedidos; al actualizarse este ultimo, occurre
> esto:
>

> Me![Descripci n]=Me![IdProducto].Column(2)


> Me![PrecioU]=Me![IdProducto].Column(3)
>

> Si a ado


>
> Forms ! [Ficha Clientes] . Form ! Detalle de Pedidos ! TOTALdeMes .
> Requery
>

> Tendria que funcionar, pero... no es as . Que hago mal?
> Gracias por responderme.
> MAXXL.
>
> "karlitox" <karl...@estema.org> escribi en el mensaje

> news:eqr7KTjxCHA.1712@TK2MSFTNGP10...
> Pues a primera vista, parece que basta con que en el evento que te
> interese pongas un:
>
> Me.Lista.Requery
>

> Me estar pasando de listo?
>
> Saludos
>
> :-)
>
> "Elwood" <elw...@mixmail.com> escribi en el mensaje

> news:OB$3VpgxCHA.2600@TK2MSFTNGP11...
> Hola a tod@s,
> me encuentro con un problemilla mu' tonto al que no consigo dar

> soluci n:


>
> Tengo dos tablas y dos formularios: "DetalleDePedidos" y "Pedidos";
> en la primera tengo: IdCliente y FechaPedido, en la segunda: n

> unidades, precio y descuento.
>
> Quiero hacer que un cuadro de lista me haga una consulta y me
> devuelva el total de todos los pedidos del mes y del cliente actual.
>
> Hice esto:
>
> SELECT [Pedidos].[IdCliente],
> Sum(([Unidades]*[Precio])*(1-[Descuento])) AS ImporteNeto FROM Pedidos
> INNER JOIN DetalleDePedidos ON
> [Pedidos].[IdPedido]=[DetalleDePedidos].[IdPedido] GROUP BY
> [Pedidos].[IdCliente], [Pedidos].[FechaPedido] HAVING
> (((Pedidos.IdCliente)=[Formularios]![DetalleDePedidos]![IdCliente])
> AND ((Format([Formularios]![Ficha
> Clientes]![DetalleDePedidos].[Formulario]![FechaPedido],"mm"))=Format(D
> ate(),"mm")));
>
> y me funciona, pero no se como hacer para que el control se
> actualize (haga un Requery) cada vez que inserto un nuevo producto en el
> pedido.
>
> He intentado varias cosas, pero na' de na' !
>
> Ayudadme, por favor!!!
>
> Salu2, ELWOOD.
>
>
>

> --

MAX

unread,
Jan 27, 2003, 6:10:25 PM1/27/03
to
Hola a tod@s l@s que me han ayudado,
 
he puesto:
 
Private Sub Form_AfterUpdate()
        Forms![Ficha Clientes].Form!DetalleDePedidos!TotMes.Requery
End Sub
 
y parece que por fín me funciona como es debido. Hasta aquí todo bien... ahora es otra:
 
para terminar la dichosa BD, tengo solo que usar el valor de mi Cuadro de Lista, bién pasandoselo a otro control (cosa que no me gustaria hacer y que me parece inutil):
 
Forms![Ficha Clientes].Form!DetalleDePedidos!ControlCredito = Forms![Ficha Clientes].Form!DetalleDePedidos!TotMes.Column(2)
 
o bién usandolo directamente:
 
 If (Forms![Ficha Clientes]![CreditoConcedido] - Forms![Ficha Clientes].Form!DetalleDePedidos!TotMes.Column(2)) < Forms![Ficha Clientes]![CreditoLimite] Then
    
        DoCmd.OpenForm "Formulario de Aviso Credito", acNormal, , , , acDialog
 
 End If
 
Todo esto lo pondria en el evento "Form_AfterUpdate" de arriba, porqué me tiene que abrír un formulario que me avise exactamente quando se cumple la condición arriba y todo esto mientras añado productos en el pedido.
En fín, algo como:
 
Private Sub Form_AfterUpdate()
        Forms![Ficha Clientes].Form!DetalleDePedidos!TotMes.Requery
             If (Forms![Ficha Clientes]![CreditoConcedido] - Forms![Ficha Clientes].Form!DetalleDePedidos!       
                                            TotMes.Column(2)) < Forms![Ficha Clientes]![CreditoLimite] Then
    
                        DoCmd.OpenForm "Formulario de Aviso Credito", acNormal, , , , acDialog
 
                End If
End Sub
 
Pero... no me lo coje!!! ni siquiera ve el valor del Cuadro de Lista, lo calcula, lo visualiza, lo actualiza, está allí, pero no lo puedo usar!!!
 
SOCORRO!!!
MAXXL.

 
"Eva Etxebeste" <eetxebesteARROBAhotmail.com> escribió en el mensaje news:eX#e9DkxCHA.2916@TK2MSFTNGP09...

Elwood

unread,
Jan 28, 2003, 2:51:20 AM1/28/03
to
Ya lo tengo hecho!

Gracias a tod@s por la ayuda!!! En particular a Eva que con su aconsejado
"Requery" me ha desbloqueado todo!!!

Lo demas era solo questión de código mal escrito: .Column(1) en vez de
.Column(2).
Si es que en access se empiezan a contar las columnas desde cero! So memo
que soy!!!!

'Ta luego!

Eva Etxebeste

unread,
Jan 28, 2003, 3:20:41 AM1/28/03
to

Jomiojomio, estoy de curro hasta mucho más allá de mi cabeza (tampoco es tan
difícil......) y cada vez que entro me encuentro con tropecientosmil
mensajes nuevos!!!!!!!!!

Yo también os echo de menos .... sniffff ... ;) Por cierto, tengo que hablar
contigo, a ver si coincidimos un día de estos


--
Eva Etxebeste
[MS MVP Access]


"Juan M. Afan de Ribera" <happy...@ya.com> escribió en el mensaje
news:esuqZNkxCHA.2712@TK2MSFTNGP12...

Sendo Gimenez

unread,
Jan 28, 2003, 4:19:22 AM1/28/03
to

yaya.....pero quilla, no apaices nunca....y paece ser que no contestas los
emails mandados a ninguno de tus correos.....(Es broma, .....no te menfades
...eh? )
A ver si que quitas el agobio del currelo y vienes mas a vernos que nos ties
mu abandonaos, mi arma!!!.......bua, bua.....buaaaaa....;-))
Saludos desde England y cuidate.
Sendo
summitmedia.co.uk
"Eva Etxebeste" <eetxebesteARROBAhotmail.com> wrote in message
news:#dOOebqxCHA.1900@TK2MSFTNGP10...
0 new messages