barnabas24
Messages postés20Date d'inscriptionjeudi 5 juin 2008StatutMembreDernière intervention 5 septembre 2013
-
15 févr. 2012 à 09:50
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 2021
-
15 févr. 2012 à 10:20
Bonjour
Je suis entrain d'experimenter une application de numerotation automatique qui va etre en reseau. Ma base de donnees est en Access. Si une seule personne l'utilise ca tourne bien mais si deux personnes utilisent et essaie d'enregistrer au meme moment ca donne un message erreur comme suit:
Erreue d'execution '-2147467259 (80004005)':
[Microsoft][Pilote ODBC Microsoft Access] le moteur de base de donnees Microsoft Jet a arrete le traitement parce que vous et un autre utilisateur tentez de modifier les memes donnees en meme temps.
Voici les codes :
Dim rs As New ADODB.Recordset
Dim rs1 As New ADODB.Recordset
Dim Lelo As Variant
Private sub Form_Load()
'Ca c'est la table mouvement
rs.Open "Select* from Exercice", "DSN=Exo", adOpenDynamic, AdLockOptimistic
'Ca c'est la table qui gere la numerotation automatique
rs1.Open "Select* from Numero", "DSN=Exo", adOpenDynamic,adLockOptimistic
lelo=rs1!Numero
text1.text=Lelo
End sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If Keyascii=vbKeyReturn Then
Text2.Text=""
Text2.SetFocus
End If
'C'est ici maintenant que ca pose probleme
Private Sub Text2_KeyPress(KeyAscii As Integer)
If KeyAscii=VbkeyReturn Then
' Enregistrement dans la table mouvement
rs.Addnew
rs!Num=rs1!Numero
rs!Libelle=Trim(text2.text)
rs.Update
'Mise a jour du numero sur la table de numerotation
rs1.Update
rs1.Numero=rs1.Numero+1
rs1.Update
Text1.Text=rs1!Numero
Text1.SetFocus
End If
End Sub
End Sub
L'idee est que je veux que si un utilisateur est entrain de mettre a jour, que l'autre attend et des que ce premier termine l'autre accede. Merci de bien vouloir m'aider dans ces codes.
Merci de votre aide