IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

Erreur 3085 lors de la tentative de suppression d'une ligne d'une table en fonction d'une combobox [AC-2010]


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Juin 2004
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2004
    Messages : 59
    Points : 31
    Points
    31
    Par défaut Erreur 3085 lors de la tentative de suppression d'une ligne d'une table en fonction d'une combobox
    Bonjour à tous.

    Ca fait des années que je n'ai plus fait du sql et cela se sent, Je fais des tests basiques, histoire de me remettre en selle.

    Mon problème va vous paraitre peut être simple mais je bute dessus. Je souhaite supprimer une ligne de ma table en fonction d'une sélection dans une combox box
    Voici ce que j'ai :
    une table unique nommée Etatcivil avec 4 champs, Numéro, Nom, Prenom et DateNai.
    Dans mon formulaire, j'ai une combobox qui reprend les noms et prénoms de la table, quand je clique dessus, cela m'affiche les informations dans 3 textbox
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub cmbListe_Click()   
        Me.txt_nom = Me.cmbListe.Column(1)
        Me.txt_prenom = Me.cmbListe.Column(2)
        Me.txt_date = Me.cmbListe.Column(3)
    End Sub
    Et pour supprimer,j'ai mis ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub btn_supprimer_Click()
         DoCmd.RunSQL "DELETE * FROM Etatcivil WHERE Nom = Me.cmbListe.Column(1) "     
    End Sub
    Quand je clique sur le bouton, j'ai :
    Erreur d'éxécution '3085':
    Fonction "Me.cmbListe.Column" nom définie dans l'expression
    Je sèche. J'ai essayer des trucs improbables qui n'ont rien changé...normal puisqu'improbables.

    Quelqu'un aurait une petite idée ?
    Merci d'avance.

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonjour,

    1- Tu n'as pas besoin de faire du code pour assigner le résultat de la fonction Column vers une zone de texte.
    Il suffit de définir comme source de ta zone de texte.

    Pour la suppression d'une valeur selon un critère, il faut sortir ton paramètre de ton code SQL de la façon et le mettre entre "'" parce qu'un nom, c'est du texte normalement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub btn_supprimer_Click()
         DoCmd.RunSQL "DELETE * FROM Etatcivil WHERE Nom ='" &  Me.cmbListe.Column(1) &"'"
    End Sub
    Cordialement,
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Juin 2004
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2004
    Messages : 59
    Points : 31
    Points
    31
    Par défaut
    L'avantage quand on vient sur ce site, c'est qu'on a affaire à des gens compétents et qui ne se moquent pas des débutants...ce n'est pas le cas partout.
    Réponse tout à fait fonctionnel, un grand merci à toi.

    Avant de mettre "résolu", je te demanderais une dernier faveur : je sais que je devrais egalement avoir à faire à des données numériques, est ce que la ligne SQL reste la même où il y a-t-il une différence ou la ligne reste inchangé.
    J'ai essayé et il m'indique une erreur de type incompatible...

    Merci encore pour l'aide apportée

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Juin 2004
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2004
    Messages : 59
    Points : 31
    Points
    31
    Par défaut
    En convertissant le champs numérique en type string avec Cstr, cela fonctionne parfaitement mais j'aimerais quand même la syntaxe sans conversion ,au cas où .
    Merci

  5. #5
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 840
    Points : 7 974
    Points
    7 974
    Par défaut
    Bonsoir,

    Numérique, donc il fat enlever les ' qui encadrent la variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub btn_supprimer_Click()
         DoCmd.RunSQL "DELETE * FROM Etatcivil WHERE Nom =" &  Me.cmbListe.Column(1)
    End Sub
    Cordialement,
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Juin 2004
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2004
    Messages : 59
    Points : 31
    Points
    31
    Par défaut
    Une grand merci à vous.

    Cordialement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/08/2014, 08h49
  2. Réponses: 3
    Dernier message: 18/05/2014, 11h37
  3. Erreur lors de la tentative de suppression d'enregistrement
    Par santana2006 dans le forum Requêtes
    Réponses: 0
    Dernier message: 17/02/2010, 12h02
  4. Réponses: 1
    Dernier message: 15/11/2008, 12h20
  5. erreur dans l'insertion d'une ligne dans la table
    Par Eternel_F dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 16/06/2008, 09h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo