Newsgroup: it.comp.appl.access
Titolo: Maschera lenta ad aprirsi

ciao a tutti
ho una maschera con sottomaschera con origine da
query d'union, che rallenta molto l'apertura della maschera.
Ho provato con requery su apertura e caricamento
ma non cambia nulla.
 
Grazie 
 
 

 ...
 
Generico come la descrizione:
 
Controlla se l'uso della query d'unione � necessario o se puoi
p.e. unire le tabelle in una o usare due sottomaschere ecc.
 
Se definitivamente dev'essere una query d'unione:
Controlla come � la prestazione della query se l'apri da solo.
Controlla se la query � ottimizzata (solo i record e campi
necessari, solo l'ordinamento necessario ecc.) e/o posta
l'enunciato SQL.
 
-- 
Ciao
Karl
*********
Access FAQ:  
http://www.donkarl.com/it
 
 
 


ciao Karl
query 1
SELECT  IdCarico, NomeFornitore,IdFornitore,Importo,IdCliente, 
Format([DataC],"mm") AS Mese, DataC, Fatturato,da_Fatturare , NomeCliente 
FROM Q_Carichi1
UNION SELECT  IdCarico, NomeFornitore, IdFornitore,Importo, IdCliente, 
Format([DataC],"mm") AS Mese,DataC, Fatturato,da_Fatturare, NomeCliente FROM 
Q_Carichi2
UNION SELECT IdCarico, NomeFornitore, IdFornitore,Importo, IdCliente, 
Format([DataC],"mm") AS Mese, DataC,Fatturato,da_Fatturare , NomeCliente 
FROM Q_Carichi3
ORDER BY NomeCliente;
 
query 2
SELECT Q_Carichi_X.IdCarico, Q_Carichi_X.NomeFornitore, 
Q_Carichi_X.IdFornitore, Q_Carichi_X.Importo, Q_Carichi_X.IdCliente, 
Q_Carichi_X.Mese, Q_Carichi_X.DataC, Q_Carichi_X.Fatturato, 
Q_Carichi_X.da_Fatturare, Q_Carichi_X.NomeCliente
FROM Q_Carichi_X
WHERE (((Q_Carichi_X.NomeCliente)=[Forms]![Maschera_1]![NomeCliente]));
 
 

 (((Q_Carichi_X.NomeCliente)=[Forms]![Maschera_1]![NomeCliente]));
 


 L'ordinamento � superfluo se nella query 2 filtri per 1 NomeCliente.
 
gi� va meglio


 ...
 
...che veramente non si puo fare in 1 sola query?


 ha scritto nel messaggio 
news:b38sgl...@mid.individual.net...

grazie
ora ci riprovo
 
 

 ha scritto nel messaggio 
news:51cfbd92$0$1342$4faf...@reader2.news.tin.it...

ciao Karl
ho provato senza l'union select,
ma l'espressione non va bene,
in quanto non tiene conto dei due Criteri
[Q_Carichi1].[ChiusuraOrd]-1
nz([Importo_A])-IIf(IsNull([MioDettaglio].[Importo_B]);0;[MioDettaglio].[Importo_B])>0
 
SELECT Q_Carichi1.IDCarico, Q_Carichi1.IdFornitore, Q_Carichi1.IdCliente, 
Format(Q_Carichi1.DataCarico,"mm") AS Mese,
Q_Carichi1.DataCarico, Q_Carichi1.ChiusuraOrd, Q_Carichi1.Importo_A, 
IIf(IsNull(MioDettaglio.Importo_B),0,MioDettaglio.Importo_B) AS Fatturato,
nz(Q_Carichi1.Importo_A)-IIf(IsNull(MioDettaglio.Importo_B),0,MioDettaglio.Importo_B) 
AS da_Fatturare, Q_Carichi1.NomeCliente, Q_Carichi1.NomeFornitore, 
Q_Carichi1.Fornitore2
FROM Q_Carichi1 LEFT JOIN MioDettaglio ON Q_Carichi1.IDCarico = 
MioDettaglio.IDCarico
WHERE (((Q_Carichi1.ChiusuraOrd)=-1) AND 
((Q_Carichi1.NomeCliente)=Forms!Maschera_1!NomeCliente) AND 
((nz(Importo_A)-IIf(IsNull(MioDettaglio.Importo_B),0,MioDettaglio.Importo_B))>0)) 
OR (((Q_Carichi1.NomeFornitore)=Forms!Maschera_1!NomeCliente)) OR 
(((Q_Carichi1.Fornitore2)=Forms!Maschera_1!NomeCliente));
 
e quando inserisco il record (tramite combo cboCarico) nella sottomaschera 
"MioDettaglio";
nell'altra sottomaschera con l'elenco dei record da inserire, anzichč 
sparire il record appena inserito,
se ne crea uno doppio.
 
 
 


ciao Karl
credo di esserci riuscito.
Con una prima query ho impostato i 2 criteri
con l'altra ho filtrato.