Newsgroup: it.comp.lang.delphi
Titolo: ClientDataset e campi di lookup

Buongiorno a tutti,
ho un problema con l'uso dei campi di lookup all'interno di un
clientdataset.
In un datatamodule ho un clientdataset collegato attraverso un dataset
provider ad una query. La query è una banalissima select su di una sola
tabella, all'interno di questa tabella ho due campi id relazionati a due
tabelle che conteneneti entrambe una descrizione. Ovviamente all'interno del
datamodule ho due query che uso per prendere le descrizioni di cui sopra.
Problema:
creo tranquillamente i campi di lookup nel clientdataset, che a sua volta è
collegato attraverso a un datasource ad una dbgrid che si trova su di una
form, quando imposto la proprietà active del clientdataset a true, delphi
genera un errore sconosciuto. Provando e riprovando ho notato che se
inserisco un solo campo di lookup tutto funziona bene ma appena inserisco il
secondo campo ottengo questo errore.
Qualcuno è in grado di aiutarmi ??? ... Sapete se c'è un limite di campi di
lookup all'interno di clientdataset.
Grazie in anticipo a tutti
 
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 clientdataset.
Non mi risulta che ci siano limiti al numero dei campi di LookUp in un
dataset anche se metterne tanti significa anche rallentare molto la query.
Comunque fai questa prova e vedi se il problema si verifica ancora :
anzichč creare un campo di LookUp metti nel dataset un campo
calcolato e valorizzalo nella OnCalcField del dataset.
Dalle cose che hai detto purtroppo non sono ingrado da darti
ulteriore aiuto.
Ciao.
Marco D.T.


Ciao ... ho provato a seguire il tuo consiglio e devo dire che, anche se ho
dovuto fare qualche cambiamento, finalmente funziona.
Ora ho fatto tutti e due i campi calcolati perchè facendone uno calcolato e
l'altro di lookup quello di lookup non funzionava correttamente. Anche se
non è velocissimo per la mia esigenza va più che bene.
Ti ringrazio ancora per la tua cortese e veloce disponibilità ... spero di
poterti essere utile in futuro.
Ciao
Max


 Ti ringrazio ancora per la tua cortese e veloce disponibilitą
Prego !!!
Mi viene in mente un'altra possibile soluzione : potresti scrivere la
query in modo tale che la prima tabella sia unita in Inner Join con
le/la tabelle/a dalla quale vai a pescare i dati da mettere nei campi
calcolati.
In questo caso nella query ti ritroveresti gią i valori che adesso
vai ad inserire nei campi calcolati e potresti eliminare totalmente
l'uso di campi calcolati e/o di LookUp.
In questo modo le prestazioni dovrebbero essere di gran lunga migliori.
Ciao.
Marco D.T.

Grazie in anticipo a tutti
	Ciao
	MassimoB
 
---------------------------------
http://www.massimobeschi.it/
---------------------------------
Se tu pagare come dici tu ...
Io lavorare come dico io ...
Se tu pagare come dico io ...
Io lavorare come dici tu ...
---------------------------------


Il messaggio di errore è il seguente:
"Errore sconosciuto"
Non so proprio che cosa possa essere.
Per ora il problema l'ho risolto utilizzando il campo calcolato al posto del
campo di lookup, comunque mi piacerebbe anche sapere qual'è il problema.
Ti ringrazio per la cortese collaborazione.
Ciao
Max



Grazie ancora per la tua disponibilità ... veramente la mia idea iniziale è
stata proprio questa ... però il problema sorge quando vado a fare delle
modifiche sul clientdaset in quanto mi viene restituito un errore sul db
relativo ai driver ODBC di Access ... penso che il problema sia del DB in
quanto ho 3 tabelle relazionate in outer join e quindi il recordset della
query non sia aggiornabile ... pertanto ho dovuto provare altre strade ...
grazie ancora per la tua preziosa collaborazione
