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 :

Parcourir table ACCESS et supprimer certains enregistrements


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 52
    Par défaut Parcourir table ACCESS et supprimer certains enregistrements
    Bonjour a tous

    Voila j'ai un probleme que je dois resoudre urgemment pour mon boulot alors le stress ne m'aide pas a travailler
    je suis encore debutant sous access

    Voila je cherche a effectuer un parcours de ma table et a supprimer certain enregistrement sous vba access

    Pour plus de précision sur mon code:

    dans ma tablecible j'ai :
    du numerique en colonne A et du texte en colonne B


    ce que je veux faire:
    soit un enregistrement a nimporte quel ligne si on trouve un autre enregistrement avec la meme information en colonne A alors on ne doit laisser qu'un seul enregistrements et supprimer les autres. le tri est fait en fonction du contenu en colonne B.

    En fait j'ai du mal a visualiser comment lui dire d'aller chercher un autre enregistrement a une autre ligne.

    comment lui dire en vba de chercher ailleurs ?

    si j'ai du mal a etre clair.dsl

    merci d'avance

    Bonne journée

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Bonjour,
    avant de passer par VBA, quelques pistes en SQL :
    http://access.developpez.com/faq/?page=SQL#Supprdblons

    sinon pour le VBA, le très bon cours sur DAO :
    http://warin.developpez.com/access/dao/
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 52
    Par défaut
    Merci pour ta reponse rapide
    en effet le cours semble interessant
    je regarde la partie sur les hierarchies et les boucles For
    je suppose que c'est ca que je dois utiliser

    ds une table excel cela aurait été plus simple je suppose:

    algo:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    FOr i allant de 0 à dernier enregistrement de la table
       Si a la cell(i,1)=cell(i+1,1) alors
           Si cell(i,2)>cell(i+1,2) alors
               supprime row(i+1)
           sinon 
               supprime row(i)
           fin si
       fin Si
    Next
    Si qq sait comment faire ca sur dans vba

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 52
    Par défaut
    Je ne trouve vraiment pas d'exemple de boucle for sur access je ne sais meme pas si c'est possible de cette façon.

  5. #5
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    tu ne nous as pa dit quel critère tu comptes utiliser pour dire sur deux enregistrements lequel tu comptes supprimer

    en lieu et place de la boucle For, je recommande la fonction
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 52
    Par défaut
    Le tri peut s'effectuer sur 4 enregistrements maximum parfois et non seulement 2.

    la table access est du type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    colA    colB
    001     a
    001     b
    001     c
    001     d
    002     b
    003     c
    003     a
    006     b
    008     c
    008     a
    ...
    Il y a exactement 4 type d'information differente dans colB: a, b, c ou d.

    Je veux qu'il modifie la table pour qu'elle devienne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    colA    colB
    001     a
    002     b
    003     a
    006     b
    008     a
    ...
    en utilisant une loi du type a>b>c>d
    ce qui veut dire que si pour 001 on a 4 enregistrements avec a b c et d on ne conserve que celui avec a et que l'on supprime les trois autres.

    Voila j'espere que je suis un peu plus clair là.

    merci d'avance

Discussions similaires

  1. Supprimer une ligne d'enregistrement de table Access en VBA
    Par ivoratparis dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 07/08/2013, 12h02
  2. [AC-2007] Parcourir un RecordSet et supprimer certains Enregistrements
    Par symbabeauchat dans le forum IHM
    Réponses: 4
    Dernier message: 12/11/2011, 17h09
  3. Supprimer certains enregistrements
    Par Dennis Nedry dans le forum Langage SQL
    Réponses: 2
    Dernier message: 20/06/2008, 16h51
  4. Requête supprimant certains enregistrements
    Par marcGR dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 04/03/2008, 18h01
  5. [VBA Access] supprimer les enregistrements/remplir table/dll
    Par genirette dans le forum VBA Access
    Réponses: 1
    Dernier message: 25/01/2008, 09h23

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