Newsgroup: it.comp.appl.access
Titolo: un problema di torte e di fette...

vi sottopongo questo problema, magari qualcuno trova una soluzione piu'
decente.
Dunque, fate conto d'avere una pasticceria e percio' producete torte che
vendete a fette.
Quindi 2 entita': Torte e rispettive Fette, in associazione 1->n
Le Torte sono identificate da un codice alfanumerico del tipo aa-xxxBUONA
dove aa e' l'anno di produzione, xxx un numero assegnato, BUONA una stringa
(che non ha bisgno di altri commenti...): questo codice e' naturalmente
chiave primaria della tabella torte (TorteID), nella quale tabella viene
anche inserito il numero di fette ricavato da quella particolare
torta...(questo TorteID l'ho realizzato con un campo testo e relativa
maschera di input adatta).
Bene, passiamo alle fette: da ogni torta vengono ricavate N fette, *ogni*
fetta e' individuata da un codice cosi' composto: aa-xxxBUONAk/N che come si
vede altri non e' che il TortaID con in piu' l'indicazione della fetta k sul
totale delle fette N. Sia TorteID sia N sono ricavabili dalla tabella Torte,
il problema nasce con k che dev'essere un ''progressivo fino ad N''. Non so
se mi sono spiegato, il livello di glicemia a questo punto sta raggiungendo
la soglia di tolleranza: il problema nasce nella tabella Fette in quanto
possono ripetersi sia i TortaID sia i numerali k sia i totali N ma ***non
puo'*** ripetersi la combinazione TortaID+k+N. Io pensavo per la tabella
Fette di creare una chiave primaria composta in tre campi, data da TorteID,
un numerale progressivo non univoco per k, ed il totale di fette N, con un
controllo che quando k=N le fette della specifica torta sono tutte
contemplate e la torta stessa completamente definita: ho dei dubbi su come
realizzare il contatore k, magari con una query che verifichi quante fette k
della data TortaID sono gia' state immesse e quindi una funzione che vi
aggiunga 1 fino a N, che ne dite?
buone feste e buon natale
Eliantus
--------------------------------
Inviato via 
http://usenet.libero.it

Eliantus wrote:
[CUT]
Ti consiglio di creare una maschera in cui si inseriscono i dati delle torte
e poi tramite un pulsante Salva creare subito gli N record delle fette.
La struttura della tabella fette va bene quella che hai proposto:
TortaID Testo (relazionata con la tabella torte)
Fetta Numerico Intero
TotFette Numerico Intero
... (Altri campi)
Il codice per creare i record potrebbe essere:
dim SQL as String
dim i as integer
for i = 1 to Me.TotFette
SQL = "INSERT INTO Fette (TortaID, Fetta, TotFette) " & _
            "VALUES(""" & Me.TortaID & """, " & i & ", " & Me.TotFette & ")"
currentproject.connection.execute SQL
next i
Ho omesso la parte di controllo degli errori, facilmente codificabile.
Fammi sapere.
Saluti, Antonio.

 Fammi sapere.
sicuro, grazie 1k
ciao



Ti togli tante grane. Anche se dovrei sapere a cosa ti servono le fette, per
giudicare obiettivamente.


grane, del tipo? I dati delle fette creano un report o stampano
un'etichetta. Il fatto e' che non e' detto che tutte le possibili fette
vengano effettivamente utilizzate.
Se ho ben capito il codice che gentilmente hai postato (non sono ancora alle
seconde armi...) serve ad immettere nella tabella Fette gli id possibili
derivati dalla Torta corrente appena immessa, giusto?
Per evitare i valori null potrei creare con quel codice una tabella con solo
gli IDpossibili, dalla quale prelevare man mano che arrivano le fette gli ID
da inserire nella vera tabella Fette, che ne pensi? In questo caso la
gestione delle concorrenze in situazione multiutente sarebbe complicata?
saluti
