Modifica contemporanea di record

di il
2 risposte

Modifica contemporanea di record

Ciao a tutti,
sono un novellino di access e mi è successo questo:
ho la versione 2013 e mi hanno dato un programma con un db da migrare a sql.
prima della migrazione non dava errori, da quando l'ho collegato al db sql ,in una sottomaschera esce l'errore di cui parlate 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
nello specifico succede che io seleziono dalla combo box una stringa e fin qui tutto ok, poi vado a mettere la spunta su una check box ed esce l'errore.

il "codice" che trovo in "dopo aggiornamento" di propietà\evento della combo box è :

Private Sub DescrizioneCiclo_AfterUpdate()
Me.Form.Requery
End Sub

mentre quello che trovo nella ceck box che va in errore è :
Private Sub Preferenziale_AfterUpdate()
DoCmd.SetWarnings False
DoCmd.RunMacro "EliminaFlagPreferenzialeneiCicli"
End Sub

la macro esegue un comando aggiorna
e questa query:

UPDATE Tab002ElencoCicli SET Tab002ElencoCicli.Preferenziale = No
WHERE (((Tab002ElencoCicli.IDciclo)<>[Forms]![Tab001AnagraficaArticoli1]![Sottomaschera Tab002ElencoCicli].[Form]![IDciclo]) AND ((Tab002ElencoCicli.CodiceArticolo)=[forms]![Tab001AnagraficaArticoli]![CodiceArticolo]));

il codice completo della sottomaschera è:

Option Compare Database

Private Sub DescrizioneCiclo_AfterUpdate()
Me.Form.Requery
End Sub

Private Sub DescrizioneCiclo_Change()
Me.Refresh
End Sub

Private Sub DescrizioneCiclo_DblClick(Cancel As Integer)
DoCmd.OpenTable "Tab015TipoCiclo"
End Sub

Private Sub DescrizioneCiclo_GotFocus()
Me.DescrizioneCiclo.Requery
End Sub

Private Sub Form_AfterUpdate()
Me.Refresh
End Sub

Private Sub Form_Current()
Me.Parent![Sottomaschera Tab003FasiCiclo].Requery
If Me.DescrizioneCiclo <> False Then
Forms![Tab001AnagraficaArticoli1]![Sottomaschera Tab003FasiCiclo].Visible = True
Else
Forms![Tab001AnagraficaArticoli1]![Sottomaschera Tab003FasiCiclo].Visible = False
End If
If DLookup("[IDciclo]", "Tab003FasiCiclo", "[IDciclo]=forms![Tab001AnagraficaArticoli1]![Sottomaschera Tab002ElencoCicli].form![IDciclo]") Then
Me.Comando12.Enabled = False
Else
Me.Comando12.Enabled = True
End If
End Sub


Private Sub Comando12_Click()
DoCmd.SetWarnings False
DoCmd.RunMacro "CopiaCicloda"
Me.Parent![Sottomaschera Tab002ElencoCicli].Requery
Forms![Tab001AnagraficaArticoli1].Requery
End Sub

Private Sub Preferenziale_AfterUpdate()
DoCmd.SetWarnings False
DoCmd.RunMacro "EliminaFlagPreferenzialeneiCicli"
Me.Refresh
End Sub

Vi prego potete aiutarmi?
grazie a tutti in anticipo!

Ps. mi scuso per eventuali errori, ma come dicevo sono un novellino.

2 Risposte

Devi accedere o registrarti per scrivere nel forum
2 risposte