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 6 et antérieur Discussion :

[VB6 + Access] Comment eviter les doublons = enregistrer deux fois une ref. ?


Sujet :

VB 6 et antérieur

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 13
    Points : 8
    Points
    8
    Par défaut [VB6 + Access] Comment eviter les doublons = enregistrer deux fois une ref. ?
    Salut...
    J'ai une BD access manipulée sous VB6 à l'aide d'un Dataenvironment...
    Mon probleme c comment verifier l'existance d'un enregistrement (une reference qui est la clé de la BD) avant d'ajouter ?
    VB6 lance son propre message d'erreur, ce que je vx c comment puis-je faire la verification :

    - si l'enregistrement existe dejà ===> message d'erreur personnalisé
    - sinon effectuer l'enregistrement !

    Je voulais exploiter le code de la recherche, qui fonctionne bien, sur mon app mais il y a toujours l'erreur !

    Merci d'avance

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Points : 1 418
    Points
    1 418
    Par défaut
    Citation Envoyé par null_as400
    Comment eviter les doublants ?
    En roulant à gauche tout le temps.

  3. #3
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    Citation Envoyé par Vld44
    Citation Envoyé par null_as400
    Comment eviter les doublants ?
    En roulant à gauche tout le temps.
    Dommage, j'ai édité le titre avant de lire le sujet, mais
    Vous vous posez une question, la réponse est peut-être ici :
    Toutes les FAQs VB
    Les Cours et Tutoriels VB6/VBScript
    Les Sources VB6


    Je ne réponds pas aux questions techniques par MP. Utilisez les forums. Merci de votre compréhension

  4. #4
    Futur Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    Ah... oui... Je comprends...
    Y a qlq'un qui pt m'aider ?

  5. #5
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Faire une recherche de la clé dans la base avant d'enregistrer. Si la clé est trouvé, plus la peine d'eregistrer
    En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
    (ALEXANDRE DUMAS)

    N'hésitez pas à visiter ma page de contributions

  6. #6
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Points : 1 418
    Points
    1 418
    Par défaut
    Je ne connais pas du tout les procédure stockées sous access, mais si elles existent, et qu'elles admettent une gestion d'erreur, tu trouves comment faire un resume next lorsque tu as une rupture d'intégrité ...

    Sinon tu fais la même chose mais dans VB

  7. #7
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Si l'identifiant de la donnée est une clé primaire, de facto, tu ne pourra la doubler puisqu'une clé primaire est unique. Du moins, il me semble.

  8. #8
    Futur Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    Merci pour vos reponses...
    C vrai, et comme j'ai dit avant, VB a son propre message d'erreur et par defaut il est impossible de doubler l'enregistrement d'une Clé primaire... mais juste après le message de VB ===> l'application est fermée ! et c ce que je vx eviter en lançant un message d'erreur personnalisé...

    J'ai essayé d'exploiter le code de recherche (qui fonctionne bien déja) et l'integrer dans "Ajouter_Click" mais ça marche pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim Donne, Valeur, Rang As String
    NumEnreg = DataEnvironment1.rsETCV.AbsolutePosition
    Rang = acte_num_sc ' le nom du rang qui contien la clé primaire
    Donne = acte_num_sc.Text 'zone ou je tapte la clé pour effectuer un    
                                          enregistrement
    DataEnvironment1.rsETCV.Filter = Rang & "='" & Donne & "'"
    If acte_num_sc = "" Then
    DataEnvironment1.rsETCV.Filter = adFilterNone
    DataEnvironment1.rsETCV.MoveFirst
    DataEnvironment1.rsETCV.Move NumEnreg - 1
    '--------"Aucun enregistrement trouvé" Effectuer l'enregistrement
    End If
    '--------"Nombre d'enregistrements trouvés" Message d'erreur
    Quand je lance ce code j'ai une erreur "risque de doublons" au niveau de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DataEnvironment1.rsETCV.Filter = Rang & "='" & Donne & "'"
    Quoi faire... ? Et merci d'avance !

  9. #9
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Points : 1 418
    Points
    1 418
    Par défaut
    renseignes-toi sur le moyen de récupérer une erreur en VB. C'est ce qu'il te manque.

  10. #10
    Membre chevronné
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Points : 1 788
    Points
    1 788
    Par défaut
    Comme te l'a dit delbeke, il faut recherher l'existance de la cle.

    Voila une procedure pour y parvenir :

    Tu boucles sur tous les enregistrements de la table et a chaque fois tu compares la cle de l'enregistrement (pendant la boucle) avec celle que tu veux ajouter. Tu devras utiliser une variable (bouleenne de preference) pour marquer si oui ou non tu as trouve la cle. A la fin de la boucle donc tu verifies si oui on non elle exite deja et tu fait le traitement approprie.
    "Toute question a une reponse. Et chaque reponse est une nouvelle question." Albert EINSTEIN

    En cas de Question resolu, n'oubliez pas

  11. #11
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Points : 1 418
    Points
    1 418
    Par défaut
    a mon avis c'est un peu couteux par rapport a insérer + récupérer l'érreur éventuelle.

Discussions similaires

  1. Réponses: 0
    Dernier message: 09/02/2011, 09h13
  2. comment chercher les doublons sur deux champs (ou plus)
    Par alili mostafa dans le forum Bases de données
    Réponses: 4
    Dernier message: 31/05/2010, 19h09
  3. [AC-2003] Eviter les doublons entre deux tables
    Par soleil_levant dans le forum Modélisation
    Réponses: 1
    Dernier message: 23/06/2009, 17h29
  4. Eviter les doublons en enregistrement bdd access
    Par nboubeur dans le forum ASP
    Réponses: 14
    Dernier message: 11/09/2008, 08h51
  5. [MySQL] Eviter les doublons à l'insertion dans une base
    Par leloup84 dans le forum PHP & Base de données
    Réponses: 23
    Dernier message: 26/01/2006, 15h26

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