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

Requêtes et SQL. Discussion :

Détecter la présence d'une clé primaire


Sujet :

Requêtes et SQL.

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations forums :
    Inscription : Février 2005
    Messages : 109
    Points : 79
    Points
    79
    Par défaut Détecter la présence d'une clé primaire
    Bonjour,

    je viens de poser la question sur le forum asp mais on m'a conseillé de voir le forum access ou sql, alors me voilà !!

    Je souhaite vérifier en si la table de la base access sur laquelle je travaille possède un clé primaire et si oui quel est le nom de ce champ.

    Tout cela dans une page asp

    j'ai fais plusieurs recherche sur différent forum mais à chaque fois j'obtiens des lignes de commande pour oracle et sqlplus

    Merci beaucoup pour votre aide.

    Frogs

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,


    Vois si ceci fait ton bonheur.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations forums :
    Inscription : Février 2005
    Messages : 109
    Points : 79
    Points
    79
    Par défaut
    Merci claude pour ta réponse, c'est bien cela mais à intégrer dans une page asp.

  4. #4
    Expert éminent
    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
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonjour,

    Voici un exemple (VB) avec ADOX.
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    Function GetPrimaryKeyFields(sTable As String, sBdd As String)
    Dim oCat As Object         ' ADOX.Catalog
    Dim oTbl As Object         ' ADOX.Table
    Dim oKey As Object         ' ADOX.Key
    Dim oColn As Object        ' ADOX.Column
    Dim sColns As String
     
    ' Nouveau catalogue
    Set oCat = CreateObject("ADOX.Catalog")
    ' Connexion à bdd MS-Access
    oCat.ActiveConnection = "PROVIDER=Microsoft.Jet.OLEDB.4.0" & _
                            ";DATA SOURCE=" & sBdd
    ' Table
    Set oTbl = oCat.Tables(sTable)
    sColns = ""
    ' Enumeration clés
    For Each oKey In oTbl.Keys
        ' Si clé primaire (Type = 1)
        If oKey.Type = 1 Then
           ' Enumération champs
           For Each oColn In oKey.Columns
               If Len(sColns) > 0 Then sColns = sColns & ","
               sColns = sColns & oColn.Name
           Next
        End If
    Next
     
    GetPrimaryKeyFields = sColns
     
    Set oColn = Nothing
    Set oKey = Nothing
    Set oTbl = Nothing
    Set oCat = Nothing
    End Function
    sTable est le nom de la table
    sBdd est le chemin complet vers la base de données (ex: C:\Data\ma base.mdb")

    A+

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations forums :
    Inscription : Février 2005
    Messages : 109
    Points : 79
    Points
    79
    Par défaut
    Merci, m'en vais le tester

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations forums :
    Inscription : Février 2005
    Messages : 109
    Points : 79
    Points
    79
    Par défaut
    Bon, j'ai testé et j'obtiens :
    Microsoft VBScript compilation error '800a03ed'

    Expected '('

    /webprod/Resources/ressources_fr/aspmyadmin/afficher2.asp, line 9

    Function GetPrimaryKeyFields sTable As String, sBdd As String

    D'après mes recherches, il s'agit d'un bug microsoft qui est corrigé dans un pack de mise à jour, hors je ne peux pas en faire, .... donc merci à vous pour vos réponses et je vais essayer de détourner tout cela.

  7. #7
    Expert éminent
    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
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonjour,

    As-tu transformé mon exemple de code en VBS ?
    Il faut, je crois, enlever les As String et As Object.

    Et peut-être remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ' Nouveau catalogue
    Set oCat = CreateObject("ADOX.Catalog")
    Par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ' Nouveau catalogue
    Set oCat = Server.CreateObject("ADOX.Catalog")
    A+

  8. #8
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations forums :
    Inscription : Février 2005
    Messages : 109
    Points : 79
    Points
    79
    Par défaut
    Je n'avais fait que la moitié du boulot !!!

    Merci beaucoup pour ton aide LedZeppII

    @+

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

Discussions similaires

  1. Vérifier la présence d'une clé primaire
    Par pekka77 dans le forum Adaptive Server Enterprise
    Réponses: 2
    Dernier message: 24/08/2009, 08h14
  2. Détecter la présence d'une webcam Flex AS3
    Par Kahlyv dans le forum Flex
    Réponses: 3
    Dernier message: 02/04/2009, 18h05
  3. détecter la présence d'une chaîne de caractères
    Par nadalator666 dans le forum Langage
    Réponses: 1
    Dernier message: 28/03/2007, 11h13
  4. Détecter la présence d'une fenêtre
    Par Invité dans le forum VBScript
    Réponses: 3
    Dernier message: 16/11/2006, 10h24

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