Ciao
l'effetto che voglio ottenere da una query è questo:
29/3/2013 | Giacenza | 5 | 5 |
25/3/2013 | acquisto | 1 | 6 |
25/3/2012 | fabbisogno | -3 | 3 |
25/3/2012 | fabbisogno | -2 | 1 |
30/3/2013 | fabbisogno | -2 | -1 |
dove le colonne sono rispettivamente data, descrizione, quantità, saldo progressivo
la logica dell'ordine è:
1° giacenza, a prescindere dalla data degli altri
2° date dei movimenti
3° a parità di data, prima gli acquisti e poi i fabbisogni.
Fino a qui ci sono arrivato con i seguenti accrocchi:
ho aggiunto una colonna priorità alla tabella da cui ricavo i dati, dove la prio di giacenza è 0, di acquisto è 1 e di fabbisogno è 2
sulla query ho un campo calcolato attualizza() che ho definito come funzione pubblica su un modulo:
Public Function Attualizza(data As Date) As Date
If data < Now() Then
Attualizza = Now()
Else
Attualizza = data
End If
End Function
L'ordinamento funziona egregiamente, ordinando per data "attualizzata",priorità
Il campo quantità è un campo calcolato su i 2 campi della tabella [entratamerce]-[uscitamerce] della tabella
Il problema è definire il campo calcolato del saldo progressivo.
Le domande:
- come devo scrivere (se è possibile) la dsum per il calcolo del saldo?
- Nel caso del 25/3 ovvero con pari data e pari priorità, ci potrebbero essere degli errori?
se dovesse servire come informazione, la tabella da cui prendo i dati è composta dai campi
id (campo contatore, chiave univoca)
data
codice
descrizione
entratamerce
uscitamerce
priorità
mentre la query ha come criterio un singolo "codice"
Grazie