OVH Cloud OVH Cloud

suppression enregistrement

12 réponses
Avatar
ben
Bonjour,
En VBA, je voudrais conna=EEtre le code que je peux=20
associer =E0 un bouton d'un formulaire qui supprime=20
l'enregistrement s=E9lectionn=E9 (et ce sans avoir recours =E0=20
l'"assistant bouton de commande".
Merci d'avance,
Ben.

2 réponses

1 2
Avatar
Raymond [mvp]
vérifsociétédansacquisition est la source du formulaire ?
il n'y a que le DCount qui peut faire bouger la source. ce qui m'étonne,
c'est que le dcount fasse bouger la source du formulaire.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"ben" a écrit dans le message de news:
0b5301c4ec1a$cebf60d0$
Raisonsociale est un control, j'ai lis ce focus juste
pour tester suite à votre dernière remarque.
Si j'enlève les test, oui cela fonctionne, mais si je
les mets cela ne fonctionne plus...



-----Message d'origine-----
de placer le focus sur le formulaire (RaisonSociale est
quoi , un contrôle?)

ne place pas le curseur sur un enregistrement précis. je
pense qu'il

faudrait que tu fasses un findfirst pour retrouver le
bon enregistrement

(comme si tu utilisais une liste modifiable par exemple).
Un enregistrement est-il affiché dans le formulaire; si
oui, normalement

c'est l'enregistrement actif et il a le focus.

j'ai testé :
DoCmd.SetWarnings False
DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdDeleteRecord
DoCmd.SetWarnings True
et je n'ai aucun problème pour supprimer 10
enregistrements. ce qui voudrait

bien dire que ton formulaire perd le focus entre temps.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"ben" a écrit dans
le message de news:

0afc01c4ec03$19c05a70$
Vous avez une petite semaine pour vous remettre avant de
recommencer... Dure, dure !!!

Oui en début de code il y a un test sur une requête :

If DCount("*", "vérifsociétédansacquisition") > 0 Then
MsgBox "Cette société est liée à une acquisition et
ne peut donc être supprimée"
Else
If MsgBox("Supprimer une société supprimera
automatiquement les assemblées générales de cette
société." & vbCrLf & "Confirmez-vous cette
suppression ?", vbYesNo, "ATTENTION !") = vbYes Then

DoCmd.SetWarnings False
RaisonSociale.SetFocus
DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdDeleteRecord
DoCmd.Close acForm, Me.Name
DoCmd.SetWarnings True

End If
End If



.



Avatar
ben
Bon, je laisse tomber. Je fais autre chose.
Merci tout de même.



-----Message d'origine-----
vérifsociétédansacquisition est la source du formulaire ?
il n'y a que le DCount qui peut faire bouger la source.
ce qui m'étonne,

c'est que le dcount fasse bouger la source du formulaire.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"ben" a écrit dans
le message de news:

0b5301c4ec1a$cebf60d0$
Raisonsociale est un control, j'ai lis ce focus juste
pour tester suite à votre dernière remarque.
Si j'enlève les test, oui cela fonctionne, mais si je
les mets cela ne fonctionne plus...



-----Message d'origine-----
de placer le focus sur le formulaire (RaisonSociale est
quoi , un contrôle?)

ne place pas le curseur sur un enregistrement précis. je
pense qu'il

faudrait que tu fasses un findfirst pour retrouver le
bon enregistrement

(comme si tu utilisais une liste modifiable par
exemple).


Un enregistrement est-il affiché dans le formulaire; si
oui, normalement

c'est l'enregistrement actif et il a le focus.

j'ai testé :
DoCmd.SetWarnings False
DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdDeleteRecord
DoCmd.SetWarnings True
et je n'ai aucun problème pour supprimer 10
enregistrements. ce qui voudrait

bien dire que ton formulaire perd le focus entre temps.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"ben" a écrit dans
le message de news:

0afc01c4ec03$19c05a70$
Vous avez une petite semaine pour vous remettre avant de
recommencer... Dure, dure !!!

Oui en début de code il y a un test sur une requête :

If DCount("*", "vérifsociétédansacquisition") > 0 Then
MsgBox "Cette société est liée à une acquisition et
ne peut donc être supprimée"
Else
If MsgBox("Supprimer une société supprimera
automatiquement les assemblées générales de cette
société." & vbCrLf & "Confirmez-vous cette
suppression ?", vbYesNo, "ATTENTION !") = vbYes Then

DoCmd.SetWarnings False
RaisonSociale.SetFocus
DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdDeleteRecord
DoCmd.Close acForm, Me.Name
DoCmd.SetWarnings True

End If
End If



.




.




1 2