Ciao.
Ultimamente gli ultimi aggiornamenti di win hanno creato qualche problema ai data base access, anche ai più recenti.
Quando dici che non viene riconosciuto, che errore genera?
Fammi capire.
Il database gira su una macchina virtuale xp, quindi presumo che gli altri tre pc abbiano semplicemente il front end e che girano su un sistema operativo diverso.
Escluderei che il problema sia della macchina virtuale. A meno che non sia stata aggiornata, in teoria dovrebbe funzionare come sempre.
Il problema potrebbe sorgere dai front end che magari hanno fatto qualche aggiornamento che crea qualche problema. Soprattutto se usi ocx.
Altra cosa. Ma il database non è compilato?
Da come ne parli sembra che sia un accdb e non un accdbe.
Purtroppo le vecchie versioni di access hanno il brutto vizio di salvare da sole alcune istruzioni sui comandi delle maschere, soprattutto quando gli vengono passate tramite vb. Di solito si risolveva distribuendo la versione compilata.
Però non penso che questo sia il tuo problema, visto che se è un programma in vendita, non penso che tu distribuisca versioni in chiaro. Quindi escludo che il problema derivi da modifiche accidentali degli operatori. Come escludo che il problema derivi dalla macchina virtuale. Sempre se non è stata aggiornata.
Quindi a naso, il problema non risiede nella struttura del database, ma in uno dei comandi dei front end. Magari ti salva qualche query, qualche istruzione in qualche oggetto, come un command button, una combo box, che gli invii tramite vb per fare qualche operazione che poi lui salva nelle proprietà dell'oggetto e che successivamente genera questo problema.
Infatti come hai visto, generando automaticamente nuovi record, il problema non si pone. Quindi deriva da una singola azione manuale.
Devi andare per esclusione.
Il problema si presenta in tutte le tabelle?
Il problema si presenta dopo l'uso di una determinata maschera, determinato inserimento, determinata ricerca? O dopo che un determinato operatore ha usato il db? C'è anche questa opzione. Molte volte accade che dopo anni, qualcuno pensi di aver scoperto delle scorciatoie per fare determinate operazioni, senza rendersi conto invece che sfrutta un potenziale bug o imprecisione nel codice.
Anni fa mi successe una cosa del genere. Lamentavano una perdita di dati e non riuscivo a capire il perchè. Praticamente un operatore, per comodità teneva aperte una marea di maschere senza chiuderle. Su una di esse c'era un errore sul lost focus, che creava questo problema.
Secondo me inoltre, non devi usare le tue copie, ma devi farti una copia esatta dei front end e del database che usano dopo che hanno generato l'errore e testarli sulle tue macchine e vedere se ti generano l'errore.