View Full Version : ACCESS - Casella di riepilogo a discesa
windswalker
27-10-2005, 17:15
In attesa di comprare il mio primo manuale di access, sto lavorando da autodidatta ad un database di access.
Problema: da una casella di riepilogo a discesa, devo associare PIU' valori (e non solo uno) dei record che visualizzo su una maschera che ho creato.
Ovvero:
nella maschera devo inserire i seguenti campi "abitazione - indirizzo - città - provincia" che dovrò prendere da una casella di riepilogo contenente tutti i campi che mi interessano.
Con la creazione guidata riesco a far inserire solo 1 campo nella casella associata: gli altri!??!?!?!b :muro:
Mille grazie a qualsiasi suggerimento (ci sto sopra da 2 giorni....)
ps l'opzione che sto utilizzando esattamente è "casella combinata", penso sia la stessa cosa.... o no?? :confused:
windswalker
27-10-2005, 20:45
Uppare o non uppare, questo è il dilemma....
:sob:
...
Uppo! :D
windswalker
28-10-2005, 12:08
Azz, io pensavo di aver fatto una domanda stupida e invece qui nessuno che risponda! :eek:
O forse è COSI' stupida la domanda che non merita risposta.... :oink:
ziozetti
28-10-2005, 13:54
Non è così stupida, ci ho perso mooolto tempo anche io a suo tempo... :)
Le combo box possono avere più colonne, le imposti nelle opzioni; la prima si chiama 0, poi 1 e così via.
Se i dati nella combo sono così:
|Via|Civico|Città|Provincia|
Mettiamo che la combobox si chiami "IndirizzoCompleto" e ci sia un'altra casella in cui vuoi fare "apparire" solo il numero civico, come origine dati scrivi:
=[IndirizzoCompleto].column(1)
Suppongo non sia molto chiaro... chiedi se hai bisogno. :)
windswalker
28-10-2005, 14:29
Non è così stupida, ci ho perso mooolto tempo anche io a suo tempo... :)
Le combo box possono avere più colonne, le imposti nelle opzioni; la prima si chiama 0, poi 1 e così via.
Se i dati nella combo sono così:
|Via|Civico|Città|Provincia|
Mettiamo che la combobox si chiami "IndirizzoCompleto" e ci sia un'altra casella in cui vuoi fare "apparire" solo il numero civico, come origine dati scrivi:
=[IndirizzoCompleto].column(1)
Suppongo non sia molto chiaro... chiedi se hai bisogno. :)
Penso che l'ultima frase sia l'unica che ho capito :oink:
Dunque, forse mi sono espresso male nella richiesta, quindi riformulo: nella maschera principale (che ho chiamato locatario) ho inserito una sottomaschera (chiamata immobili). Ho creato una relazione tra le 2 tabelle (rispettivamente locatario e immobili) tra l'ID della tabella immobili (chiave primaria) con un IDlocatario della tabella locatario (chiave esterna). Il tipo di relazione è uno a molti, in modo tale che uno stesso immobile possa essere correlato a più locatari (non ho attivato l'integrità referenziale..).
Adesso, nella sottomaschera degli immobili vorrei poter controllare, tramite il famigerato menu a tendina, se un immobile è stato già inserito per un altro locatario. Se sì, con un semplice click inserire tutti i dati relativi senza reinserirli. Se no, inserire manualmente i dati nella sottomaschera (andando quindi a integrare anche la tabella cui farà riferimento il menu a tendina per le prossimi record locatari).
Tenendo conto della procedura che ho eseguito finora (che non sono affatto sicuro essere corretta, visto che è la mia prima settimana di access), dalle tue indicazioni penso di dover scrivere come origine dati della sottomaschera immobili la stringa che hai postato tu, solo che nel mio caso la tabella è la stessa! Cosa mi sono perso? :muro:
ziozetti
28-10-2005, 14:46
Penso ci sia un'ottima incompatibilità fra di noi, tu non capisci quanto scrivo, e io non capisco... cosa scrivi tu! :D
Se non ci sono dati troppo privati mandami il file a ziozetti at tiscali punto it, vedo se riesco a farci qualcosa...
PS: Questo weekend sono via, non aspettarti risposte lampo! :D
windswalker
28-10-2005, 14:55
Penso ci sia un'ottima incompatibilità fra di noi, tu non capisci quanto scrivo, e io non capisco... cosa scrivi tu! :D
Se non ci sono dati troppo privati mandami il file a ziozetti at tiscali punto it, vedo se riesco a farci qualcosa...
PS: Questo weekend sono via, non aspettarti risposte lampo! :D
Ottimo, l'importante è (non) capirsi! :D
Sarò io che ho fatto un gran casino, visto che sto usando access da 5 giorni, quindi immagino di scrivere anche con i piedi :rolleyes:
Per la tua offerta ti ringrazio molto, solo che non volevo essere così "invadente" al punto da spedire dirattamente il database!
Visto che questo weekend sei impegnato, vedo di lavorarmi un po' io il bastardo... Se dovesse avere la meglio (cosa che ahimè temo e prevedo) allora approfitto della tua disponibilità ;)
Ancora grazie e buon weekend :)
ziozetti
28-10-2005, 15:03
Manda senza problemi, te l'ho detto io! :)
Prima o poi lo guardo, al massimo se ci riesci da solo mi spieghi come hai fatto! :D
windswalker
31-10-2005, 17:54
Grazie ancora per la disponibilità. Oggi pomeriggio ho risolto! :yeah:
L'idea mi era venuta qualche notte fa alle 5 del mattino, apro gli occhi e mi vedo la relazione. Provando ad applicarla ho fatto casini (tanto per cambiare..) e ovviamente non andava un tubo, così ho pensato di aver toppato.
Oggi mi son detto che forse valeva la pena riprovare, e ho risolto!
La cosa che ho fatto è abbastanza semplice: la casella combinata mi sputa fuori un solo valore. Io volevo che mi completasse una sottomaschera (quella degli immobili) selezionando uno degli immobili già inseriti nel menu a tendina. Allora nella casella combinata ho messo come origine controllo associato l'id (che sarebbe quello degli immobili) alla chiave esterna della tabella dei locatari (chiamata idLocatario). Quindi nel menu proprietà della casella combinata, "colonna associata=1" e "origine controllo=idLocatario". In questo modo quando cliccko sul menu a tendina mi aggiorna automaticamente anche la sottomaschera degli immobili associata al locatario corrente.
Per far sì che la casella combinata aggiorni gli eventuali record immessi nella sottomaschera, ho inserito l'evento requery su click nella casella combinata.
Che fatica.... :coffee:
Ora non mi resta che risolvere l'altro problema che ho creato: nella sottomaschera immobili risulta sempre presente un record già immesso, anche se nella maschera principale vado su nuovo record. In questo modo quando scrivo dati nella sottomaschera immobili vado solo a modificare quelli che ho già inserito, ma non ne creo di nuovi.
Mi conviene creare un pulsante di comando nella sottomaschera per aprire un nuovo record o c'è un modo per automatizzare il tutto?
O forse faccio prima a :bsod: :D
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.