Condividi tramite

espressione troppo complessa per essere valutata / errata corrispondenza dei tipi

Anonimo
2019-12-17T14:47:50+00:00

Buongiorno a tutti

ho un problema a seguito del cambiamento di PC. Sul vecchio pc avevo window7 e avevo installato Access 2016 con la quale avevo sviluppato un'applicazione Access che funzionava perfettamente. Poco dopo sono stato un po' spinto a usare office 365 home, con Access. ho usato questa Applicazione per 3 anni, ogni mese, un paio di volte al mese, l'ultima a inizio novembre. Ora sul nuovo pc, molto più strutturato del precedente (processore molto piu veloce, molta più ram, ssd veloce), ho caricato office 365, con il risultato che una parte della vecchia applicazine funziona più velocemente, un'altra non funziona più per nulla.

ho una maschera che raccoglie tre sottomaschere, due delle quali mi generano un errore "Espressione non corretta o troppo comlessa...." consigliandomi di semplificare e portare espressioni in variabili. Ma come, mi chiedo, funzionavano benissimo e non erano comlesse per un pc meno dotato e lo sono diventate adesso? Comunque ho provato a semplificare, Da una query nidificata sono arrivato a alla radice, trovando che la difficoltà risalendo la nidificazione. Non ho verificato tutte le radici, ma buona parte sì e il problema sembra stringersi a una query per la quale il messaggio di errore cambia: "Corrispondenza errata dei tipi". Ho scomposto anche questa query, non complicata, arrivando a una assolutamente elementare. Questa pesca da una tabella e se anche riduco la query a due campi chiedendo di sommarizzare il valore di "SpeseTot" in base al valore di un codice di commessa

( SELECT TSCS.COMMESSA, Sum(TSCS.SpeseTot) AS SommaDiSpeseTot

FROM TSCS

GROUP BY TSCS.COMMESSA;

mi risponde comunque "Corrispondenza errata dei tipi".

Mi sembra che ci sia un bug si software nella versione che sto usando.

C'è un modo veloce per fissarlo.

Se il problema è un aggiornamento di office 365, posso fare in modo che quello appena caricato sul nuovo PC sia una versione precedente?

Grazie

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

5 risposte

Ordina per: Più utili
  1. Anonimo
    2019-12-19T13:21:50+00:00

    ciao Bruno,

    non stare li ad angustiarti...nel momento in cui con l'importazione di tutti gli oggetti in un nuovo DB il tutto si e' ripristinato significa che si e' verificato qualche errore imponderabile di corruzione nel database.

    Causato da cosa? boh....?!?

    Bug esistinti e non risolti da MS ? puo' darsi.

    chiusura improssiva dell'applicativo ?  puo' darsi

    shut down del pc ? puo' darsi...

    chi lo sa...!

    L'importante che avere a disposizione copie back up come hai correttamente impostato e/o riuscire nel caso di errori strani ed inspiegabili ad reimportare il tutto in un db nuovo nuovo.

    Con databases piu' robusti tutto questo non accade, ma tant'e'! :-)

    un saluto ed in bocca al lupo per il tuo progetto.

    Ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2019-12-19T13:11:51+00:00

    Grazie anche a te Mimmo

    non ho avuto modo di provare la tua soluzione.

    Nel frattempo avevo fatto un'operazione per reimpostare il database a partire da un back up. mi sono quindi fatto una copia del db corrente, per essere sicuro di non fare casino con i dati. Ho usato la copia come fonte dati e il back-up, funzionante, come app da popolare. alla fine è andata a buon fine.

    Spinto dalla curiosità sono tornato all'originale del db corrente per applicare la tua soluzione alla query "essenziale". Quando l'ho aperta per modificarla, magia, funzionava perfettamente. Quindi il problema sembra essersi risolto facendo una copia del DB (l'unica operazione che ho fatto su quel file). Il bello è che funzionava tutto, anche la query principale. Quindi in sostanza ho perso un po' di tempo per avere una soluzione minimamente ragionata, come ho risposto a Riccardo, ma il sistema si è ripristinato da sé. Misteri del software.

    Verosimilmente qualche piccola magagna sotto c'è. Mi è difficile pensare ci fosse un problema di dati. Alla fine erano 25 coppie di valori, nessuno nullo, in un campo tutto testo, nell'altro tutto valuta. Il risultato che ora funziona perfettamente è questo

    cms Spese tot
    1903 133,95
    1801 48,80
    1803 967,50
    1805 435,20
    1806 2445,65

    Non so che dire, ma grazie comunque.

    Bruno

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2019-12-19T12:45:40+00:00

    Grazie Sandro per la risposta

    il tuo suggerimento dapprima mi ha spaventato (ricreare in bd vuoto tutti gli oggetti mi avrebbe richiesto, per il mio stato di conoscenze, giorni di lavoro), poi però mi ha fatto riflettere su una cosa che non avevo ancora considerato. Cioè che avevo pur sempre dei back - up del sistema e che poteva darsi si fosse corrotta solo l'ultima sua versione. Ho provato e così è stato. L'ultimo back-up funzionava perfettamente.

    Il che mi è costato un pò di selezione a aggirnamento dati nelle varie tabelle, la sostituzione tout court di un paio di queste, ma alla fine è fatta. E' tornato a funzionare perfettamente.

    Ora non sono in grado di capire cosa è successo. So che ora l'errore non si manifesta più  e posso apprezzare la velocità del nuovo  pc.

    Mi rimane la curiosità di capire come mai emergeva un errore su una query semplicissima come quella che ho mostrato. Per me è una semplice curiosità.

    In ogni caso ti ringrazio per l'attenzione e anche per avermi comunque instradato.

    ciao

    Bruno

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2019-12-17T16:50:18+00:00

    Ciao,

    la query essenziale a cui sei arrivato farebbe pensare a problemi sui dati (campo SpeseTot). Quanti sono i records in tabella? Puoi verificare la colonna visivamente.

    Prova con:

    Sum(NZ(TSCS.SpeseTot;0)) AS SommaDiSpeseTot

    Facci sapere

    Ciao Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2019-12-17T16:15:09+00:00

    ciao Bruno,

    onestamente non saprei darti una azione correttiva precisa per certo non direi che si tratta di un problema dipendente dalla versione.

    PRova come primo step a creare una database vuoto e ad importare in esso tutti gli oggetti protrebbe trattarsi, visto quanto dici, di un qualcosa di corrotto che in tal modo risolvi.

    L'errore espressione non corretta...ect...e' legata all'utilizzo non corretto di funzioni all'interno del predicato sql, ma non si tratta certamente di quello che hai mostrato.

    Prova a mostrare anche quello e magari a pubblicare una mini demo in cui riproduci il problema.

    Nessun dato sensibile mi raccomando.

    Se opti per questa soluzione ricordati di condividere il link.

    Facci sapere.

    Ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento