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

Access Discussion :

Pb recherche et suppresion chaîne vide dans un enregistrement


Sujet :

Access

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 14
    Points : 8
    Points
    8
    Par défaut Pb recherche et suppresion chaîne vide dans un enregistrement
    Salut à tous ,

    Je desire rechercher et ensuite supprimer toutes les lignes d'un champ particulier dans une table à la fermeture d'un formulaire.

    Pour cela, je me suis grandement aidé du code trouvé en FAQ (voir ci-dessous) :

    Supprimer un enregistrement :

    Dim oDb as DAO.Database
    Dim oRst as DAO.Recordset
    'Instancie la base de données
    Set oDb=CurrentDb
    'Ouvre le curseur
    Set oRst=oDb.OpenRecordset("SELECT * FROM TblCommandes WHERE NumClient=13")
    'Parcours le jeu d'enregistrement jusqu'à la fin
    While Not oRst.EOF
    'Supprime l'enregistrement
    oRst.Delete
    'Passe au suivant
    oRst.MoveNext
    Wend

    'Libération des objets
    oRst.Close
    oDb.Close
    Set oRst=Nothing
    Set oDb=Nothing
    J'ai juste modifié la ligne rouge par le nom de ma table ainsi que son champ.
    Par contre, je n'arrive pas à trouver le code qui puisse me faire supprimer seulement les chaines vides ...

    Qqun aurait-il la réponse à cette question svp ???

    Merci d'avance
    ++BBoys

    PS: J'ai testé les "asv", "chr", "null" et autres mais sans succès

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Utilise le générateur de requète d'Access type suppression pour créer le SQL.

    Le critère Is Null or "" dans le champs qui t'interesse.

    dans ton code écrit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    dim db as DAO.Database:set db=currentdb
    db.querydefs("nomMaQuerySupression").execute
    db.close:set db=nothing
    Ca sera bien plus efficasse que d'appeler chaque enr un par un.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    Salut,

    Mon erreur venait du fait que j'écrivait "Mon_champ = Null" au lieu de "Mon_Chmap Is Null" C'est la chaleur qui me fait perdre la tête ...

    Mais comme tu m'as amélioré le code, je vais prendre ta version

    Encore merci Marot_R

    Je tagg "RESOLU"

    ++BBoys

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Citation Envoyé par BBoys85
    Salut,

    Mon erreur venait du fait que j'écrivait "Mon_champ = Null" au lieu de "Mon_Chmap Is Null" C'est la chaleur qui me fait perdre la tête ...
    Non, je suis d'accord avec toi '= Null' devrait fonctionner, ce n'est pas trés logique d'utiliser Is Null. Mais Null est une valeur un peu spéciale, dés qu'elle est utilisée dans une comparaison, le resultat est toujours Null. C'est une sorte d'élément absorbant un peu comme 0 pour la multiplication et c'est un peu piégeant.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 16/01/2014, 17h13
  2. Réponses: 13
    Dernier message: 21/12/2012, 16h05
  3. [XL-2007] recherche première cellule non vide dans une ligne
    Par tigrou530 dans le forum Excel
    Réponses: 3
    Dernier message: 23/02/2012, 13h21
  4. recherche d'une case vide dans un tableau
    Par Cherisch dans le forum Bioinformatique
    Réponses: 5
    Dernier message: 08/05/2009, 16h47
  5. Recherche de cellules non vides dans une colonne
    Par John81 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 05/09/2008, 22h57

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