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

VBA Access Discussion :

erreur 3464 : type de données incompatible


Sujet :

VBA Access

  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 12
    Par défaut erreur 3464 : type de données incompatible
    bonjour a tous ... Je vous remercie d'avance pour le temps consacré.

    J'ai un probleme du genre "type de données incompatible dans l'expression du critere".
    la ligne surligné par access est ma requete sql :
    DoCmd.RunSQL ("DELETE * FROM Indicateur WHERE " & _
    " id_indicateur = '" & mon_indicateur & "' ")


    voici mon code

    Private Sub Commande15_Click()
    Dim Rep As Integer
    Dim mon_indicateur As Integer
    Rep = MsgBox("Voulez-vous vraiment supprimer l'indicateur ?", vbYesNo + vbQuestion, "Suppression Indicateur")
    mon_indicateur = InputBox("Veuillez entrer le numéro de l'indicateur ", "Choix du l'indicateur")
    If Rep = vbYes Then

    If mon_indicateur = Me.id_indicateur Then
    DoCmd.RunSQL ("DELETE * FROM Indicateur WHERE " & _
    " id_indicateur = '" & mon_indicateur & "' ")
    Else
    MsgBox ("Le numero de l'indicateur ne correspond pas à celui selectionné ?")
    End If

    Else ' '
    End If
    Me.Refresh
    End Sub


    Merci de me proposer des solutions si vous en avez...

  2. #2
    Expert confirmé

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

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 848
    Par défaut
    Bonjour,

    A priori le champ id_indicateur contient des valeurs numériques, donc mettre le paramètre du critère entre ' est inutile.

    Cordialement,

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 12
    Par défaut
    BONJOUR...Merci pour ta reponse...
    sa m'affiche une autre erreur lorsque j'enleve les quotes !

  4. #4
    Expert confirmé

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

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 848
    Par défaut
    Bonjour,

    Quel message ? en rapport avec le type de données ?
    Peux-tu mettre le nouveau code du SQL !

    Cordialement,

    PS : Mets tes codes dans les balises pour faciliter sa lecture ===> Tu le sélectionnes et appuies sur le bouton #

  5. #5
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 12
    Par défaut sa marche
    voila lme nouveu code.. j'ai enlever uniquement les ' et sa marche !
    Avant j'avais enlever les ' et les " c'est pour cela sa m'a afficher une autre erreur.
    voici la nouvelle requete

    DoCmd.RunSQL ("DELETE * FROM Indicateur WHERE " & _
    " id_indicateur = " & mon_indicateur & " ")"

  6. #6
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 12
    Par défaut encore une chose à ajouter
    lorsque l'indicateur est supprimer, je veux que la page s'actualise ! (comme lorsqu'on appui sur le bouton actualiser tout ) ; afin que l'utilisateur puisse etre convaincu que l'indicateur a ete bel et bien supprimer..
    Merci pour ton aide

  7. #7
    Expert confirmé

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

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 848
    Par défaut
    comme cela, ce sera plus propre, tu as des caractères inutiles à la fin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DoCmd.RunSQL ("DELETE * FROM Indicateur WHERE " & _
    " id_indicateur = " & mon_indicateur & ")"
    Pour actualiser tu mets un Me.Requery à la fin de ton code.

    Cordialement,

    PS : Mets tes codes dans les balises pour faciliter sa lecture ===> Tu le sélectionnes et appuies sur le bouton #

  8. #8
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 12
    Par défaut super ! sa marche tres bien ! MERCI
    sa marche niquel !
    par contre pour le # je ne sais pas à quel endroit il faut le faire. j'ai essayé dans mon Vba, sa efface tout le code et sa le remplace par #.
    explique moi plus clairement stp

  9. #9
    Expert confirmé

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

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 848
    Par défaut
    Quand tu rédiges ton message, dans les boutons en haut, il y a
    Pièce jointe 181457

    Et n'oublies pas de mettre la discussion en "RESOLU" si c'est bon.
    Cordialement,

  10. #10
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 12
    Par défaut okk comme ceci
    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
    Private Sub Commande15_Click()
    Dim Rep As Integer
    Dim mon_indicateur As Integer
     Rep = MsgBox("Voulez-vous vraiment supprimer l'indicateur ?", vbYesNo + vbQuestion, "Suppression Indicateur")
     
     If Rep = vbYes Then
      mon_indicateur = InputBox("Veuillez entrer le numéro de l'indicateur ", "Choix du l'indicateur")
     If mon_indicateur = Me.id_indicateur Then
    DoCmd.RunSQL ("DELETE * FROM Indicateur WHERE " & _
    " id_indicateur = " & mon_indicateur & "")
     Else
     MsgBox ("Le numero de l'indicateur ne correspond pas à celui selectionné ?")
     End If
     ElseIf Rep = vbNo Then Me.Refresh
     
     End If
     Me.Requery
    End Sub

  11. #11
    Expert confirmé

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

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 848
    Par défaut
    Et le premier code ,

  12. #12
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 12
    Par défaut c'est sa, après modification.... (pareil que le précedent)
    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
    Private Sub Commande15_Click()
    Dim Rep As Integer
    Dim mon_indicateur As Integer
     Rep = MsgBox("Voulez-vous vraiment supprimer l'indicateur ?", vbYesNo + vbQuestion, "Suppression Indicateur")
     
     If Rep = vbYes Then
      mon_indicateur = InputBox("Veuillez entrer le numéro de l'indicateur ", "Choix du l'indicateur")
     If mon_indicateur = Me.id_indicateur Then
    DoCmd.RunSQL ("DELETE * FROM Indicateur WHERE " & _
    " id_indicateur = " & mon_indicateur & "")
     Else
     MsgBox ("Le numero de l'indicateur ne correspond pas à celui selectionné ?")
     End If
     ElseIf Rep = vbNo Then Me.Refresh
     
     End If
     Me.Requery
    End Sub

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 23/05/2014, 17h01
  2. Réponses: 2
    Dernier message: 25/03/2013, 12h15
  3. [SQL]Erreur type de donnée incompatibles.
    Par arn.oo dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 29/03/2007, 14h19
  4. Réponses: 2
    Dernier message: 13/06/2006, 08h47
  5. Réponses: 3
    Dernier message: 22/05/2006, 19h23

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