Suppression d'un enregistrement,la requête DELETE [Résolu]

tastastoussa 74 Messages postés lundi 8 août 2011Date d'inscription 11 février 2013 Dernière intervention - 19 août 2011 à 15:28 - Dernière réponse : tastastoussa 74 Messages postés lundi 8 août 2011Date d'inscription 11 février 2013 Dernière intervention
- 21 août 2011 à 12:57
salut tout le monde,je suis en cours de création d'une applicatio au sein de mon stage.
je souhaite créer un bouton de suppression qui permet de supprimer un enregistrement bien precisé par son identifiant voilà mon code:

Private Sub Command1_Click()
If (Text2.Text = "") Then
MsgBox "Aucn identifiant n'est saisie", vbInformation, ""
Text2.Text = ""
Else
  Adodc1.RecordSource "select * from Voiture where Identifiant '" & Text2.Text & "';"
  Dim Warning As Integer
  Warning = MsgBox("étes vous sûr de vouloir supprimer cette voiture?", vbCritical + vbYesNo, "Warning!!!")
  If (Warning = vbYes) Then
  Adodc1.Refresh
  Adodc1.Recordset.Delete
  MsgBox ("votre voiture est supprimée")
  Else
  MsgBox ("suppression annulée")
  End If
End If
End Sub

quand je passe à l'execution,il m'affiche le msgbox de confirmation de supression,qu'on je clique sur ok un message d'erraur s'ffiche en disant types de données incompatible.
je trouve pas la source du probléme,pouvez vous SVP m'aider?
Merci d'avance
Afficher la suite 

Votre réponse

13 réponses

Meilleure réponse
marion8316 75 Messages postés mercredi 17 août 2011Date d'inscription 27 septembre 2011 Dernière intervention - 21 août 2011 à 12:04
3
Merci
Bonjour,

Ci-dessous le code qui permet de supprimer un enregistrement avec un objet 'Adodc'.

Il faut faire une recherche avec la commande 'Find' pour se positionner sur l'enregistrement
à supprimer et ensuite utiliser la commande 'Delete".

La condition (if) permet de savoir si nous avons trouvé l'enregistrement.

La zone 'Text1' est la zone de saisie, et la zone 'Text2' affiche le nombre d'enregistrements
dans la table.

Je rejoins Nhenry j'utilise moi aussi que du code pour une connexion et faire des manipulations
(requête SQL)sur une base de données.

En espérant que cela vous conviendra.

Didier





Private Sub Command1_Click()

' Suppression
'

Me.Adodc1.Recordset.Find ("[Numéro_table] = " & Val(Me.Text1.Text))

If Me.Adodc1.Recordset.EOF Then
MsgBox "Enregistrement non trouvé ! "
Else
Me.Adodc1.Recordset.Delete
Me.Adodc1.Refresh
End If

Me.Adodc1.Recordset.MoveFirst

Me.Text2.Text = Me.Adodc1.Recordset.RecordCount


End Sub

Private Sub Form_Activate()

Me.Adodc1.RecordSource = "select * from equipes"
Me.Adodc1.Refresh

Me.Text2.Text = Me.Adodc1.Recordset.RecordCount

End Sub

Private Sub Form_Load()

Me.Text1.Text = ""
Me.Text2.Text = ""

End Sub

Merci marion8316 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 83 internautes ce mois-ci

Commenter la réponse de marion8316
NHenry 14229 Messages postés vendredi 14 mars 2003Date d'inscription 14 juillet 2018 Dernière intervention - 19 août 2011 à 17:01
0
Merci
Bonjour,

Suite du sujet :
http://www.vbfrance.com/forum/sujet-SUPRESSION-ENREGISTREMENT_1541881.aspx?p=2

J'ai un peu tardé à répondre, dsl.

Peut être que ça t'aidera :
http://www.vbfrance.com/forum/sujet-REQUETES-UPDATE-AVEC-ADO_815563.aspx

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
Commenter la réponse de NHenry
4u4me4us 781 Messages postés lundi 22 janvier 2007Date d'inscription 30 octobre 2013 Dernière intervention - 19 août 2011 à 17:01
0
Merci
Je n'arrive pas a voir qu'elle ligne cose le problème.

Pour la trouver de te propose de :

1) Faire un clique au niveau de ton premier if sur la marge grise tout a gauche de la fenêtre de code. Cela va afficher un barre rouge.

