QUERY SU ACCESS

di il
1 risposte

QUERY SU ACCESS

Ho un problema di controllo di quanto ritornato da delle query in un'applicazione Delphi 6.

Utilizzo un componente "TQuery" che si interfaccia via ODBC a un database Access 2000; il driver è quello Microsoft di MDAC 2.7. Il componente viene allocato a runtime e lo utilizzo per query su tavole diverse; di volta in volta mi limito a modificare la proprietà "SQL" del componente assegnandovi la query necessaria.

Il problema ce l'ho quando cerco di capire quanti record ritorna la query, infatti in certi casi la proprietà "RecordCount" mi ritorna il numero corretto, mentre in altri casi mi ritorna -1, anche se effettivamente scorrendo il "cursore" mediante un ciclo "while not Query.Eof do" ritorna delle righe.

Per esempio, quanto segue funziona:

Query.SQL.Clear;
Query.SQL.Add ('select * from TNAZ_H');
Query.SQL.Add (' where cd_nazi = ''' + Nazione + '''');
Query.Open;
ProgressBar.Max := Query.RecordCount; // -- ritorna 1
while not Query.Eof do
begin
...
end;

Questo invece non funziona:

Query.SQL.Clear;
Query.SQL.Add ('select * from TCLI_H');
Query.SQL.Add (' where cd_clia = ''' + Cliente + '''';
Query.Open;
ProgressBar.Max := Query.RecordCount; // -- ritorna -1
while not Query.Eof do
begin
...
end;

Entrambe le query ritornano un solo record.

Qualcuno può aiutarmi?
Grazie.

Sammi.


mailto:

1 Risposte

  • Re: QUERY SU ACCESS

    I codici sono gli stessi tranne che per la tabella utilizzata.
    E' strano che una funzioni e l' altra no.


    La vita é come un applicativo WEB, prima o poi si impalla!
Devi accedere o registrarti per scrivere nel forum
1 risposte