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

VB.NET Discussion :

Empêcher la saisie de doublon access


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    314
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2002
    Messages : 314
    Par défaut Empêcher la saisie de doublon access
    Bonjour,

    J'ai une base Acces de membres d'une société sportive.
    Dans cette base j'ai un champ numéro auto qui me sert de numéro de membre.
    J'ai un autre champ Licence.
    Mon problème est que pas tous les membres ont une licence, donc champs vide.
    Les licences doivent être unique. Le numéro de licence est fournis par la fédération.
    Mon problème est comment empêcher la saisie de licence identique.
    Je fais les ajout et modif dans ma table de cette façon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    'Modification 
    Membres_Lignes = Membres_DataSet.Tables("MembresSTV").Rows(dgv1.CurrentRow.Index())
            Membres_Lignes("M_Nom") = TextBox1.Text
            Membres_CommandBuilder = New OleDbCommandBuilder(Membres_DataAdapter)
            Membres_DataAdapter.Update(Membres_DataSet, "MembresSTV")
     
    'Ajout
     Membres_Lignes = Membres_DataSet.Tables("MembresSTV").NewRow()
            Membres_Lignes("M_Nom") = txtNom.Text
            Membres_DataSet.Tables("MembresSTV").Rows.Add(Membres_Lignes)
            Membres_CommandBuilder = New OleDbCommandBuilder(Membres_DataAdapter)
            Membres_DataAdapter.Update(Membres_DataSet, "MembresSTV")
    Là je nage, je ne sais pas par quel bout commencer
    Merci d'avance de me donner une piste
    FikoU

  2. #2
    Invité
    Invité(e)
    Par défaut
    Tu ne pourras pas mettre en place une contrainte d'unicité vu que des membres sont susceptibles de na pas avoir de Licence (donc chaîne vide) et que chaque licence renseignée doit être unique en base.

    Je ne sais pas si en Access on peut mettre en place des contraintes personnalisées (en SQL Server on peut).

    Sinon, tu dois effectuer une vérification avant chaque insertion si la licence est renseignée.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    314
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2002
    Messages : 314
    Par défaut
    Merci h2s84,
    C'est toujours pas très clair pour moi.
    Je ne trouve pas grand chose sur "contrainte d'unicité" sous Access sur le web.
    Et encore mois des bouts de codes.

    FikoU

  4. #4
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut numero licence unique,attribut champ unique
    bonjour
    en mdb on peut specifier un attribut de contrainte pour un champ comme suit :
    pour numauto
    -cle primaire ->cle primaire(dans ton cas numauto fait l'affaire)
    pour le champ Licence tu peux faire:
    -unique ->sans doublon.
    -null autorise.
    Ceci te permettra de saisir les numeros de licence sans doublon et de laisser à vide les membres sans numero de licence.

    tout ceci vient de l'aide de MS ACCESS.....
    bon code....

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    314
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2002
    Messages : 314
    Par défaut
    Merci MABROUKI,

    Je vais tester tout ca.
    mon prochain soucis sera de gérer tout ca en code vb.net

    @+FikoU

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2010
    Messages
    291
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 291
    Par défaut
    Bonjour,

    mon prochain soucis sera de gérer tout ca en code vb.net
    La solution que te donne MABROUKI (qui est la bonne) ne te feras gérer uniquement une erreur lorsque le code tentera d'insérer un numéro de licence qui existe déjà, comme les doublons ne seront pas autorisés l'interface ADO renverra une erreur qu'il suffit de traiter dans un bloc try catch.

Discussions similaires

  1. [XL-2010] Empêcher la saisie de doublons dans un planning
    Par Moa26 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 11/08/2013, 17h51
  2. Empêcher la saisie de doublons dans un formulaire
    Par xhibox dans le forum VBA Access
    Réponses: 4
    Dernier message: 04/07/2009, 16h16
  3. Réponses: 3
    Dernier message: 25/04/2007, 16h57
  4. [PHP-JS] Empêcher la saisie dans la barre d'adresse
    Par kodokan dans le forum Langage
    Réponses: 3
    Dernier message: 18/08/2006, 11h37
  5. Saisie Excel vers Access
    Par bob75000 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/07/2006, 09h09

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