Reconozco que no me gustan las consultas. Personalmente pienso que el lenguaje SQL es mucho menos versátil que el VB. Supongo que los datos en las tablas los metes a través de un formulario, entonces ¿para que esperar a que las tablas tengan datos y así poder ejecutar una consulta, cuando lo puedes hacer directamente cuando introduces esos datos. Si tengo una tabla Compras(que sería la tuya de Caja Diaria(supongo), con la que voy a hacer un formulario y otra tabla Copia donde voy a tener esos datos agrupados.
Puedes ver que el cursor está todavía en efectivo. Cuando pulso Enter, no sólo me guarda los valores en la tabla Compras sino que también, de momento, como en la tabla Copia todavía no hay nada, me lo pasa a dicha tabla
Sigo rellenando registros y hay uno que se repite
En el momento que pulso Enter, la tabla Copia me la deja como
Si voy añadiendo registros(repito el 13/12/2020)
Cuando pulso Enter
El código del evento Después de actualizar del cuadro de texto Efectivo es
Private Sub Efectivo_AfterUpdate()
DoCmd.RunCommand acCmdSaveRecord
If Nz(DCount("*", "copia", "fechacompra=#" & Me.FechaCompra & "#")) = 0 Then
DoCmd.RunSQL "insert into copia (Fechacompra,efectivo)values(fechacompra,efectivo)"
Else
DoCmd.RunSQL "update copia set efectivo=dsum(""efectivo"",""compras"",""fechacompra=#" & Me.FechaCompra & "#"") where fechacompra=#" & Me.FechaCompra & "#"
End If
End Sub
De todas formas, si quieres, repito, si quieres haz una copia vacía de tu base y me la mandas a [email protected] y te preparo un ejemplo.
Si lo haces, en el asunto del mensaje pon tu alias Mariano, ya que si no sé quien me escribe ni los abro.