Newsgroup: it.comp.lang.delphi
Titolo: Doppio Lookup

Ho il seguente problema, su una dbgrid ho bisogno di 2 lookup fatti
attraverso il componente Tquery,  il 2° lookup deve dipendere dal
primo come in una master detail.
ad es 
tabella 1
id1 	descr
1	pippo
2	paperino
tabella 2
id1	id2	descr
1	1	pluto
1 	2	topolino
2	1	minni
fin qui tutto 
ok.il
 problema si pone quando apro il lookup collegato
alla tabella 2 nella dbgrid, infatti "giustamente" mi scompaiono per
un momento tutti i valori ad eccezioni a quelli relativo al 1° lookup.
Ad es
se inserisco topolino nella grid mi restano i valori del 2° lookup
solo in quelle righe in cui id1=1 
Ho provato a gestirmi a mano la query sugli eventi on enter, on exit
della grid resta però il fatto che quando mi posiziono sul lookup ho
l'inconveniente sopra citato
Qualcuno può dirmi qualcosa?
Grazie Enrico
enrico....@asaperlo.it
 

 solo in quelle righe in cui id1=1
Non ho capito il problema: se selezioni nella query master il record con
ID=1 è chiaro che nella query detail ti vengono solo quelli con il valore
ID=1 nel campo collegato...
Potresti spiegarti meglio?
Saluti
        Marco Bortolani
        info @ 
marcobortolani.it

si in pratica è che il lookup sta nella grid, o meglio ho creato un campo di
lookup in una query alla quale poi è collegata la grid. Ora quelo che dici
tu è vero ed è il comportamento che voglio però nel momento in cui apro il
lookup sula grid tutte le le altre righe della grid con il 2° campo do
lookup già impostato precedentemente e con valori di  id <> 1 non mi
visualizzano più nulla perchè ora la query che punta al lookup ha id <>1.
spero di essere stato più chiaro, in poche parole ho una grid con dei valori
impostati c'è un campo lookup che quando ci clicco dentro mi fa sparire gli
altri valori già inseriti all'interno della grid su quel campo.
Concettualmente è giusto che faccia così io però vorrei forzare la cosa.
Grazie Enrico
Marco Bortolani ha scritto nel messaggio ...


Enrico ha scritto:
<snip>
Non ho capito nulla neanche stavolta.
Tu hai una dataset in cui hai creato un campo di lookup (perché ? mi
chiedo), hai collegato un datasource al dataset e una griglia al
datasource.  Che intendi per "aprire il lookup" ?  Che cosa vuoi "forzare"
esattamente ?
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

Allora ho 3 tabelle:
1)
id1    descrizione
1     pippo
2    pluto
2)
id1    id2    descrizione
1        1        minni
1        2        paperone
2        1        paperino
3) tabella
campo1        campo2        campo3    campo4
...    .                .....                pippo        minni
.....                    .....               pippo        paperone
....                    .....                pluto           paperino
il campo 3 e 4 diventano due menů a tendina nella dbgrid realizzati con due
campi di lookup sulla query.
Il problema č il seguente
supponiamo di aver inerito le prime due righe e vado ad inserire la terza, e
mi trovo in campo3, a questo punto selezioni pluto mi posiziono poi sul
campo4 e a questo punto il menů a tendina mi fa vedere giustamente solo
paperino tra le possibili scelte e fin qui tutto ok, il problema perň č che
mi vanno a scomparire i valori minni e paperone perchč non vengono piů visti
dalla query che realizza il lookup
penso che cosě sia piů chiaro
Grazie Enrico
Andrea Laforgia ha scritto nel messaggio ...


 dalla query che realizza il lookup
Ho capito.  Il problema č che utilizzi come query di lookup la stessa
che usi per il dettaglio (e quella giustamente non puň comprendere
tutti i valori possibili).  Devi usare un'altra query.



si ok avevo quasi ovviato all'inconveniente cambiando il valore della select
al run time in base a dove sono sulla grid, il problema perň mi si pone
quando entro nel campo4 perchč lě per forza devo avere una lista di valori
che deve essere scelta in base al valore del campo3.
Hai qualche consiglio?