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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    187
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 187
    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 expérimenté
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 227
    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 confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    187
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 187
    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 : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Il te manque probablement la référence à DAO.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  5. #5
    Expert éminent

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

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

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    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 confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    187
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 187
    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 confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    187
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 187
    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

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

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

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    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à

+ 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