Problema inspiegabile

di il
10 risposte

Problema inspiegabile

Ciao a tutti, mi sta accadendo qualcosa di inspiegabile e spero che qualcuno mi possa aiutare.

Premetto che ho creato un programma per seguire l’andamento degli ordini di lavoro in una azienda metalmeccanica, con gestione Front-end su pc locali e back-end in rete con aggiornamenti automatici di requery quando vengo ci sono nuovi inserimenti o modiche.

La cosa strana che quando lo provo a casa su due pc diversi il front end funziona correttamente quando lo porto in azienda, e lo uso con runtime sui vari pc sembra come sé alcuni inserimenti non venissero scritti nel backend, invece se uso access completo dal mio pc i pc con runtime si aggiornano senza problemi.


Qualcuno puo aiutarmi? Non riesco a venirne a capo.

Grazie a tutti in anticipo.

10 Risposte

  • Re: Problema inspiegabile

    Senza saper ne leggere, ne scrivere, (ne programmare),

    hai un banale problema di VERA concorrenza/accesso concorrente a risorsa.

    A casa hai due PC, ma sei solo TU che accedi, un'UNICO utente.

    In azienda hai un VERO accesso concorrente, con PIU' utenti che tentano di accedere NELLO STESSO MOMENTO, alle stesse risorse.

    Sia chiaro, analisi basata solo sulla mia limitatissima capacita' di lettura del pensiero a distanza.

  • Re: Problema inspiegabile

    Mi spiego meglio ho un accesso con utente e password e quando sono a casa accedo con due utenti diversi come in azienda su pc diversi.
    Da cosa può dipendere?? 

  • Re: Problema inspiegabile

    24/02/2026 - Sonny09 ha scritto:

    Mi spiego meglio ho un accesso con utente e password e quando sono a casa accedo con due utenti diversi come in azienda su pc diversi.
    Da cosa può dipendere?? 

    Probabilmente hai male interpretato il suggerimento di Migliorabile: non centra l'accesso con login e password ma il fatto di avere contemporaneamente due utenti che accedono alle stesse tabelle del back end e Access non e' fatto per gestire la multiutenza se non con accorgimenti particolari.

    Quando sei a casa probabilmente ti connetti ai dati da entrambi i pc, ma non operi contemporaneamente su entrambi, lavori sempre su un PC per volta (a meno che tu non abbia 4 mani o ti avvali di un collaboratore...).

    In azienda invece piu' persone possono accedere in modalita' read/write da piu' postazioni e se non gestisci bene le connessioni in modo esclusivo, Access non lo fa creando conflitti e perdita di dati.

  • Re: Problema inspiegabile

    Spiego meglio, prima di passarlo a tutti gli operatori lo sto testando io in azienda su postazioni, e ovviamente non posso simultaneamente scrivere e leggere su due pc ma comunque quando scrivo o meglio modifico un record sul pc con runtime non mi scrive nel backend in vece se uso access completo sull’altro pc funziona correttamente e sul runtime si vedo le modifiche in tempo reale perché gli ho messo un timer di aggiornamento quando ci sono delle ultime modifiche.

    Meglio  ancora sul runtime vedo le modifiche sulla maschera però sull’altro pc no però se vado ad otite il record su runtime il record modificato in precedenza ritorno come se non avessi mai modificato nulla.

  • Re: Problema inspiegabile

    Fai i test in modo corretto

    1) modifica o inserisci un record da pc1 in ufficio senza che gli altri pc stiano lavorando

    2) controlla da tutti gli altri pc se vedi la modifica

    3) modifica o inserisci un record da pc2 in ufficio senza che gli altri pc stiano lavorando

    4) vai al punto 2

    5) fai i passaggi dal punto 3 per gli altri pc

    rifai i test aggiungendo in contemporanea prima 2 poi 3 poi 4 utenti fino al massimo degli utenti.

    giusto per capire questa affermazione con ridondanza di "però" e "record" in assenza di punteggiatura:

    24/02/2026 - Sonny09 ha scritto:

    Meglio  ancora sul runtime vedo le modifiche sulla maschera però sull’altro pc no però se vado ad otite il record su runtime il record modificato in precedenza ritorno come se non avessi mai modificato nulla.

    in questo caso sembra che non avvenga il post delle modifiche lasciandole nella memoria e quando fai il refresh perdi i dati inseriti.

    in altre parole: selezioni i dati della tabella che vengono caricati in locale, fai i disastri che vuoi e poi col post del record vai a modificare realmente i dati sul server. verifica questi passaggi altrimenti qualsiasi modifica svanisce nel momento in cui fai il refresh dei dati.

  • Re: Problema inspiegabile

    23/02/2026 - Sonny09 ha scritto:

    con aggiornamenti automatici di requery quando vengo ci sono nuovi inserimenti o modiche

    in che senso???

  • Re: Problema inspiegabile

    23/02/2026 - Sonny09 ha scritto:

    alcuni inserimenti non venissero scritti nel backend

    alcuni? quindi non tutti?

    invece se uso access completo dal mio pc i pc con runtime si aggiornano senza problemi.


    nel senso che porti il tuo pc in azienda collegato come front-end?

  • Re: Problema inspiegabile

    Mi spiego meglio, il pc è il mio portatile aziendale in cui ho access completo.

    In azienda quando faccio una modifica da questo, in automatico viene scritto correttamente sul back-end e gli altri utenti lo vedo con la versione runtime.

    Quando faccio una modifica su altri pc con runtime a monitor vedo la modifica, ma in tabella non viene scritto; invece se chiudo tutti gli access e gli riapro la modifica fatta su runtime viene scritta nel backend e la vedo da tutti i pc.


    Riesco a fare la prova a casa perché mi porto il pc aziendale e ricreo la stessa condizione con un altro mio portatile con runtime e a casa subito vengono scritti i dati nel backend e li vedi  immediatamente su entrambi i pc.

    Per l’aggiornamento automatico ho inserito un nel timer un controllo che verifica se ci sono stati ultime modifiche effettuata e in quel caso fa requry della maschera, ovviamente quando faccio una modifica scrivo nel backend anche la data l’orario e l’utente che ha fatto la modifica.

  • Re: Problema inspiegabile

    Premessa:

    Con Runtime la modifica la vedi a video, ma non viene scritta fisicamente nel backend finché non chiudi Access.

    Quando chiudi Access, il record viene forzatamente salvato e quindi i due pc lo vedono. (quella citazione "a volte salva")

    riporto le notazioni che ho trovato sul web:

    In Access un record viene scritto nel backend solo quando viene salvato.
    
    Un record si salva quando:
    
    - Cambi record
    
    - Chiudi la maschera
    
    - Esegui DoCmd.RunCommand acCmdSaveRecord
    
    - Oppure imposti Me.Dirty = False
    
    Se tu:
    
    - Modifichi un campo
    
    - Resti sullo stesso record (fai il post del record? e come?)
    
    - Parte il timer che fa Requery
    
    - Il record è ancora Dirty (non salvato).
    
    Il Requery:
    
    può ricaricare i dati prima della modifica
    
    può mostrare la modifica solo localmente
    
    ma non forza il commit immediato

    nel timer controllo ultime modifiche e faccio requery...

    Se il timer parte mentre il record è ancora Dirty, Access non lo salva automaticamente.

    Prima di ogni Requery nel Timer, forza il salvataggio:

    If (Me.Dirty) Then
        Me.Dirty = False
        Me.Requery
    End If

    valuta un tempo di requery più lungo.

    in alternativa mostra un pò di codice.

    N.B. non vedendo codice sono andato di ricerca sul web sui possibili problemi.

  • Re: Problema inspiegabile

    Ciao a tutti, volevo aggiornavi e condividere quanto accaduto in questi giorni.

    Mi sono confrontato con l’IT della mia azienda per capire se c’erano problemi di autorizzazioni con  il server da parte di qualche pc o conflitti di utenti.

    Dopo suo controllo mi ha riferito che l’unica cosa strana che ha trovato è che due pc accedevano al server con lo stesso account, e questo poteva in fase di scrittura front-end sovrascrivere i dati salvati nel back-end sul server.

    Dopo questi accorgimenti abbiamo riprovato il tutto e ci siamo accorti che alcune volte funzionava altre no, o meglio tra tutti i runtime funzionava correttamente senza problemi, il problema era sul mio pc con access completo.

    Detto questo abbiamo verificato i collegamenti con il back-end ed erano giusti allora abbiamo provata ad aggiornarlo tramite la gestione tabelle, e magicamente ha ripreso a funziona tutto.

    In conclusione, sul mio pc con access completo ho delle righe di programma che mi collegano in automatico al back-end, solo che facendo delle prove prima a casa e poi in azienda io modificavo il percorso del server per il collegamento automatico, solo che ci siamo accorti che con il server a differenza di casa bisogna anche aggiornare il collegamento da gestione delle tabelle, tutto ciò risulta inspiegabile.

    Sembra che siamo arrivati ad un punto di svolta!

    Grazie a tutti per i consigli.

Devi accedere o registrarti per scrivere nel forum
10 risposte