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

VBScript Discussion :

Nom de la clé d'une table


Sujet :

VBScript

  1. #1
    Membre actif
    Nom de la clé d'une table
    Bonjour
    Comment puis-je connaitre le nom de la zone qui est la clé primaire dans une base de données Access?
    Windows 8.1
    Firefox Quantum 58.0.1 (64 bits)
    Google Chrome Version 67.0.3396.99 (Build officiel) (64 bits)

  2. #2
    Rédacteur/Modérateur

    Salut

    Boucle sur la ligne d'enregistrement pour chaque champs, If MaTable.Fields(n).type = adKeyPrimary Then msgbox "Le nom de la Clef primaire est " & MaTable.Fields(n).Name ou n est le numéro du champ.
    Valeur des constantes pour:
    adKeyPrimary 1 Par défaut. La clé est une clé primaire.
    adKeyForeign 2 Il s'agit d'une clé étrangère.
    adKeyUnique 3 La clé est unique.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.

  3. #3
    Rédacteur/Modérateur

    Le code pourrait ressembler à
    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
    19
    ' connexion à la BD, ouverture d'une table (RecordSet nomé MaTable)
    ' appel de la fonction récupération du nom de la clef primaire
    Dim NameClef
    NameClef = NomChampsClefPrimary(MaTable)
     
    If NameClef <> "NO" Then
      MsgBox "La clef primaire ce nome " & NameClef
      Else
      MsgBox "Cette table ne contient pas de clef primaire"
    End If
     
    function NomChampsClefPrimary(Rst)
            Dim adKeyPrimary: adKeyPrimary = 1
            NomChampsClefPrimary = "NO"
            For n = 0 To Rst.Fields.Count -1
                If Rst.Fields(n).type = adKeyPrimary Then 
                NomChampsClefPrimary = Rst.Fields(n).Name: Exit For
            Next
    End Function
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.

  4. #4
    Membre actif
    Impeccable!
    encore Merci.

    PS. par contre la valeur pour "adKeyPrimary" doit être 3 au lieu de 1.
    Windows 8.1
    Firefox Quantum 58.0.1 (64 bits)
    Google Chrome Version 67.0.3396.99 (Build officiel) (64 bits)