Errore modifica contemporanea di record dopo migrazione da db access a mssql

di il
3 risposte

Errore modifica contemporanea di record dopo migrazione da db access a mssql

Ciao a tutti,

ho la versione 2013 di access e mi hanno dato un programma con un db da migrare a mssql per poi usare il nuovo db sql con le maschere di access.

prima della migrazione non dava errori, da quando l'ho collegato al db sql ,in una sottomaschera esce un errore piuttosto noto e cioè :

durante la corrente sessione di modifica il record è stato modificato da un altro utente. salvando le proprie modifiche si sovrascriveranno i cambiamenti dell'altro utente
senza possibilità di salvare.

Mi è già successa la stessa cosa in un'altra sottomaschera dove dopo tante prove ho risolto cancellando dal codice questa parte corrispondente ad un campo combo box:

Private Sub Form_AfterUpdate()
Me.Refresh
End Sub

l'errore non si è più ripresentato su quella sottomaschera, ma l'ho poi ritrovato in un'altra dove mi sono già assicurato che non ci sia lo stesso codice.

succede che mi permette di aggiungere records , me li fa salvare ,ma quando provo a modificarli al momento del salvataggio esce l'errore.

ho già provato ad aggiungere un campo timestamp
la cosa strana è che se provo ad agire direttamente sulla tabella e cioè ad aprirla e modificare manualmente un campo, mi da lo stesso messaggio

vi invio il codice della sottomaschera che si chiama Sottomaschera Tab003FasiCiclo :


Private Sub Form_Current()
Me.Parent![Sottomaschera Tab004MacchineoFornitoriCiclo].Requery
Me.Parent![Sottomaschera Tab006CaratteristichediFase].Requery
If Me.DescrizioneFase <> False Then
Forms![Tab001AnagraficaArticoli1]![Sottomaschera Tab004MacchineoFornitoriCiclo].Visible = True
Forms![Tab001AnagraficaArticoli1]![Sottomaschera Tab006CaratteristichediFase].Visible = True
Else
Forms![Tab001AnagraficaArticoli1]![Sottomaschera Tab004MacchineoFornitoriCiclo].Visible = False
Forms![Tab001AnagraficaArticoli1]![Sottomaschera Tab006CaratteristichediFase].Visible = False
End If
End Sub


qualcuno ha qualche idea?
grazie

3 Risposte

  • Re: Errore modifica contemporanea di record dopo migrazione da db access a mssql

    Hai compreso le indicazioni che ti sono state date e che hanno portato alla CHIUSURA dei tuoi precedenti Post...?
    Se non sono chiari possiamo spiegarti meglio...!
  • Re: Errore modifica contemporanea di record dopo migrazione da db access a mssql

    Ciao a tutti,
    ho avuto modo di scambiare qualche msg con l'autore del thread che sembra aver compreso i suoi errori, primo tra tutti non leggere il regolamento.

    Gli ho dato il permesso di aprire un nuovo thread specificando meglio il problema.

    Voglio dargli una nuova opportunità.
  • Re: Errore modifica contemporanea di record dopo migrazione da db access a mssql

    Buongiorno e grazie.
    non risponderò nemmeno all'atteggiamento di Alex.

    dato che leggo che è un problema di molti approfitto per spiegare cos'ho capito allo scopo di aiutare chi incapperà nella stessa cosa, se però sbaglio vi prego di correggermi.
    innanzitutto l'errore mi usciva per 3 ragioni e in 3 situazioni diverse quindi la mia spiegazione è che è un errore generico, mi spiego meglio.
    caso n.1
    ho risolto eliminando un evento dal codice (un refresh)
    e qui ci può stare che l'evento ripetesse un'operazione che il programma stava già facendo e il record risultasse occupato
    caso n.2
    un evento cercava di scrivere in un campo null e questo generava l'errore. questa volta la descrizione dell'errore era forviante
    quindi ho dovuto "forzare" il campo a 0 per poi poterlo modificare normalmente da maschera
    caso n.3
    collegando le tabelle da mssql ad access succede che per utilizzarle in lettura/scrittura occorre definire una primary key.
    collegando una tabella con già una primary key in sql questa viene trasportata in access e questo non va bene.
    i passi giusti sono a)levare la primary key da sql b)in fase di collegamento su access specificare la primary key (quando viene richiesta)
    così funziona e anche in questo caso non si trattava di un campo già impegnato che generava l'errore quindi l'errore era forviante.
Devi accedere o registrarti per scrivere nel forum
3 risposte