Probleme de mise à jour de donnees
solomarius
-
solomarius -
solomarius -
Bonjour,
Je suis en train de programmer (ACCESS 2007) un mini logiciel pour mon école, et je suis bloqué sur la commande de mise à jour,
Mon problème avec le code actuel est que , il ne s’exécute que si je passe repasse en mode création, et puis je revient en mode formulaire, et c'est seulement après ces gymnastiqueS que cela fonctionne
Question:
Je voudrais qu'on m'aide, qu'est ce qui manque sur le code ci-dessous
EDIT : Ajout des BALISES DE CODE
Je suis en train de programmer (ACCESS 2007) un mini logiciel pour mon école, et je suis bloqué sur la commande de mise à jour,
Mon problème avec le code actuel est que , il ne s’exécute que si je passe repasse en mode création, et puis je revient en mode formulaire, et c'est seulement après ces gymnastiqueS que cela fonctionne
Question:
Je voudrais qu'on m'aide, qu'est ce qui manque sur le code ci-dessous
Private Sub Commande102_Click()
Dim db As Database
Dim rsel As Recordset
Set db = CurrentDb
If test_code_absence = 0 Then
Set rsel = CurrentDb.OpenRecordset(" SELECT t_absence.* FROM t_absence WHERE t_absence.id_abs = id_abs ")
rsel.MoveFirst
Do While Not rsel.EOF
If rsel!id_abs = id_abs.Value Then
With rsel
rsel.Edit
rsel![annee_scol] = annee_scol.Value
rsel![situation_abs] = situation_abs.Value
rsel![niveau] = niveau.Value
rsel![effectif_niv] = effectif_niv.Value
rsel![nb_abs] = nb_abs.Value
rsel.Update
MsgBox "Modification effectuée"
DoCmd.Close
End With
Exit Do
End If
rsel.MoveNext
Loop
End If
End Sub
EDIT : Ajout des BALISES DE CODE
1 réponse
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour, il manque des commentaires. tu ne donnes aucune explication de ce que tu souhaites que ton code fasse.
tu écris "il ne s’exécute que si...". comment le sais-tu?
A tout hasard:
- ajoute "option explicit" en début de module
- supprime le "With"
- pourquoi "DoCmd.Close" ?-
Bonjour yg_be
Merci pour ta réponse.
Ce que je veux que mon code fasse est la mise à jour des données qui sont déjà dans une table nommée t_absence, quand on clique sur un bouton modifier
J'ai exécuté ce code, et ce que je ne comprends pas est : que le programme ne n’exécute pas tout d'abord, puis dans la foulée je revient en mode création, puis je revient en mode formulaire(pour le même formulaire) et re-clique sur le bouton modifier. Et, là le programme s’exécute
Donc impossible de faire la mise à jour de donnée normalement.
C'est cela mon problème
J'ai ajouté " option explicit" au tout début du module, puis j'ai enlevé le With mais cela ne marche pas
Pq Docmd.close est une erreur de ma part, il manque un docmd.OpenForm
Merci- tu écris "il ne s’exécute que si...". comment le sais-tu? as-tu mis un point d’arrêt sur la premiere instruction?
il manque toujours des commentaires.
qu'essaies-tu de faire avecSELECT t_absence.* FROM t_absence WHERE t_absence.id_abs = id_abs
?
ne serait-il pas plus logique de faire:" SELECT * FROM t_absence WHERE id_abs = " & id_abs.Value
?
-
Bonjour yg_be
Encore merci pour ta réponse
J'ai créé plusieurs formulaire: un formulaire d'insertion, consultation et suppression, modification
Qu'essai-je de faire avec : SELECT t_absence.* FROM t_absence WHERE t_absence.id_abs = id_abs
-Dans ma formulaire "modification" id_abs qui est la clé primaire_auto_increment, avec une propriété "caché"
-Je veux sélectionner et modifier les données qui correspondent au id_abs
Merci
-