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 :

Chercher une valeur dans table Access


Sujet :

VBA Access

  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    134
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 134
    Par défaut Chercher une valeur dans table Access
    Bonjour à tous,
    Je suis un étudiant en stage et j'ai du créé un code qui récupère les valeurs d'un document Excel pour les mettre dans mes tables Access. Par contre, j'aimerai effectué un test pour savoir si, la valeur que je récupère est déjà présente dans ma table, auquel cas je met à jour la ligne. Dans le cas contraire, je créé une nouvelle ligne.
    J'ai un problème que je n'arrive pas à résoudre pour ce test, le reste marche impécable.

    Quelqu'un peut-il m'aider à résoudre mon problème svp ??? Merci d'avance.

    Mon 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
    17
    18
    For i = 2 To NbLine
        With xlApp.ActiveWorkbook.Worksheets("Bdd")  'recuperation des données de la feuille Bdd
            Req(1) = .Range("E" & i).Value
            toto = "SELECT * FROM nom_table WHERE colonne1='" & Req(1) & "'"
            Set rs = CurrentDb.OpenRecordset(toto)        
     
            If (Req(1) = rs("colonne1").Value) Then
                cSQL = "UPDATE nom_table SET colonne2='maj' WHERE colonne1='" & Req(1) & "'" 'requete SQL
                DoCmd.RunSQL cSQL   'execution de la requete SQL
                MsgBox ("boucle 1")
            Else
                MsgBox ("boucle 2")
                cSQL = "INSERT INTO nom_table (colonne1, colonne2) VALUES ('" & Req(1) & "', 'tata')" 'requete SQL"
                DoCmd.RunSQL cSQL   'execution de la requete SQL
     
            End If
        End With
        Next i

  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
    salut,
    pour aller plus vite, tu peux faire un combo Nz+Dlookup ou alors un Dcount()

    exemple avec Dcount
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Dcount("colonne1","MaTable","colonne1='" & xlApp.ActiveWorkbook.Worksheets("Bdd").Range("E" & i).Value & "'") = 1 Then
    'code d'update
    else
    'code d'insertion
    End If
    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 confirmé
    Inscrit en
    Décembre 2005
    Messages
    134
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 134
    Par défaut
    Bonjour,
    merci pour ta réponse, elle marche impécable.

    Bonne journée, nitro81

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 15/07/2014, 11h54
  2. Chercher une valeur dans un tableau
    Par christel1982 dans le forum ASP
    Réponses: 5
    Dernier message: 14/09/2006, 09h01
  3. Réponses: 10
    Dernier message: 23/05/2006, 17h42
  4. Chercher une valeur dans la base de registre
    Par Sallie dans le forum MFC
    Réponses: 9
    Dernier message: 19/05/2006, 12h57
  5. Recherche valeur dans table Access
    Par Stefloulou dans le forum Access
    Réponses: 1
    Dernier message: 05/11/2005, 08h45

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