Access Mise à jour d'une table

Fermé
display - 21 juin 2004 à 09:11
 Utilisateur anonyme - 24 juin 2004 à 01:13
Bonjour,

Acutellement j'ai cette commande pour mettre à jour un enregistrement :

DoCmd.RunSQL "UPDATE Invoice, Rate SET Invoice.cost_amounteur = [cost_amount]*[Rate]![rate] WHERE (((Invoice.cost_currency)=Left([Rate]![curtocur],3)) AND ((Right([Rate]![curtocur],3))=""EUR"")) AND ((Invoice.cost_type)=""Permanent""); ", -1

l'update fonctionne quand je change la valeur du controle de mon formulaire. mais si je change la valeur plus de 2 fois un message apparait en disant qu'il ne peut pas le mettre à jour car il est en ecriture.

peut-on enregistrer definitivement l'enregistrement après chaque
mise à jour ???? le ; aurait dû faire le commit ??

merci pour vos reponses
A voir également:

2 réponses

Utilisateur anonyme
21 juin 2004 à 15:25
Bonjour display,

Je crois qu'il te faut faire un save et un refresh
après le DoCmd.RunSQL ! Toutefois je ne suis pas sur
à cent pour cent, moi c'est ce que je fais après
une modification sur une requête et ça fonctionne bien.

DoCmd.Save
RefreshDatabaseWindow

Lupin
0
display Messages postés 1 Date d'inscription lundi 21 juin 2004 Statut Membre Dernière intervention 22 juin 2004
22 juin 2004 à 08:21
J'ai effectivement ajouter le DoCmd.Save et RefreshDatabaseWindow mais j'ai toujours après chaque update un message access qui mentionne un write conflict et me propose de sauver l'enregistrement.
(pour info, je suis seul à accèder à cette base.)

Merci pour votre aide.
0
Utilisateur anonyme
24 juin 2004 à 01:13
Bonsoir,

Bon, je travaille différament avec la mise à jour de requête SQL,
j'ai apprit beaucoup dans un bouquin sur le sujet.

En fait, la question serait pourquoi fais-tu une maj de la requête?

Routine qui modifie une requête SQL

Public Function ChangeRequeteDef(ChaineRequete As String, ChaineSQL As String) As Boolean

Dim Definition As QueryDef

If ((ChaineRequete = "") Or (ChaineSQL = "")) Then
ChangeRequeteDef = False
Else
Set Definition = CurrentDb.QueryDefs(ChaineRequete)
Definition.SQL = ChaineSQL
Definition.Close
RefreshDatabaseWindow
ChangeRequeteDef = True
End If

End Function

Le nom de la requête et la définition SQL sont passés en
paramêtres lors de l'appel de la fonction, or lorsque j'ouvre
ou que je rafraichi le formulaire, celui-ci est à jour :)

Lupin
0