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 :

Tester les attributs d'une relation ? [AC-2003]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 410
    Par défaut Tester les attributs d'une relation ?
    Bonjour à tous, merci de votre temps et de votre aide.

    J'ai besoin par programme de changer des relations dans une BD. Le but est d'ajouter la mise à jour en cascade si elle n'existe pas.

    J'ai trouvé ici http://access.developpez.com/faq/?page=TableEtRelation qu'il y a des constantes qui nomme chacun des attributs (ex : dbRelationUpdateCascade) mais je n'arrive pas a m'en servir pour faire des tests.

    J'aimerai déterminer si il faut ou ne faut pas ajouter dbRelationUpdateCascade à une relation.

    Pour le moment le seul moyen que j'ai trouvé c'est de tester tous les attributs d'un bloc (ex : si attribut = 256256 ou 33554688 ou 16781568 alors la dbRelationUpdateCascade est déjà là et il ne faut rien faire). Ce procédé fonctionne mais parfois je tombe sur une valeur que je n'ai pas encore rencontrée et mon programme s'arrête net. Il faut alors que je regarde la relation et ses attributs dans la fenêtre de relation et que je modifie le code en conséquence. Ce n'est pas très professionnel :o).

    Est-ce que quelqu'un a déjà fait des tests sur une 'propriété' d'un attribut de relation ?

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  2. #2
    Expert confirmé
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Par défaut
    Bonjour,

    Les attributs individuels ont l'air d'être des masques binaires.
    Pour savoir si les bits sont à 1, il faut faire un ET bit-à-bit (And) entre la propriété Attributes et un masque binaire particulier.
    Le résultat est 0 si l'attribut n'est pas mis, <>0 s'il l'attribut est mis.

    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
    Dim oDb As DAO.Database, oRel As DAO.Relation
     
    Set oDb = CurrentDb
    For Each oRel In oDb.Relations
        Debug.Print oRel.Name & " " & oRel.Table & " ----- " & oRel.ForeignTable
        ' Teste le masque dbRelationUpdateCascade
        If (oRel.Attributes And DAO.RelationAttributeEnum.dbRelationUpdateCascade) <> 0 Then
            Debug.Print "   Mise à jour en casacade"
        End If
        ' Teste le masque dbRelationDeleteCascade
        If (oRel.Attributes And DAO.RelationAttributeEnum.dbRelationDeleteCascade) <> 0 Then
            Debug.Print "   Suppression en casacade"
        End If
        Debug.Print
    Next
    A+

  3. #3
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 410
    Par défaut
    Merci LedZeppII,

    j'avais bien senti que c'était un truc du genre mais je suis null en oppération binaire.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

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

Discussions similaires

  1. Attribut d'une relation
    Par marot_r dans le forum Access
    Réponses: 2
    Dernier message: 26/01/2006, 04h57
  2. [POO] retourner les attributs d'une classe
    Par ozzmax dans le forum Langage
    Réponses: 10
    Dernier message: 12/01/2006, 00h10
  3. Tester les valeur d'une liste déroulante
    Par st0nky dans le forum Langage
    Réponses: 1
    Dernier message: 04/12/2005, 14h52
  4. [VB.NET] Parcourir les attributs d'une classe
    Par pasqwal dans le forum Windows Forms
    Réponses: 3
    Dernier message: 15/02/2005, 09h47
  5. Réponses: 7
    Dernier message: 08/01/2005, 13h24

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