Query inaspettata su sql server in chiusura form

di il
4 risposte

Query inaspettata su sql server in chiusura form

Buongiorno a tutti, stavo cercando di ottimizzare l'uso di una maschera dati, collegata ad una base dati su sql server remoto ed ho notato una lentezza strana in chiusura.
La form viene alimentata con una semplice "select * from <tabella> where x=y" in modalità snapshot
Se la form è in modalità foglio dati, in chiusura viene fatta una "select * from <tabella>" inaspettata (senza nessuna where e quindi lentezza in chiusura)
Se la form è in modalità maschere continue la select non viene fatta (comportamento corretto)
Mi sono accorto di ciò utilizzando l'sql profiler lato server e po il TraceSQLMode sul client

Per caso qualcuno conosce il motivo di questo comportamento

Grazie anticipatamente a tutti

4 Risposte

  • Re: Query inaspettata su sql server in chiusura form

    Bella diagnostica, complimenti.
    Riesci a fare una prova diversa...?
    Apri la Form con OpenForm, sempre in DataSheetView, passando al parametro WHERE CONDITION la "X=Y", e verifichi se sia in Apertura che in Chiusura viene lanciata la Select Completa o se in questo modo va meglio.

    In ogni caso, se la Form è SnapShot, magari puoi usare una query pass-through, ed associare quella alla Form.
  • Re: Query inaspettata su sql server in chiusura form

    Al momento non ho provato metodi alternativi che si discostano di molto dall'attuale, perchè mi sembrava un problema alquanto grossolano.
    Nella sua funzionalità completa, assegno tramite vba la definizione di una query filtrata alla proprietà recordsource della maschera e già il fatto di aver fatto questo, in chiusura leggo sul profiler una query di tutta la tabella senza "where"
    Se lascio intatta la form, quindi senza modifiche alla proprietà recordsource invece la query in chiusura non compare.
    Idem se invece di foglio dati uso form continue->la query in chiusura non viene fatta
  • Re: Query inaspettata su sql server in chiusura form

    Francamente, ma vedi tu, su Form e Report quando sono ReadOnly, sempre meglio le Q_PT..., temo che quello che hai indicato sia un Bachetto...
  • Re: Query inaspettata su sql server in chiusura form

    Speravo in qualche proprietà settata male..
    In effetti sono da ritoccare molte cose per lavorare su db remoto

    Comunque ho fatto due prove:
    Q_PT e Ado recordset assegnato a me.recordset

    Sembra che ado faccia meno chiamate (specialmente lavorando poi sui controlli del datasheet)

    Grazie comunque
Devi accedere o registrarti per scrivere nel forum
4 risposte