2) execute ton code

3) Clique sur le bouton en question

4) Le prgramme va sarrter tout seul sur ton premier if, là ou il y a la barre rouge.

5) Presse la touch F8 pour faire progresser ton code d'une ligne à lautre

9) quand ton code arriverra a la ligne qui cause problème envoi la sur le poste.

P.S. Tu devrais faires le delete avant le Refresh
Commenter la réponse de 4u4me4us
tastastoussa 74 Messages postés lundi 8 août 2011Date d'inscription 11 février 2013 Dernière intervention - 19 août 2011 à 17:15
0
Merci
merci beaucoup tout d'abord.
Alors j'ai fait ce que vous m'avez conseiller tout en mettant delete avant le refrech.
le probleme est au niveau du ligne
Adodc1.Refresh
je sais pas si la source d'erreur est que j'ai mis pour adodc1 en propriétes
select * from Voiture
qu'en pensez vous?
Commenter la réponse de tastastoussa
tastastoussa 74 Messages postés lundi 8 août 2011Date d'inscription 11 février 2013 Dernière intervention - 19 août 2011 à 17:20
0
Merci
quand je met annuler il m'affiche la msgbox "suppression annulée" donc çava,
la probleme c au niveau de la suppression.quand je clique ok(c'est à dire confirmation de suppression) il m'affiche un message d'erreur '91' varible de type objet ou variable WITH non definie
Commenter la réponse de tastastoussa
4u4me4us 781 Messages postés lundi 22 janvier 2007Date d'inscription 30 octobre 2013 Dernière intervention - 19 août 2011 à 17:20
0
Merci
Essaye Adodc1.Fields.Refresh
Commenter la réponse de 4u4me4us
tastastoussa 74 Messages postés lundi 8 août 2011Date d'inscription 11 février 2013 Dernière intervention - 19 août 2011 à 17:25
0
Merci
il y a pas adodc.Fields!!!ça marche pas.
en l'ajoutant l'execution s'arrête dés mon cliqu sur le bouton de suppression.
avez vous une autre proposition SVP.
Commenter la réponse de tastastoussa
tastastoussa 74 Messages postés lundi 8 août 2011Date d'inscription 11 février 2013 Dernière intervention - 19 août 2011 à 17:28
0
Merci
j'ai consulter la discussion dont vous m'avez parler NHenry mais j'ai pas trouvé ce que je cherche,peut être que j'arrive plutôt pas à comprendre les différentes lignes.
Commenter la réponse de tastastoussa
NHenry 14229 Messages postés vendredi 14 mars 2003Date d'inscription 14 juillet 2018 Dernière intervention - 19 août 2011 à 17:58
0
Merci
Bonjour,

Je reprend le message :
cn (la connexion ADODB.Connection)
cn.execute "UPDATE users SET numero = 4405;", RecordAff

Si à la place de "UPDATE .."
Tu mets ta requête DELETE, ça devrait passer.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
Commenter la réponse de NHenry
tastastoussa 74 Messages postés lundi 8 août 2011Date d'inscription 11 février 2013 Dernière intervention - 19 août 2011 à 18:05
0
Merci
je suis désolée si je pose beaucoup de questions,mais j'ai pas compris comment je dois declarer cn?
en fait j'utilise l'adodc mais dans le code j'ajoute rien.
Commenter la réponse de tastastoussa
NHenry 14229 Messages postés vendredi 14 mars 2003Date d'inscription 14 juillet 2018 Dernière intervention - 19 août 2011 à 18:22
0
Merci
Bonjour,

cn est la connexion à la base de données.
Elle existe forcément.
Je n'utilise que des connexions par le code, donc j'aurais du mal à t'aiguiller, dsl.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
Commenter la réponse de NHenry
tastastoussa 74 Messages postés lundi 8 août 2011Date d'inscription 11 février 2013 Dernière intervention - 20 août 2011 à 13:55
0
Merci
oui je comprend,en tout cas merci.
je vais essayer encore mais si quelqu'un peut m'aider svp
Commenter la réponse de tastastoussa
tastastoussa 74 Messages postés lundi 8 août 2011Date d'inscription 11 février 2013 Dernière intervention - 21 août 2011 à 12:57
0
Merci
Merci beaucoup chers amis
Commenter la réponse de tastastoussa

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.