Query a campi incrociati - Non risponde

di il
8 risposte

Query a campi incrociati - Non risponde

Ciao a tutti

non sono un utente esperto di Access ma "qualcosa" (poca...) riesco a farla...
Ho creato una query a campi incrociati su un db Access 2003 situata in un server aziendale, win server 2012 r2, collegato in lan con alcuni pc anch'essi dotati di Access 2003.

Il mio problema è che:
- se eseguo la query dal server (sia fisicamente che in RDP dai client) questa viene portata a termine regolarmente.
- se la eseguo da uno dei client in rete lan, win 7 pro, o win 10, la stessa non ne vuole sapere e "non risponde" e si blocca con "risorse insufficienti di sistema"

preciso che dai client altri tipi di query (selezione creazione tabelle ecct.), e macro, vengono eseguite regolarmente.

ho provato la utility "compatta e ripristina database" ma senza nessun risultato positivo.

Ringrazio anticipatamente chi vorrà aiutarmi.

8 Risposte

  • Re: Query a campi incrociati - Non risponde

    Cocomi ha scritto:


    ...query a campi incrociati su un db Access 2003 situata in un server aziendale...collegato in lan con alcuni pc anch'essi dotati di Access 2003.
    Se anche i PC che si collegano via LAN hanno A2003 tenderei ad escludere un errore di "Risorse insufficienti di sistema" che riguardava A2010 e A2013

    Cocomi ha scritto:


    - se la eseguo da uno dei client in rete lan, win 7 pro, o win 10, la stessa non ne vuole sapere e "non risponde" e si blocca con "risorse insufficienti di sistema"
    Con buona probabilità si tratta di una query particolarmente "pesante". Immagino che per "eseguire la query da uno dei client in rete lan" tu intenda aprire direttamente il file mdb, senza collegarti ad esso da un FrontEnd in locale.
    Se ho riscostruito la tua situazione correttamente forse potrebbe trattarsi di un "problema di rete" (nel fatto cioè che non sia particolarmente prestante) da mettere insieme al fatto che Access (rectius Jet) non va tanto d'accordo con questo trasferimento in massa di dati tramite LAN.
    Forse sarebbe opportuno dividere il tutto in FrontEnd e BackEnd, collegando al FE le tabelle e le query. Magari non risolve la tua situazione però... un tentativo non dovrebbe costare tanto tempo.
  • Re: Query a campi incrociati - Non risponde

    Philcattivocarattere ha scritto:


    Se anche i PC che si collegano via LAN hanno A2003 tenderei ad escludere un errore di "Risorse insufficienti di sistema" che riguardava A2010 e A2013
    Devo invece confermarti che mi restituisce proprio l'errore (cito testualmente) "Risorse di sistema insufficienti" e si anche i PC in LAN hanno A2003

    Philcattivocarattere ha scritto:


    Con buona probabilità si tratta di una query particolarmente "pesante". Immagino che per "eseguire la query da uno dei client in rete lan" tu intenda aprire direttamente il file mdb, senza collegarti ad esso da un FrontEnd in locale.
    Se ho riscostruito la tua situazione correttamente forse potrebbe trattarsi di un "problema di rete" (nel fatto cioè che non sia particolarmente prestante) da mettere insieme al fatto che Access (rectius Jet) non va tanto d'accordo con questo trasferimento in massa di dati tramite LAN.
    Forse sarebbe opportuno dividere il tutto in FrontEnd e BackEnd, collegando al FE le tabelle e le query. Magari non risolve la tua situazione però... un tentativo non dovrebbe costare tanto tempo.
    Sicuramente la query è piuttosto "pesante" (magari potrebbe servire "alleggerire" la tabella che viene letta ?...)
    altrettanto sicuramente viene aperta direttamente, anche perchè non so nemmeno cosa sia un "FrontEnd in locale" (vado ad informarmi)
    riguardo al "problema di rete" potrebbe anche essere, se ti riferisci al cablaggio (che è di circa 20 anni fa) però non mi torna col fatto che fino a poco tempo fa ed addirittura con pc dotati di win xp ... la query andava a buon fine ed anche velocemente.

    Grazie mille per le risposte
  • Re: Query a campi incrociati - Non risponde

    Cocomi ha scritto:


    Devo invece confermarti che mi restituisce proprio l'errore (cito testualmente) "Risorse di sistema insufficienti" e si anche i PC in LAN hanno A2003
    Senza dubbio, ma si può escludere il fatto che fosse un errore dello stesso tipo riferito esclusivamente ad A2010 e A2013 che ho incrociato qualche giorno fa (con una correzione apposita per quelle versioni).

    Cocomi ha scritto:


    ...(magari potrebbe servire "alleggerire" la tabella che viene letta ?...)
    Non lo so! Come si fa ad alleggerire una tabella? puoi permetterti di togliere informazioni-campi? se è così significa che la tabella non è fatta a regola d'arte. Spero non ci siano campi OLE con file caricati al suo interno.
    Potresti pubblicare la SQL della query?

    Cocomi ha scritto:


    ...non mi torna col fatto che fino a poco tempo fa ed addirittura con pc dotati di win xp ... la query andava a buon fine ed anche velocemente.
    Se i pc sono gli stessi ed ora hanno Win7 o Win10 posso ben immaginare che a parità di tutto il resto le risorse a disposizione di Access per elaborare quella query siano inferiori e quindi a maggior rischio di essere insufficienti.
    Se invece i computer sono nuovi c'è anche chi ha segnalato che è dovuto al processore multicore anche se prima di seguire quella via proverei tutte le altre, a partire dalla suddivisione in FrontEnd e BackEnd (che a mio avviso andrebbe comunque fatta, anche se il problema non ci fosse)
  • Re: Query a campi incrociati - Non risponde

    Philcattivocarattere ha scritto:



    Potresti pubblicare la SQL della query?
    posso allegarti lo screenshot della struttura
    Noname.jpg
    Noname.jpg

  • Re: Query a campi incrociati - Non risponde

    Cocomi ha scritto:


    posso allegarti lo screenshot della struttura
    Dalla quale non capisco niente. In quella stessa schermata premi vicino al pulsante che premette di passare alla visualizzazione "foglio dati" c'è una freccia che punta verso il basso. Clicca lì, si apre l'elenco completo e scegli SQL. Copia, incolla qui, mi raccomando tra i tag code altrimenti non si legge nulla.
    Per gli altri punti prosegui, mi raccomando.
  • Re: Query a campi incrociati - Non risponde

    Spero aver fatto bene
    PARAMETERS Anno Value, [da mese] Value, [a mese] Value, [GM 3] Value;
    TRANSFORM Sum([Quantità]/nz([ARTICPZCON],1)) AS Vendite
    SELECT Date() AS [Data rilev], RP_Fatturato.ID_Gr03 AS Forn, RP_Fatturato.ID_Articolo AS Cod, AZ01_91_MA_ARTIC.ARTICDESCR AS Descrizione, AZ01_91_MA_ARTIC.ARTICPSNEC AS [Ordine CT], Tabulato_Montebovi_Aggiornato.[ct/st], Tabulato_Montebovi_Aggiornato.shelflife, Tabulato_Montebovi_Aggiornato.[giac/rilev], AZ01_91_MA_SALDI!SALDISALDI/AZ01_91_MA_ARTIC!ARTICPZCON AS [Giac Pc], AZ01_91_MA_SALDI.SALDIDATUC AS [Data UC], RP_Fatturato.Anno, AZ01_91_MA_ARTIC.ARTICPZCON AS [Um/ct]
    FROM Tabulato_Montebovi_Aggiornato RIGHT JOIN (AZ01_91_MA_SALDI INNER JOIN (AZ01_91_MA_ARTIC INNER JOIN RP_Fatturato ON AZ01_91_MA_ARTIC.ARTICCOART = RP_Fatturato.ID_Articolo) ON (AZ01_91_MA_SALDI.SALDIANNOP = RP_Fatturato.Anno) AND (AZ01_91_MA_SALDI.SALDICOART = RP_Fatturato.ID_Articolo)) ON Tabulato_Montebovi_Aggiornato.codice = AZ01_91_MA_ARTIC.ARTICCOART
    WHERE (((RP_Fatturato.ID_Gr03)=[GM 3]) AND ((RP_Fatturato.CF)="C") AND ((RP_Fatturato.Anno)=[Anno]) AND ((RP_Fatturato.Mese) Between [da mese] And [a mese]) AND ((AZ01_91_MA_ARTIC.ARTICMLIB1) Is Null Or (AZ01_91_MA_ARTIC.ARTICMLIB1)=0) AND ((AZ01_91_MA_SALDI.SALDICODMA)="01") AND ((RP_Fatturato.CodCliente)<>"0319" Or (RP_Fatturato.CodCliente)="2596") AND ((AZ01_91_MA_ARTIC.ARTICGRME4)="D001"))
    GROUP BY Date(), RP_Fatturato.ID_Gr03, RP_Fatturato.ID_Articolo, AZ01_91_MA_ARTIC.ARTICDESCR, AZ01_91_MA_ARTIC.ARTICPSNEC, Tabulato_Montebovi_Aggiornato.[ct/st], Tabulato_Montebovi_Aggiornato.shelflife, Tabulato_Montebovi_Aggiornato.[giac/rilev], AZ01_91_MA_SALDI!SALDISALDI/AZ01_91_MA_ARTIC!ARTICPZCON, AZ01_91_MA_SALDI.SALDIDATUC, RP_Fatturato.Anno, AZ01_91_MA_ARTIC.ARTICPZCON, AZ01_91_MA_ARTIC.ARTICGRME4
    ORDER BY AZ01_91_MA_ARTIC.ARTICDESCR
    PIVOT RP_Fatturato.Mese;
    
    le tabelle sono:
    Tabulato_Montebovi_Aggiornato
    AZ01_91_MA_ARTIC
    RP_Fatturato
    AZ01_91_MA_SALDI

    la query:
    RP_FATTURATO_ORD_FORN_1_CON_GIACENZA_PC

    Si, la tabella RP_Fatturato contiene i campi Anno e Mese

    Grazie ancora
  • Re: Query a campi incrociati - Non risponde

    Cocomi ha scritto:


    Spero aver fatto bene
    No, hai usato il tag per il carattere sottolineato. In quelle parentesi quadrate sostituisci alla lettera u la parola code e il gioco è fatto. Dovresti averne ancora la possibilità. Quali sono tabelle e quali query? Hai una tabella RP_Fatturato con i campi Anno e Mese?
  • Re: Query a campi incrociati - Non risponde

    Io proverei a modificare nelle tabelle i campi linkati che non sono chiavi primarie in indicizzati. Questo velocizzerebbe la query e forse ti risolve il problema di rete. Tuttavia lo paghi in occupazione
Devi accedere o registrarti per scrivere nel forum
8 risposte