Il linguaggio di programmazione Delphi
 

relazione master-details

Raffaele Filomena 2 Feb 2017 10:05
Voglio chiedere un'informazione. Ho 2 tabelle in relazione master-details che
visualizzo tranquillamente su 2 DBGrid.
Vorrei però visualizzare il dettaglio delle righe detail su DBEdit diversi come
potrei fare?
Non so se sono stato chiaro.
Dovrei impostare una query per ogni riga della tabella dentail?
si può fare tutto con 1 sola query?
grazie
Daniele 2 Feb 2017 14:47
Ciao,

> Voglio chiedere un'informazione. Ho 2 tabelle in relazione master-details
> che visualizzo tranquillamente su 2 DBGrid.
> Vorrei però visualizzare il dettaglio delle righe detail su DBEdit diversi
> come potrei fare?
> Non so se sono stato chiaro.
> Dovrei impostare una query per ogni riga della tabella dentail?
> si può fare tutto con 1 sola query?

Non so se ho capito, le due tabelle sono visualizzate in 2 dbgrid diverse e
per la seconda (detail) vuoi visualizzare alcuni campi in alcuni dbedit.
Se questo e' il caso, inserisci quanti dbedit necessiti e per ogni dbedit
devi specificare il dataset e il campo a cui puntare.
In questo modo quando scorri il la seconda griglia, i valori da te richiesti
saranno visualizzati nei vari edit.

Ciao

Daniele
Raffaele Filomena 2 Feb 2017 18:30
Il giorno giovedì 2 febbraio 2017 14:47:10 UTC+1, Daniele ha scritto:
> Ciao,
>
>> Voglio chiedere un'informazione. Ho 2 tabelle in relazione master-details
>> che visualizzo tranquillamente su 2 DBGrid.
>> Vorrei però visualizzare il dettaglio delle righe detail su DBEdit diversi
>> come potrei fare?
>> Non so se sono stato chiaro.
>> Dovrei impostare una query per ogni riga della tabella dentail?
>> si può fare tutto con 1 sola query?
>
> Non so se ho capito, le due tabelle sono visualizzate in 2 dbgrid diverse e
> per la seconda (detail) vuoi visualizzare alcuni campi in alcuni dbedit.
> Se questo e' il caso, inserisci quanti dbedit necessiti e per ogni dbedit
> devi specificare il dataset e il campo a cui puntare.
> In questo modo quando scorri il la seconda griglia, i valori da te richiesti
> saranno visualizzati nei vari edit.
>
> Ciao
>
> Daniele

in poche parole per la tabella Details mi escono 10 righe con 4 campi, io vorrei
visualizzare tutto in insieme in 40 TdbEdit in contemporanea. Se collego i
fields mi scorre tutto sui primi TDBedit
non so se sono stato chiaro
Raffaele Filomena 2 Feb 2017 18:45
Il giorno giovedì 2 febbraio 2017 18:30:05 UTC+1, Raffaele Filomena ha scritto:
> Il giorno giovedì 2 febbraio 2017 14:47:10 UTC+1, Daniele ha scritto:
>> Ciao,
>>
>>> Voglio chiedere un'informazione. Ho 2 tabelle in relazione master-details
>>> che visualizzo tranquillamente su 2 DBGrid.
>>> Vorrei però visualizzare il dettaglio delle righe detail su DBEdit
diversi
>>> come potrei fare?
>>> Non so se sono stato chiaro.
>>> Dovrei impostare una query per ogni riga della tabella dentail?
>>> si può fare tutto con 1 sola query?
>>
>> Non so se ho capito, le due tabelle sono visualizzate in 2 dbgrid diverse e
>> per la seconda (detail) vuoi visualizzare alcuni campi in alcuni dbedit.
>> Se questo e' il caso, inserisci quanti dbedit necessiti e per ogni dbedit
>> devi specificare il dataset e il campo a cui puntare.
>> In questo modo quando scorri il la seconda griglia, i valori da te richiesti

>> saranno visualizzati nei vari edit.
>>
>> Ciao
>>
>> Daniele
>
> in poche parole per la tabella Details mi escono 10 righe con 4 campi, io
vorrei visualizzare tutto in insieme in 40 TdbEdit in contemporanea. Se collego
i fields mi scorre tutto sui primi TDBedit
> non so se sono stato chiaro
https://www.youtube.com/edit?o=U&video_id=y_us6WeHVoQ
ddevddev100@gmail.com 3 Feb 2017 08:54
> Vorrei però visualizzare il dettaglio delle righe detail su DBEdit diversi
come potrei fare?

Se non l'hai gia' fatto prova a dare una vista a TDBCtrlGrid: e' una griglia
dove sulle righe puoi metterci i controlli DB aware e quindi anche i DBEdit .
Daniele 3 Feb 2017 10:11
Ciao,

> in poche parole per la tabella Details mi escono 10 righe con 4 campi,
> io vorrei visualizzare tutto in insieme in 40 TdbEdit in contemporanea.
> Se collego i fields mi scorre tutto sui primi TDBedit
> non so se sono stato chiaro

Soluzione ultra s*****a, da far accapponare la pelle .... pero' potrebbe
funzionare.
Tieni presente che non so come fai la query e tieni anche presente che non
sai quante righe ti vengono restituite.
Quindi tutti gli edit che hai bisogno li devi creare a runtime.
Ecco come potresti fare.
Dopo la query hai i risultati e anche gli edit (non dbedit) di cui hai
bisogno.
Sganci il dataset dalla grafica con disablecon disablecontrols
Imposti un contatore (magari ti serve per riconoscere gli edit che
riguardano una riga per esempio Edit10 per la riga 1 Edit20 per la seconda e
cosi' via)
Scorri tutto il dataset con

while not dataset.eof do
begin
Inc(Idx);
with TEdit(FindComponent('Edit' + IntToStr(Idx) + '0')) do
Text:=dataset.fieldbyname('Campo1').asstring;
with TEdit(FindComponent('Edit' + IntToStr(Idx) + '1')) do
Text:=dataset.fieldbyname('Campo2').asstring;
with TEdit(FindComponent('Edit' + IntToStr(Idx) + '2')) do
Text:=dataset.fieldbyname('Campo3').asstring;
dataset.next
end;
dataset.first
dataset.EnableControls
Quando arrivi alla fine hai riempito tutti gli edit.

Non e' bella e ci devi lavorare per gestire gli edit.

Ciao
Daniele

Links
Giochi online
Dizionario sinonimi
Leggi e codici
Ricette
Testi
Webmatica
Hosting gratis
   
 

Il linguaggio di programmazione Delphi | Tutti i gruppi | it.comp.lang.delphi | Notizie e discussioni delphi | Delphi Mobile | Servizio di consultazione news.