Bonjour j'ai une table crée sous access et un champ qui affiche la table, et je voudrais avec un Objet Text dans lequel on marque la clé à suprimer que lorsque je clic sur suprimer il suprimer la ligne dans la table.
Merci pour votre aide
Bonjour j'ai une table crée sous access et un champ qui affiche la table, et je voudrais avec un Objet Text dans lequel on marque la clé à suprimer que lorsque je clic sur suprimer il suprimer la ligne dans la table.
Merci pour votre aide
je te conseillerais vivement de regarder dans ce super Tuto de Christophe Warin sur les DAO, je pense que tu y trouveras ton bonheur.
En particulier ici
Bien a toi
euh non pas vraiment personne je voudrais la syntaxe pour suprimer une clé de ma table.
Bon, alors, regarde là, la syntaxe est donnée.
Farfouille un peu dans les tutos, ils sont extremements complets !!!!!
Oui j'ai bien vu mais en fait je ne vois pas comment l'adapter à mon cas, moi en fait j'ai une table avec un champ comme clé primaire "Clé" puis une zone de texte dans la quelle je rentre le N° de la clé que je ve suprimer et lorsque je clic sur le bouton il est sencé suprimer la ligne correspondant au N° de clé tapé dans la zone de texte.
Ah, pardon, autant pour moi... Je m'imaginais la table en mode création, supprimer une ligne correspondrait un supprimer un champ
En fait, ton probleme est simple, tu as juste besoin de supprimer un enregistrement en t'aidant de la clé primaire.
Je te propose de rester dans la meme méthode que celle expliquée dans le tuto (c'est vraiment un façon complete et efficace de programmer sur Access). C'est une bibliotheque de fonctions que tu dois charger dans ton application Access, pour ca, regarde ce paragraphe
La méthode dans ton cas consite a ouvrir un jeu d'enregistrement qui correspond a ta table et dans lequel tu vas chercher l'enregistrement a traiter et supprimer la ligne.
le plus gros est fait, je te laisse terminer et l'adapter a ta base!
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 'Declarations des variables Dim rec as Dao.Recordset Dim db as Dao.Database Set db=Currentdb 'Ouverture du Recordset Set rec=db.Openrecordet("SELECT * FROM [Nom de ta table]") 'On cherche le bon enregistrement: Rec.FindFirst "[nom du champ dans lequel tu recherche]='" & Me.Nom_du_champ_sur_ton_formulaire & "'" 'par cette méthode (FindFirst), tu places le curseur de ton recordset sur le bon enregistrement (S'il l'a trouvé, bien sur) If rec.NoMatch then Msgbox "Enregistrement inconnu" Exit Sub Else 'ici code pour supprimer l'enregistrement End if
Bon courage
Je te remerci de ton aide en fait j'ai fait avec une requête SQL :
Par contre j'ai remarqué quelque chose qui me chagrine au niveau de la numérotation auto, il saute le champ que j'ai suprimé c'est à dire que je suprime le 12 par exemple, et le prochain champ que je vais créer sera le 13 et j'aurai les champ 10,11,13. Est ce que tu sait comment en quelque sorte reconstruire l'indexe ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Cle = txtCleSupr.Value DoCmd.RunSQL ("Delete ProduitsF.* FROM ProduitsF Where N°=" & Cle & ";")
Bonjour,
Merci de bien vouloir efectuer une recherche dans la FAQ
De plus, une clé ne sert pas à avoir une numérotation des enregistrements mais uniquement à identifier des enregistrements de manière unique.
Pour la numérotation : une petite recherche sur le forum est possible.
La question a été posée maintes fois.
![]()
Kikof a bien raison, cherche dans la FAQ quand tu as une question. Quand on débute vraiment on se rend compte bien souvent que qq1 a déja eu la meme question que toi. Ca m'arrive encore dans 80% des cas.
En effet, tu peux faire une requete SQL. Je voulais te faire utiliser la méthode DAO car elle est bien plus efficace (pour des grand nombres d'opération) que par des commandes SQL. De plus, lorsque tu maitrises un peu le DAO, tu te rends compte que tu peux quasiment tout faire avec. Ca donne vite une nouvelle dimension a ta base de données.
Referes-y toi souvent !
Partager