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 :

Comment savoir au traver d'un recordset si un nom existe deja dans une table ?


Sujet :

Access

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 81
    Points : 50
    Points
    50
    Par défaut Comment savoir au traver d'un recordset si un nom existe deja dans une table ?
    Salut tout le monde,

    J'aimerai faire un ajout dans une table, par des recordsets, mais je ne sais pas comment verifier si l'élément est deja present dans la table..
    Est ce que quelqu'un pourrait m'aider a ce sujet ??

    Merci d'avance

    stan314

  2. #2
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonsoir,

    Regarde la fonction de domaine DLookUp. Ca devrait répondre à ton pb.

    pgz
    pluritas non est ponenda sine necessitate - Le rasoir d'Okham
    Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon

  3. #3
    Membre habitué Avatar de MGD_Software
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2006
    Messages : 137
    Points : 139
    Points
    139
    Par défaut Vérification d'éléments avant ajout
    Il suffit de rechercher si les éléments existent, avant de faire l'ajout.
    Pour cela, faire une requete du type (avec le modèle DAO) :

    sReq$="SELECT COUNT(*) AS Nombre FROM NomTable WHERE Champ1=Critere1 AND Champ2=Critère2 ..."
    Set Rs = Db.OpenRecordset(sReq$, dbOpenSnapshot)

    Le recordset retourné ne comporte normalement qu'un seul enregistrement. Il suffit ensuite de faire :
    if Rs!Nombre > 0 then ... ' les éléments existent

  4. #4
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    Salut,

    je préfère tout de même la méthode à pgz sans vouloir te froisser MGD_Software. Par contre esseye de mettre ton code dans les balises c'est plus lisible.


    Sinon pour répondre à stan314

    voici un bout de code à toi de l'adapter.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        If Not IsNull(DLookup("tblChamp", "tblTable", "tblChampCompare = " & MonChamp.Value)) Then
     
            MsgBox "existant"
     
        Else
     
            MsgBox "Non existant"
     
        End If

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 104
    Points : 48
    Points
    48
    Par défaut
    Ben moi j'ai fait la derniere methode citée, et j'ai un (leger ) probleme !

    Quand je fait ca :
    If Not IsNull(DLookup("num", "adherent", "num = " & Rst.Fields("num").Value)) Then [...]
    Pas de problème !

    Mais il faut que je compare les champs 'code'...
    Et quand je fais ca :
    If Not IsNull(DLookup("num", "adherent", "code = " & Rst.Fields("code").Value)) Then [...]
    J'ai le message d'erreur suivant :
    Erreur 2001 - Opération annulée
    sur la ligne en question...

    Comprends pas, pourtant les champs se nomment bien 'code', alors pourquoi avec 'num' c'est ok et avec 'code' c'est pas ok ?


    P.S. : Rst est un recordset qui va chercher les infos dans une autre base de données...

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 104
    Points : 48
    Points
    48
    Par défaut
    Arf ca vient de me revenir...
    Chr(34)...



    [...] "code = " & Chr(34) & Rst.Fields("code").Value & Chr(34))) Then [...]

Discussions similaires

  1. Réponses: 3
    Dernier message: 31/07/2006, 16h42
  2. Réponses: 8
    Dernier message: 03/05/2006, 20h10
  3. Réponses: 3
    Dernier message: 22/04/2006, 06h05
  4. Savoir si un enregistrement existe déjà dans une table?
    Par danje dans le forum Langage SQL
    Réponses: 8
    Dernier message: 20/08/2005, 10h32

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