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 :

[VBA ACCESS] Suppression d'enregistrements


Sujet :

VBA Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    187
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 187
    Points : 56
    Points
    56
    Par défaut [VBA ACCESS] Suppression d'enregistrements
    Bonjour,

    Une commande me permet de supprimer un enregistrement mais le code ne fonctionne pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub cmd_remove_equipment_Click()
     
    Dim db As DAO.DATABASE
    Dim Requete As String
        Set db = DBEngine.OpenDatabase("\\192.168.1.100\data\ENG\DATABASE2\Equipments database.mdb")
        ' Exécution de la requête
        Requete1 = "DELETE FROM Equipmentcharacteristics WHERE Equipmentcharacteristics.IDEquipment = " & IDEquipment & ";"
        db.Execute Requete1
        Debug.Print "Records Affected = " & db.RecordsAffected
        db.Close
     
    DoCmd.SetWarnings False
     
    End Sub

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 227
    Points : 222
    Points
    222
    Par défaut
    Regarde ton instruction SQL "DELETE FROM Equipmentcharacteristics WHERE..."

    Il faut dire ce que tu delete. L'instruction doit être : DELETE * FROM ou alors DELETE nomtable.nomchamps FROM

    Salutations

    Bruno

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    187
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 187
    Points : 56
    Points
    56
    Par défaut
    j'ai mi * dans ma requete et j'en ai rajouter une 2e mail il ya une
    erreur de compilation , type défini par l'utilisateur non défini
    et on me souligne la ligne suivante: (celle soulignée en vert fluo dans le code).

    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
    Private Sub cmd_remove_equipment_Click()
    
    Dim db As DAO.DATABASE
    Dim Requete As String
        Set db = DBEngine.OpenDatabase("\\192.168.1.100\data\ENG\DATABASE2\Equipments database.mdb")
        ' Exécution de la requête
        Requete1 = "DELETE * FROM Equipmentcharacteristics WHERE Equipmentcharacteristics.IDEquipment = " & IDEquipment & ";"
        Requete2 = "DELETE * FROM Equipments WHERE Equipments.IDEquipment = " & IDEquipment & ";"
        db.Execute Requete1
        db.Execute Requete2
        Debug.Print "Records Affected = " & db.RecordsAffected
        db.Close
    
    DoCmd.SetWarnings False
    
    End Sub
    Merci

  4. #4
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Il te manque probablement la référence à DAO.

  5. #5
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Citation Envoyé par bruno28
    Regarde ton instruction SQL "DELETE FROM Equipmentcharacteristics WHERE..."

    Il faut dire ce que tu delete. L'instruction doit être : DELETE * FROM ou alors DELETE nomtable.nomchamps FROM

    Salutations

    Bruno
    On delete un enregistrement complet et non un champ. Si l'* fonctionne sous Access ce n'est pas pour autant qu'elle est normalisée SQL

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    187
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 187
    Points : 56
    Points
    56
    Par défaut
    AlainTech dit :
    Il te manque probablement la référence à DAO.
    C'est à dire coché la library Microsoft DAO 3.6 Library ou un truc comme ça ? (parce que ça c'est fait)

    Tofalu dit: On delete un enregistrement complet et non un champ. Si l'* fonctionne sous Access ce n'est pas pour autant qu'elle est normalisée SQL
    En clair ça veut dire que je change quoi dans mon "DELETE *" ?

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    187
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 187
    Points : 56
    Points
    56
    Par défaut
    j'ai un autre problème dans une procédure dans laquelle il y a "SELECT * FROM..." il se peut que ça soit aussi dû à l'astérisque ?

  8. #8
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Non, vu l'erreur surligné, c'est un problème de compilation, vérifie que la référence DAO est correctement cochée, car le problème semble réellement venir de là

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    187
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 187
    Points : 56
    Points
    56
    Par défaut
    La bibliothèque était bien cochée, il n'y a plus d'erreur aujourd'hui mais la suppression ne s'est pas effectuée :s

  10. #10
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Si la suppression ne s'effectue pas c'est que la requête n'est pas bonne. As tu essayé de l'exécuter directement dans access ? Peut être que la clause Where ne concerne aucun enregistrement

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    187
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 187
    Points : 56
    Points
    56
    Par défaut
    Re,

    Ah non c'est bon désolé c'était la DB sui était pas bonne...

    Merci

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

Discussions similaires

  1. [AC-2007] Access : suppression d'enregistrements
    Par babar0077 dans le forum Access
    Réponses: 2
    Dernier message: 30/11/2010, 21h33
  2. [VBA Access] supprimer les enregistrements/remplir table/dll
    Par genirette dans le forum VBA Access
    Réponses: 1
    Dernier message: 25/01/2008, 09h23
  3. [VBA][ACCESS]suppression champs vides
    Par k_pone dans le forum VBA Access
    Réponses: 2
    Dernier message: 22/06/2007, 16h01
  4. [VBA] [ACCESS] Acces aux enregistrements d'un formulaire
    Par Yanmeunier dans le forum Access
    Réponses: 6
    Dernier message: 27/04/2006, 11h30
  5. Réponses: 6
    Dernier message: 11/10/2004, 15h43

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