View Full Version : Access: campo ricerca editabile
Salve a tutti.
Sto cercando di imparare ad usare questo programma, su cui non ho mai lavorato.
Problemi ne ho un buon numero, ma il primo e più fastidioso che non riesco a risolvere è questo, che penso essere una stupidata, ma proprio non mi fa andare avanti.
Tabella Operazioni (tabella 1), con i suoi campi, tra i quali un campo causale relazionato ad una tabella (2) Causali, con la descrizione della causale dell'operazione.
Ho costruito il campo della tabella 1 come campo di ricerca riferito alla tabella 2: vedo giustamente il menù a tendina, ma non posso inserire nuovi record, nel senso che sono costretto a scegliere solo i valori preregistrati nella tabella 2.
Io vorrei fare un campo, invece, che abbia l'elenco a tendina dei campi già inseriti in passato, ma mi permetta di aggiungere al volo nuove causali, da visualizzare in seguitanti inserimenti.
Spero sia chiaro il discorso, in caso mi spiegherò meglio. :)
Ho provato a farlo sia direttamente in tabella, sia sfruttando una maschera di inserimento dati.
Ora, è ovvio che chiunque sappia usare access saprà farlo in 1 secondo, ma per me, credetemi, è un bel casino :(
Grazie a tutti per l'aiuto :)
non serve avere una tabella 2 solo con le causali...
basta che imposti il combo per prendere i dati dal campo stesso della tabella 1....
crei col wizard il form...
poi in design view cambi il campo causali in COMBO BOX
nelle properties del combo in DATA avrai come
rrow source type Table/query
nella riga sotto Row source
dovrai scrivere qualcosa di questo tipo
SELECT DISTINCT Table1.causali FROM Table1 WHERE (((Table1.causali) Is Not Null)) ORDER BY Table1.causali;
chiaramente controlla i parametri di tabella e campo causali
Originariamente inviato da Dardalo
Ora, è ovvio che chiunque sappia usare access saprà farlo in 1 secondo, ma per me, credetemi, è un bel casino :(
Grazie a tutti per l'aiuto :)
guarda anche io è da poco che ci smanaccio... ti consigli di passarci sopra tanto ma tanto tempo....e di usare molto l'help con gli esempi....e poi fai prove su prove....alla fine si trova....se no chiedi aiuto qui...come faccio anche io :)
PS: non ho idea se i comandi siano uguali anche in lingua italiana....io ce l'ho solo in inglese....tipop il SELECT DISTINCT...in italiano è diverso??
Originariamente inviato da zuper
non serve avere una tabella 2 solo con le causali...
basta che imposti il combo per prendere i dati dal campo stesso della tabella 1....
crei col wizard il form...
poi in design view cambi il campo causali in COMBO BOX
nelle properties del combo in DATA avrai come
rrow source type Table/query
nella riga sotto Row source
dovrai scrivere qualcosa di questo tipo
SELECT DISTINCT Table1.causali FROM Table1 WHERE (((Table1.causali) Is Not Null)) ORDER BY Table1.causali;
chiaramente controlla i parametri di tabella e campo causali
Grazie, proverò a fare così :)
Tuttavia, perché dici di usare solo 1 tabella? All'interno di un DB relazionare è meglio (almeno così mi dissero) sfruttare la possibilità di relazionare uno-a-molti i campi di diverse tabelle...per questo pensavo fosse meglio :)
Originariamente inviato da Dardalo
Grazie, proverò a fare così :)
Tuttavia, perché dici di usare solo 1 tabella? All'interno di un DB relazionare è meglio (almeno così mi dissero) sfruttare la possibilità di relazionare uno-a-molti i campi di diverse tabelle...per questo pensavo fosse meglio :)
boh di solito quando ho una possibilità + semplice uso quella....sicuramente si possono creare 70 tabelle relazionate tutte insieme....ma non ne vedo l'utilità :)
Originariamente inviato da zuper
boh di solito quando ho una possibilità + semplice uso quella....sicuramente si possono creare 70 tabelle relazionate tutte insieme....ma non ne vedo l'utilità :)
Hai ragione in effetti, mi ricordo che avevo pensato così sia per provare, sia per possibili aggiunte future...
Allora, ho provato a fare una sola tabella, con tutte le informazioni: in effetti, in questo modo il combo box funziona benissimo, nel senso che posso fare tutto :)
Tuttavia, utilizzando la tabella per inserire i dati (la maschera conto di farla oggi), non aggiorna il menù a tendina "in tempo reale", facendolo solo quando chiudo e riapro la tabella. E' normale? E se si, c'è un modo per cambiare questa cosa?
Io penso, ma posso essere smentito, che dipenda dal fatto che mantiene in stand by il nuovo record per preservare l'integrità dei dati, e quindi non permette di vedere subito i cambi correlati. Finché è per prova (e se avviene solo inserendo i dati in tabella direttamente, cosa che l'utente finale non farà mai) non mi interessa, ma non vorrei lo facesse sempre: io voglio che, ogni nuovo record aggiorni i combo box impostati, perché senza è una rottura di scatole inserire molti record assieme...
Inoltre, usando le 2 tabelle come prima, ho capito cosa c'era che non andava: nella proprietà della ricerca impostavo male 2 voci (colonna associata e solo in elenco), ed ovviamente non andava un tubo... :muro:
Tuttavia, adesso posso inserire un nuovo valore nella colonna, o vedere ed usare quello vecchi, ma non mi aggiorna la tabella correlata, cioé mi memorizza il nuovo campo, ma nel menù a tendina non c'è, ed ovviamente neppure nella tabella di origine dati. Ovvimente sarà perché il nuovo valore lo immagazzina nella tabella corrente, ma che caspio mi serve allora avere l'altra?
Devo usare il comando INSERT? Ma dove devo farlo?
Grazie :)
si hai ragione che non aggiorna...
io ho risolto creando una macro
runcommand -> refresh
e dai la macro o ad un bottone oppure come evento OnLostFocus del campo ;)
Originariamente inviato da zuper
...oppure come evento OnLostFocus del campo ;)
Perdona la enorme ignoranza, ma in che modo? Cioé, dove lo faccio? :rolleyes:
Originariamente inviato da Dardalo
Perdona la enorme ignoranza, ma in che modo? Cioé, dove lo faccio? :rolleyes:
crei la macro dal pannellino macro
apri il form in design view....apri le proprietà del combo box...in eventi ci sarà la voce onlostfocus...e selezioni dalla finestrella il nome della macro che ti esce :)
Originariamente inviato da zuper
crei la macro dal pannellino macro
apri il form in design view....apri le proprietà del combo box...in eventi ci sarà la voce onlostfocus...e selezioni dalla finestrella il nome della macro che ti esce :)
Sono riuscito inserendolo in un controllo (cioé nella maschera di inserimento ho associato il comando DoCmd.RunCommand (acCmdRefresh) al pulsante salva record).
QUando paralvi di Campo, intendevi come proprietà di un campo della tabella? Lì non ho trovato nulla...:rolleyes:
Originariamente inviato da Dardalo
Sono riuscito inserendolo in un controllo (cioé nella maschera di inserimento ho associato il comando DoCmd.RunCommand (acCmdRefresh) al pulsante salva record).
QUando paralvi di Campo, intendevi come proprietà di un campo della tabella? Lì non ho trovato nulla...:rolleyes:
no intendevo proprio le proprietà del combo box....selezioni il combo box tasto destro proprietà :)
quindi funziona?
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.