Discussione:
Database per gestione ordini
(troppo vecchio per rispondere)
Franco
2008-09-03 10:14:27 UTC
Permalink
Ciao a tutti.
Sto preparando un database per gestire gli ordini di acquisto e mi sono
trovato di fronte ad un piccolo problema.
Il database prevede le seguenti tabelle:
- tabella Fornitori
- tabella Articoli
- tabella Ordini
- tabella OrdiniDettagli

Nella tabella Ordini inserisco gli estremi dell'ordine, quindi il numero
ordine, la data, il fornitore.
Nella tabella OrdiniDettagli, in relazione molti ad uno con la tabella
Ordini, inserisco tutti gli articoli che devo ordinare.

Per inserire gli ordini, ho creato una maschera con sottomaschera. Nella
maschera vanno i dati della tabella ordini, nella sottomaschera gli articoli
relativi all'ordine.
Il problema e' che se comincio ad inserire i dati nella maschera, e poi
chiudo la maschera, mi ritrovo con degli ordini senza articoli.
Vorrei fare in modo, in pratica, che non possano esistere record nella
tabella Ordini se non ne è presente almeno 1 correlato nella tabella
OrdiniDettaglio.
Quindi, se esco dalla maschera di inserimento ordini senza aver attribuito
almeno un articolo all'ordine, la tabella ordini non deve memorizzarmi alcun
record.
Fair87
2008-09-03 10:40:41 UTC
Permalink
Post by Franco
Ciao a tutti.
Sto preparando un database per gestire gli ordini di acquisto e mi sono
trovato di fronte ad un piccolo problema.
- tabella Fornitori
- tabella Articoli
- tabella Ordini
- tabella OrdiniDettagli
Nella tabella Ordini inserisco gli estremi dell'ordine, quindi il numero
ordine, la data, il fornitore.
Nella tabella OrdiniDettagli, in relazione molti ad uno con la tabella
Ordini, inserisco tutti gli articoli che devo ordinare.
Per inserire gli ordini, ho creato una maschera con sottomaschera. Nella
maschera vanno i dati della tabella ordini, nella sottomaschera gli articoli
relativi all'ordine.
Il problema e' che se comincio ad inserire i dati nella maschera, e poi
chiudo la maschera, mi ritrovo con degli ordini senza articoli.
Vorrei fare in modo, in pratica, che non possano esistere record nella
tabella Ordini se non ne è presente almeno 1 correlato nella tabella
OrdiniDettaglio.
Quindi, se esco dalla maschera di inserimento ordini senza aver attribuito
almeno un articolo all'ordine, la tabella ordini non deve memorizzarmi alcun
record.
Sull'evento uscita della maschera ORDINI fai un controllo con Recordcount della tua sottomaschera. Se > 0 allora ci sono righe e aggiorni il doc, se = 0 allora è vuoto e cancelli la testata d'ordine
--
Questo articolo e` stato inviato dal sito web http://www.nonsolonews.it
CIDI
2008-09-03 10:45:22 UTC
Permalink
Post by Franco
Ciao a tutti.
Sto preparando un database per gestire gli ordini di acquisto e mi sono
trovato di fronte ad un piccolo problema.
- tabella Fornitori
- tabella Articoli
- tabella Ordini
- tabella OrdiniDettagli
Nella tabella Ordini inserisco gli estremi dell'ordine, quindi il numero
ordine, la data, il fornitore.
Nella tabella OrdiniDettagli, in relazione molti ad uno con la tabella
Ordini, inserisco tutti gli articoli che devo ordinare.
Per inserire gli ordini, ho creato una maschera con sottomaschera. Nella
maschera vanno i dati della tabella ordini, nella sottomaschera gli
articoli relativi all'ordine.
Il problema e' che se comincio ad inserire i dati nella maschera, e poi
chiudo la maschera, mi ritrovo con degli ordini senza articoli.
Vorrei fare in modo, in pratica, che non possano esistere record nella
tabella Ordini se non ne è presente almeno 1 correlato nella tabella
OrdiniDettaglio.
Quindi, se esco dalla maschera di inserimento ordini senza aver attribuito
almeno un articolo all'ordine, la tabella ordini non deve memorizzarmi
alcun record.
Ciao Franco
in una casella di testo non associato della maschera Ordini metti un
riferimento
ad una casella di testo della sottomaschera OrdiniDettaglio, che dovrebbe
contenere il totaleOrdine :
=smDettagliOrdini.Form!totaleordine
su chiusura della maschera Ordini:
If IsNull(Me.NomeCasella) Then
If MsgBox(" A T T E N Z I O N E " Vuoi chiudere senza i
particolari?", vbYesNo) = vbYes Then

DoCmd.SetWarnings False
DoCmd.RunSQL "DELETE tblFattureVendite.IDSpedizione FROM
tblFattureVendite WHERE
(((tblFattureVendite.IDSpedizione)=Forms!mFatturaVendita![IDSpedizione]));",
0

DoCmd.SetWarnings True

Exit Sub
Else
Cancel = True
End If
End If

adatta i nomi

Daniele

Loading...