|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Aug 2002
Città: Torino
Messaggi: 1165
|
Quesito su Access (Per i più esperti una vera propria sfida)
Premetto che non è mia intenzione fare pubblicità, ma i nomi che utilizzerò servono per spiegare meglio quello che desidero creare.
Sarei intenzionato a creare una tabella 'Archivio' con i seguenti campi: macchina - Testo (nel quale poter inserire "4x4", "Auto sportiva", "Utilitaria", "Rappresentanza", …) marca - Testo (nel quale poter inserire "Fiat", "Opel", "Ford",…) modello - Testo (nel quale poter inserire "Punto", "Panda", "Espace", "Corolla"…) colore - Testo (nel quale poter inserire "Bianco", "Blu", "Blu elettrico", "Grigio"…) Una volta creata la tabella passerei alla creazione della relativa maschera per inserire i dati (attraverso l' autocomposizione). A questo punto mi sorge un dubbio: se ho già inserito come "macchina" '4x4' e volessi reinserirlo digitando solamente la prima lettera / cifra '4' o ancora meglio senza dover digitare la parola, come posso fare? Quali modifiche mi consigliereste? Vi chiedo questo perché non vorrei aver il caso '4x4' e '4 x 4' che giustamente il database vede come due cose diverse. Andando avanti, mi servirebbe creare una query o tabella o altro (con gli stessi campi descritti prima o con riferimento a questi) e subito dopo, costruita la maschera, poter riselezionare i dati inseriti, ma in modo condizionato. Mi spiego meglio: Se nella tabella 'Archivio' ho creato i seguenti record - Utilitaria / Fiat / Punto / Bianca - Rappresentanza / Alfa Romeo / 145 / Nera (non so se esiste) - Auto sportiva / Fiat / Barchetta / Gialla - Utilitaria / Fiat / Stilo / Grigio - Utilitaria / Lancia / Y / Gialla - Utilitaria / Fiat / Punto / Nera Vorrei che nella query o tabella o altro creata selezionando il dato dal campo "macchina" ottenga in ordine crescente 'Auto sportiva', 'Rappresentanza', 'Utilitaria' (in particolare solo una voce per Utilitaria e per altri casi futuri che non ho inserito); in base alla selezione del campo "macchina", possa scegliere solamente tra 'Fiat' e 'Lancia' (sempre in questo caso con una sola voce per 'Fiat'); passando al campo "modello", se ho scelto 'Fiat' ,possa selezionare solamente i modelli 'Punto' e 'Stilo' (sempre in questo caso con una sola voce per 'Punto'); se ho selezionato 'Stilo', in questo caso possa scegliere solamente il "colore" 'Giallo' (l' unico che ho inserito). Come avete capito vorrei avere una maschera che sia valida per ogni tipo di inserimento e composizione in modo condizionato o filtrato. !!!!! Lo so che non è una cosa semplice, ma confido nelle vostre ottime capacità !!!!! Inoltre sia possibile inserire dei dati nei campi in quest' ultima query o tabella o altro creata senza andare a modificare la tabella dalla quale sto prelevando i dati. Attenderò i vostri suggerimenti (che siano i più chiari possibili dato che non vorrei commettere errori dovuti ad una mia cattiva comprensione) |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Aug 2002
Città: Torino
Messaggi: 1165
|
Mi sono dimenticato di dire che:
la maschera della tabella 'Archivio' è una sottomaschera (figlia) di una maschera 'Riassunto' (madre) i cui campi non hanno imoportanza. Per creare una relazione tra le due maschere, bisogna che vi sia nella maschera un campo 'Contaore' - Chiave primaria e nella sottomaschera un campo di tipo 'Numerico'. Definito questo ho bisogno che la query o tabella o altro creata debba essere una sottomaschera (figlia) di una maschera Riepilogo' (madre). A questo punto si prospetta questa situazione: che il primo record della Maschera 'Riepilogo' (madre) contiene la sottomaschera (figlia) e qui bisogna risolvere il problema che ho descritto nella prima discussione. |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Aug 2002
Città: Torino
Messaggi: 1165
|
Forse con la prima risposta che ho dato, vi ho messo più confusione in testa. Mi spiego meglio:
Vorrei creare una Database per raccogliere tutti i modellini d' auto dei miei amici. Per far questo, ho bisogno di creare una Tabella 'Nominativi' nella quale far comparire solamente due campi: IDNominativo - Contatore / Chiave primaria Nome - Testo (nel quale poter inserire "Marco", "Pietro",…) Subito dopo costruirei un nuova Tabella 'Archivio' con i seguenti campi: IDNominativo - Numerico (come riferimento alla Tabella 'Nominativi') macchina - Testo (nel quale poter inserire "4x4", "Utilitaria" …) marca - Testo (nel quale poter inserire "Fiat", "Opel", "Ford",…) modello - Testo (nel quale poter inserire "Punto", "Panda",…) colore - Testo (nel quale poter inserire "Bianco", "Blu",…) pagata - Numerico / Valuta (nel quale poter inserire " € 20",…) Terminate le due Tabelle, passerei alla creazione delle corrispondenti maschere, ma con un accorgimento (che la maschera della Tabella 'Nominativi' sia la maschera *Madre* e che la maschera della Tabella 'Archivio' sia la sottomaschera *Figlia* della maschera *Madre*) per creare tra le due maschere generate una relazione. Poniamo che io abbia aggiunto dei dati nelle rispettive maschere: Maschera 'Nominativi' 1° record IDNominativo "1" Nome "Marco" Maschera 'Archivio' 1° record macchina "Utilitaria" marca "Fiat" modello "Punto" colore "Bianco" pagata " € 20" 2° record macchina "Rappresentanza" marca "Alfa Romeo" modello "145" (non so se esiste) colore "Nero" pagata " € 35" 3° record macchina "Utilitaria" marca "Fiat" modello "Punto" colore "Giallo" pagata " € 30" 4° record macchina "Utilitaria" marca "Fiat" modello "Stilo" colore "Grigio" pagata " € 45" Maschera 'Nominativi' 2° record IDNominativo "2" Nome "Pietro" Maschera 'Archivio' 1° record macchina "Utilitaria" marca "Lancia" modello "Y" colore "Verde" pagata " € 24" 2° record macchina "Utilitaria" marca "Fiat" modello "Punto" colore "Giallo" pagata " € 31" N.B. Se ho già inserito come "macchina" '4x4' e volessi reinserirlo digitando solamente la prima lettera / cifra '4' o ancora meglio senza dover digitare la parola, come posso fare? Quali modifiche mi consigliereste? Vi chiedo questo perché non vorrei aver il caso '4x4' e '4 x 4' che giustamente il database vede come due cose diverse. Adesso mi servirebbe creare una nuova tabella 'Vendite' con in seguenti campi: IDVendite - Contatore / Chiave primaria acquirente - Testo (nel quale poter inserire nomi diversi da quelli della Tabella 'Nominativi') dataVendita - Data/ora (nel quale poter inserire "11/12/2003",…) Adesso non so cosa creare: o una query o una tabella o altro con nome 'Oggetto' che prelevi i dati inseriti dalla Tabella 'Archivio', ma in modo condizionato (ho pensato di utilizzare delle Caselle Combinate, faccio bene?). Una volta generata passerei alla creazione con autocomposizione della Maschera 'Vendite' (Madre) e della sottomaschera 'Oggetti' (Figlia) A questo punto in base agli inserimenti fatti, mi troverei nella seguente situazione: Maschera 'Vendite' 1° Record IDVendite "1" acquirente "Giovanni" dataVendita "15/11/2003" Maschera 'Oggetto' 1° Record Selezionando il dato dal campo "macchina" (che posso aver inserito come 1° Record o 2° Record della Maschera 'Nominativi') ottenga in ordine crescente Rappresentanza, Utilitaria (in particolare solo una voce per Utilitaria e per altri casi futuri che non ho inserito); in base alla selezione del campo "macchina" (in questo caso Utilitaria), possa scegliere solamente tra Fiat e Lancia (sempre in questo caso con una sola voce per Fiat) e non Alfa Romeo; passando al campo "modello", se ho scelto Fiat ,possa selezionare solamente i modelli Punto e Stilo (sempre in questo caso con una sola voce per Punto); se ho selezionato Punto, possa scegliere solamente come "colore" Bianco e Giallo (sempre in questo caso con una sola voce per Giallo); infine se ho scelto Giallo, possa selezionare solamente € 30 e € 31 dal campo "pagata". Allora il 1° Record della sottomaschera 'Oggetto' sarà macchina "Utilitaria" marca "Fiat" modello "Punto" colore "Giallo" pagata " € 30" Per adesso mi accontenterei dei vostri suggerimenti su questi miei quesiti |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:20.