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 :

Créer un index pour une Base de données


Sujet :

VB 6 et antérieur

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 4
    Points : 5
    Points
    5
    Par défaut Créer un index pour une Base de données
    J'ai vu un peu regardé l'exemple dans l'aide de VB6, mais ça coince.
    Je voudrais créer une table pour mettre des images persos s'appelant "Catégorie" et un index "RefCatégorie". Voici ce que j'ai écris.
    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
    Public Sub CreerBase()
       CheminBase = App.Path & "\DB\Images.mdb"
     
        Set db = DAO.Workspaces(0).CreateDatabase(CheminBase, dbLangGeneral)
     
    Set Table = db.CreateTableDef("Categorie")
     
    With Table
    Set idxNew = .CreateIndex("RefCategorie")
    With idxNew
        .fields.Append .CreateField("NomCategorie")
        .fields.Append .CreateField("Cliparts", dbText)
        .fields.Append .CreateField("Photos", dbText)
        .fields.Append .CreateField("Gifs", dbText)
        .fields.Append .CreateField("Textures", dbText)
        .fields.Append .CreateField("Web", dbText)
        .fields.Append .CreateField("autres", dbText)
        .Unique = True
     
    End With
            .Indexes.Append idxNew
            .Indexes.Refresh
     
    End With
    db.TableDefs.Append Table
    db.Close
    Set db = Nothing
    Le problème c'est que ma base est bien crée ainsi que la table, mais pas l'index. Si vous avez une réponse, ou une autre façon de faire.
    Je vous remercie.

  2. #2
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Etant données que la table et l'index sont crées une seule fois, pourquoi ne pas le faire dans ton SGBDR lors de la création des objects de ta base ?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 4
    Points : 5
    Points
    5
    Par défaut Réponse à Laurent
    Il est vrai que je pourrais créer une base avec access contenant les index et les références de catégories, mais je voudrais donner la possibilité de créer d'autres références par le code. Je voulais juste que par le programme, l'utilisateur puisse créer sa propre base avec ses références et là j'en étais aux tests.
    Je vous remercie pour votre réponse, et j'espére que je me suis mieux exprimé cette fois.

  4. #4
    Membre actif Avatar de AdHoc
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 245
    Points : 239
    Points
    239
    Par défaut
    bonjour,
    au vu de l'aide de vb, tu mélanges deux choses la creation d'une Table et la creation de ses index.
    Fais l'un, puis l'autre.
    Le code suivant me crée la table avec un index
    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
       Dim dbBase As Database
       Dim NewTable As TableDef
       Dim idxNew As Index
     
        Set dbBase = DAO.Workspaces(0).CreateDatabase("App.Path & "Images.mdb", dbLangGeneral)
     
    Set NewTable = dbBase.CreateTableDef("Categorie")
     
    With NewTable
       'Creation de la table
       .Fields.Append .CreateField("NoCategorie", dbInteger)
       .Fields.Append .CreateField("NomCategorie", dbText)
       .Fields.Append .CreateField("Cliparts", dbText)
       .Fields.Append .CreateField("Photos", dbText)
       .Fields.Append .CreateField("Gifs", dbText)
       .Fields.Append .CreateField("Textures", dbText)
       .Fields.Append .CreateField("Web", dbText)
       .Fields.Append .CreateField("autres", dbText)
       'Creation de l'index
       Set idxNew = .CreateIndex("idxCategorie")
       With idxNew
          .Fields.Append .CreateField("NoCategorie")
          .Unique = True
       End With
       'Ajout de l'index à la collection d'index
       .Indexes.Append idxNew
       .Indexes.Refresh
    End With
    'Ajout de la table à la base de données
    dbBase.TableDefs.Append NewTable
    dbBase.Close
    Set dbBase = Nothing

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 4
    Points : 5
    Points
    5
    Par défaut Réponse à Adhoc
    Effectivement vu comme ça!!!! Créer un index pour créer un champ avec, bien compris.Merci beaucoup.
    Tout à fait autre chose, n'y a t'il pas trop de bruit dans le tunnel ?

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

Discussions similaires

  1. Quels logiciels de modélisation pour une base de données ?
    Par octopus dans le forum Décisions SGBD
    Réponses: 7
    Dernier message: 11/06/2023, 16h20
  2. Créer un bouton recherche et zone de texte pour une base de données excel
    Par Jeremy2109 dans le forum Macros et VBA Excel
    Réponses: 37
    Dernier message: 13/03/2015, 09h12
  3. Utilitaire pour renouveler les index d'une base de données paradox
    Par jenteldz47 dans le forum Bases de données
    Réponses: 3
    Dernier message: 09/07/2007, 11h58
  4. Réponses: 3
    Dernier message: 12/01/2006, 18h47
  5. [JSP]comment créer un listener pour ma base de données
    Par Ekimasu dans le forum Servlets/JSP
    Réponses: 14
    Dernier message: 10/05/2004, 14h49

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