bonjour,
j'ai créé un formulaire à partir d'une requête basée sur une table, sur ladite table, un champ s'appelle <DELETE>, ce champ apparait ensuite sur le formulaire en tant que <case à cocher>, quand le user appelle le formulaire, il est supposé cocher les enregistrements à supprimer et ensuite appuyer sur un bouton appelé <SUPPRIMER> afin de lancer la procédure suivante:
malheureusement, une fois la fonction terminée, mes enregistrements ont bien été supprimés de la table mais sur le formulaire à l'écran, les lignes des enregistrements supprimés apparaissent toujours, mais avec écrit à la place <supprimé>.
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 Sub ProcessDeleteLines() Dim FrmTemp As Form Dim strTempQuery As String Dim strYear As String Dim MaBd(10) As Database Dim Rs(10) As Recordset Dim MySQL(10) As String Dim strTemp As String Set FrmTemp = Forms![Frm_ImportAdjustmentSales] Set MaBd(1) = CurrentDb Set Rs(1) = MaBd(1).OpenRecordset(strTempQuery) Rs(1).MoveFirst strYear = Rs(1)![FiscalYear] 'pour déterminer l'année à supprimer Rs(1).Close MySQL(0) = "" & _ "DELETE [" & strTemp & "].[Delete], [" & strTemp & "].[FiscalYear] " & _ "FROM [" & strTemp & "] " & _ "WHERE ((([" & strTemp & "].[Delete])=True) " & _ "AND (([" & strTemp & "].[FiscalYear])='" & strYear & "'));" DoCmd.RunSQL MySQL(0) FrmTemp.Requery FrmTemp.Refresh FrmTemp.Repaint End Sub
comment dois-je définir mon code afin que ces lignes aient disparus à la fin?
autre petit souci, quand je clique sur 3 enregistrements et que le pointeur reste sur la case à cocher du 3ème enregistrement, ce dernier ne se supprime pas!
comment faire pour que, même si le user ne change pas le pointeur de place dans le formulaire, ce 3ème enregistrement soit également pris en compte dans la query de suppression?
d'avance un GRAND merci à qui pourra m'aider.....
Partager