Bonjour,
Le code est le suivant.
Je m'explique: je souhaiterais modifier l'enregistrement dont le code est la variable stocker.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63 Option Compare Database Private Sub btValider2_Click() Set FrmRptTbl = CurrentDb.OpenRecordset("FrmRptTbl", DB_OPEN_TABLE) stocker = Forms!FrmRpt.Controls("frmCodeTxt").Value While Not FrmRptTbl.EOF If FrmRptTbl("Code") = stocker Then FrmRptTbl.Edit FrmRptTbl("NomDoss") = Forms!FrmRpt.Controls("FrmNomDoss").Value FrmRptTbl("FichPec") = Forms!FrmRpt.Controls("FrmFichPec").Value FrmRptTbl("Descri") = Forms!FrmRpt.Controls("FrmDescri").Value FrmRptTbl("Emplac") = Forms!FrmRpt.Controls("FrmEmplac").Value FrmRptTbl("Add") = Forms!FrmRpt.Controls("FrmAdd").Value FrmRptTbl("Aps") = Forms!FrmRpt.Controls("FrmAps").Value FrmRptTbl("Dce") = Forms!FrmRpt.Controls("FrmDce").Value FrmRptTbl("DpeGc") = Forms!FrmRpt.Controls("FrmDpeGc").Value FrmRptTbl("DpeEq") = Forms!FrmRpt.Controls("FrmDpeEq").Value FrmRptTbl("DpeElec") = Forms!FrmRpt.Controls("FrmDpeElec").Value FrmRptTbl("Pc") = Forms!FrmRpt.Controls("FrmPc").Value FrmRptTbl("Rc") = Forms!FrmRpt.Controls("FrmRc").Value FrmRptTbl("Ae") = Forms!FrmRpt.Controls("FrmAe").Value FrmRptTbl("Ccap") = Forms!FrmRpt.Controls("FrmCcap").Value FrmRptTbl("CahGs") = Forms!FrmRpt.Controls("FrmCahGs").Value FrmRptTbl("DossRm") = Forms!FrmRpt.Controls("FrmDossRm").Value FrmRptTbl("Securi") = Forms!FrmRpt.Controls("FrmSecuri").Value FrmRptTbl("Ct") = Forms!FrmRpt.Controls("FrmCt").Value FrmRptTbl("CrChan") = Forms!FrmRpt.Controls("FrmCrChan").Value FrmRptTbl("ConstHuiss") = Forms!FrmRpt.Controls("FrmConstHuiss").Value FrmRptTbl("DossPhot") = Forms!FrmRpt.Controls("FrmDossPhot").Value FrmRptTbl("PvContr") = Forms!FrmRpt.Controls("FrmPvContr").Value FrmRptTbl("PvEss") = Forms!FrmRpt.Controls("FrmPvEss").Value FrmRptTbl("DprGc") = Forms!FrmRpt.Controls("FrmDprEq").Value FrmRptTbl("DprEq") = Forms!FrmRpt.Controls("FrmDprEq").Value FrmRptTbl("DprElec") = Forms!FrmRpt.Controls("FrmDprElec").Value FrmRptTbl("DossEco") = Forms!FrmRpt.Controls("FrmDossEco").Value FrmRptTbl("Courr") = Forms!FrmRpt.Controls("FrmCourr").Value FrmRptTbl("DocRecep") = Forms!FrmRpt.Controls("FrmDocRecep").Value FrmRptTbl("Doe") = Forms!FrmRpt.Controls("FrmDoe").Value FrmRptTbl("FichProd") = Forms!FrmRpt.Controls("FrmFichProd").Value FrmRptTbl("Dprec") = Forms!FrmRpt.Controls("FrmDprec").Value FrmRptTbl("DprecGc") = Forms!FrmRpt.Controls("FrmDprecGc").Value FrmRptTbl("DprecElec") = Forms!FrmRpt.Controls("FrmDprecElec").Value FrmRptTbl("DprecEq") = Forms!FrmRpt.Controls("FrmDprecEq").Value FrmRptTbl("Pid") = Forms!FrmRpt.Controls("FrmPid").Value FrmRptTbl("Af") = Forms!FrmRpt.Controls("FrmAf").Value FrmRptTbl("Si") = Forms!FrmRpt.Controls("FrmSi").Value FrmRptTbl("Geo") = Forms!FrmRpt.Controls("FrmGeo").Value FrmRptTbl("Cctp") = Forms!FrmRpt.Controls("FrmCctp").Value FrmRptTbl.Update FrmRptTbl.MoveLast Else FrmRptTbl.MoveNext End If Wend FrmRptTbl.Close DoCmd.Close acForm, "FrmRpt", acSaveNo Exit Sub End Sub
Pour celà, j'ai fait un balayage du recordset et quand il trouve la bonne valeur, il édite l'enregistrement.
Le problème est que ça ne marche pas pour le dernier enregistrement (dans le sens le dernier que j'ai enregistré). à chaque fois access plante et je suis obligé de faire ctrl + alt +suppr . J'ai essayé différents types de boucles comme while not eof, loop until eof , ..mais le problème n'est pas résolu.
Quelqu'un verrait t'il ce qui coince dans mon code?
Merci d'avance
Partager