Rieccoci,
come da titolo, ho bisogno del vostro aiuto nel velocizzare l'esecuzione di alcune query ...ho creato una struttura divisa in be e client...dove nel client collego anche una tabella (APPOSTAMENTO) da un 3 db posizionato sempre sulla stessa cartella di rete del back-end
ho letto in diversi post che con le query passtrough potrei far lavorare il server e sparare al client solo i risultati...Credo che sia una soluzione percorribile per il mio problema principale...(lentezza nell'esecuzione specificata in "elaborazione in corso" per minuti....)
quella che presumo mi rallenti è una query di selezione che screma APPOSTAMENTO e mi restituisce solo i campi necessari... del tipo 5 su 100
ora la mia idea era di creare questa query "ElencoNucleo" come pass torugh nel db (il 3) dove risiede la Tabella APPOSTAMENTO...
tutto bene finche non mi sono dovuto imbattere nei campo calcolati...e quindi presumo che il SQL di access non sia esattamente quello che la qry pass torugh digerisce...
vi posto il codice della query di selezione nella speranza che possiate aiutarmi a risolvere questa lentezza paurosa nell'esecuzione...
SELECT APPOSTAMENTO.[Matr meccanografica], APPOSTAMENTO.Grado, APPOSTAMENTO.Cognome, APPOSTAMENTO.Nome, APPOSTAMENTO.Sesso, APPOSTAMENTO.Ruolo, APPOSTAMENTO.Articolazione, APPOSTAMENTO.[Anzianità Grado], (IIf([Grado]="M.A." And (Year(Date())-Year([Anzianità Grado])>=8),1,0)+(IIf([Grado]="M.C." And (Year(Date())-Year([Anzianità Grado])>=10),1,0)))+(IIf([Grado]="BR.C." And (Year(Date())-Year([Anzianità Grado])>=8),1,0))+(IIf([Grado]="BR.C." And (Year(Date())-Year([Anzianità Grado])>=4),1,0))+(IIf([Grado]="APP.SC." And (Year(Date())-Year([Anzianità Grado])>=8),1,0))+(IIf([Grado]="APP.SC." And (Year(Date())-Year([Anzianità Grado])>=5),1,0)) AS CodAnz, CInt(DMin("IDGrado","TblGradiconAnzianita"," [TblGradiconAnzianita].[Grado] ='" & [APPOSTAMENTO].[Grado] & "'"))+[CodAnz] AS FkGrado, IIf([Ruolo]="Ispettori",1,0)+IIf([Ruolo]="Sovrintendenti",2,0)+IIf([Ruolo]="App e Fin",3,0) AS CodRuolo
FROM APPOSTAMENTO
WHERE (((APPOSTAMENTO.Ruolo)<>"Ufficiali") AND ((APPOSTAMENTO.Posizione)="Presente" Or (APPOSTAMENTO.Posizione)="Distaccato/altro"))
ORDER BY APPOSTAMENTO.Cognome, APPOSTAMENTO.Nome;
ovviamente se sto prendendo una strada sbagliata sono lieto di trovare e imparare soluzioni migliori...
grazie in anticipo
Ciccius