Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Supprimer et...

4 réponses
Avatar
jfd
Bonjour à tous
Après suppression comment faire pour revenir sur un enregistrement et non
pas sur un page vierge ?
Merci et bonne journée
jfd
Private Sub Form_Delete(Cancel As Integer)
DoCmd.SetWarnings False
If MsgBox("Voulez vous réellement supprimer cette fiche? ", vbYesNo,
"ATTENTION") = vbYes Then
DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
Else
DoCmd.CancelEvent
End If
DoCmd.SetWarnings True
End Sub

4 réponses

Avatar
3stone
Salut,

"jfd"
| Après suppression comment faire pour revenir sur un enregistrement et non
| pas sur un page vierge ?
| Merci et bonne journée
| jfd
| Private Sub Form_Delete(Cancel As Integer)
| DoCmd.SetWarnings False
| If MsgBox("Voulez vous réellement supprimer cette fiche? ", vbYesNo,
| "ATTENTION") = vbYes Then
| DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
| DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
| Else
| DoCmd.CancelEvent
| End If
| DoCmd.SetWarnings True
| End Sub


Ton code n'est pas correct...

Tu n'arrives sur Form_Delete() qu'à la condition que tu aies déjà
demandé la suppression (par le bouton du menu,par exemple) !

Donc, le code devrait se limité à demander une confirmation :

If MsgBox("Voulez-vous supprimer...", vbYesNo, "Attention")= vbNo Then
' Annuler la supression
Cancel = True
End if

Et un record vide n'est présenté que lors de la suppression
du dernier enregistrement...

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
jfd
Bonjour Pierre et un « merci de plus »
Ok je comprends un peu mieux, question supplémentaire :
Comment faire sur un « Formulaire continu »pour n’avoir qu’une fois le
message en supprimant 6 lignes sélectionnées ensembles.
Merci et bonne journée.
jfd


Salut,

"jfd"
| Après suppression comment faire pour revenir sur un enregistrement et non
| pas sur un page vierge ?
| Merci et bonne journée
| jfd
| Private Sub Form_Delete(Cancel As Integer)
| DoCmd.SetWarnings False
| If MsgBox("Voulez vous réellement supprimer cette fiche? ", vbYesNo,
| "ATTENTION") = vbYes Then
| DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
| DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
| Else
| DoCmd.CancelEvent
| End If
| DoCmd.SetWarnings True
| End Sub


Ton code n'est pas correct...

Tu n'arrives sur Form_Delete() qu'à la condition que tu aies déjà
demandé la suppression (par le bouton du menu,par exemple) !

Donc, le code devrait se limité à demander une confirmation :

If MsgBox("Voulez-vous supprimer...", vbYesNo, "Attention")= vbNo Then
' Annuler la supression
Cancel = True
End if

Et un record vide n'est présenté que lors de la suppression
du dernier enregistrement...

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)






Avatar
3stone
Salut,

"jfd"
| Comment faire sur un « Formulaire continu »pour n’avoir qu’une fois le
| message en supprimant 6 lignes sélectionnées ensembles.


Pour connaitre les enregistrements sélectionnés dans un sous-form
en mode continu, tu peux te servir de ceci :
http://www.3stone.be/access/faq.php?lng=fr&pg)9

En bas de l'exemple, on affiche simplement les identifiants, mais toi
tu l'utiliseras pour supprimer les enregistrements par un :

CurrentDb.Execute "Delete * From LaTable Where ID=" & IDselect(lngLoop)

ou ID est le nom de la clé primaire...

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
jfd
Merci Pierre
je vais regarder cela de plus près.
Bonne soirée


Salut,

"jfd"
| Comment faire sur un « Formulaire continu »pour n’avoir qu’une fois le
| message en supprimant 6 lignes sélectionnées ensembles.


Pour connaitre les enregistrements sélectionnés dans un sous-form
en mode continu, tu peux te servir de ceci :
http://www.3stone.be/access/faq.php?lng=fr&pg)9

En bas de l'exemple, on affiche simplement les identifiants, mais toi
tu l'utiliseras pour supprimer les enregistrements par un :

CurrentDb.Execute "Delete * From LaTable Where ID=" & IDselect(lngLoop)

ou ID est le nom de la clé primaire...

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)