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 régulier
    Inscrit en
    Décembre 2005
    Messages
    134
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 134
    Points : 80
    Points
    80
    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 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 656
    Points : 34 355
    Points
    34 355
    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

  3. #3
    Membre régulier
    Inscrit en
    Décembre 2005
    Messages
    134
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 134
    Points : 80
    Points
    80
    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, 12h54
  2. Chercher une valeur dans un tableau
    Par christel1982 dans le forum ASP
    Réponses: 5
    Dernier message: 14/09/2006, 10h01
  3. Réponses: 10
    Dernier message: 23/05/2006, 18h42
  4. Chercher une valeur dans la base de registre
    Par Sallie dans le forum MFC
    Réponses: 9
    Dernier message: 19/05/2006, 13h57
  5. Recherche valeur dans table Access
    Par Stefloulou dans le forum Access
    Réponses: 1
    Dernier message: 05/11/2005, 09h45

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