Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/12/2011, 07h57   #1
Membre régulier
 
Inscription : avril 2005
Messages : 251
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 251
Points : 86
Points : 86
Par défaut Pb Sur Suppression enregistrement courant

Bonjour le forum

J' ai construit un code de suppression de donnée en fonction de l' utilisateur.
Le formulaire remonte bien toutes les données de l' utilisateur connecté, mais lorsque je demande la
suppréssion de l' enregistrement courant ce sont toutes les donnée de l' utilisateur passé dans la variable strUser qui sont supprimé.
Voici mon code
Code :
1
2
3
4
5
6
7
8
Dim Rep As Integer
 Rep = MsgBox("Souhaitez-vous supprimer l'enregistrement ?", vbYesNo)
 
If (Rep = vbYes) Then
      DoCmd.RunCommand acCmdSelectRecord
      DoCmd.RunSQL "DELETE  FROM tblPostIt WHERE LoginID = '" & strUser & "'"
      DoCmd.Close
End If
Comment dois je faire afin que ce soit l' enregistrement courant qui soit supprimé ?

Merci d' avance pour toute aide
Aladin
Aladin_23 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2011, 09h41   #2
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 090
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 090
Points : 11 620
Points : 11 620
Bonjour,

Tu sélectionnes l'enregistrement courant, ensuite tu lances une requete de suppression sur tous les enregistrements lié à strUser et tu ferme le formulaire courant.

Tu mélanges 2 techniques : Sélection + suppression et Suppression par requête.

Pour la première technique :
après sélection :
Code :
docmd.RunCommand acCmdDeleteRecord
et pas de runsql

La deuxième :
pas de runcommand mais simplement
Code :
DoCmd.RunSQL "DELETE  FROM tblPostIt WHERE ID = " & me.id
ou id est le contrôle qui contient le N° unique de la fiche, en espérant que tu ais penser à mettre une clef unique (numéroAuto).

la troisième :
Dans tous les cas n'importe quel utilisateur pourra supprimer cette fiche.
Il faut tester si c'est bien cet utilisateur qui est propriétaire de la fiche (si c'est cela que tu veux faire)

Code :
if not me.LoginID = strUser then exit sub
ou
tout dépend de ton événement.

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 20/12/2011, 11h38   #3
Membre régulier
 
Inscription : avril 2005
Messages : 251
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 251
Points : 86
Points : 86
Bonjour loufab, le forum
Merci loufab, avec tes conseils j' ai retraiallé le code et pu faire la suppression de l' enregistrement en faisant le test utilisateur.
Aladin
Aladin_23 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h25.


 
 
 
 
Partenaires

Hébergement Web