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éation d’une base de donnée


Sujet :

VB 6 et antérieur

  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    octobre 2007
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2007
    Messages : 487
    Points : 294
    Points
    294
    Par défaut Création d’une base de donnée
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    Sub creatproduit(db As Database, name As String)
     
    Dim tb As TableDef
    Set tb = New TableDef
    tb.name = name
    createfield tb, "ref", dbText, 15, False, True
    createfield tb, "desig", dbText, 30
    createfield tb, "q", dbSingle
    'CreateIndex tb, "xref", Array("ref"), True, True
    db.TableDefs.Append tb
    End Sub
    Sub createfield(tb As TableDef, name As String, t As Integer, Optional size As Integer = 0, Optional azl As Boolean = True, Optional notnull As Boolean = False)
    Dim f As Field
    Set f = New Field
    f.name = name
    f.Type = t
    If (size > 0) Then f.size = size
    tb.Fields.Append f
    tb.Fields(name).AllowZeroLength = azl
    tb.Fields(name).Required = notnull
     
     
    End Sub
    Sub creatindex(tb As TableDef, name As String, champs As Variant, Optional primary As Boolean = False, Optional unique As Boolean = False)
    Dim ndx As Index
    Set ndx = New Index
    ndx.name = name
    For i = LBound(champs) To UBound(champs)
    ndx.Fields.Append ndx.createfield(champs(i))
    Next
    ndx.primary = primary
    ndx.unique = unique
    tb.Indexes.Append ndx
     
    End Sub
     
     
    Sub createtable(db As Database)
    creatproduit db, "produit"
    End Sub
     
     
    Private Sub Form_Load()
    Dim db As Database
     
     
    If (Dir("c:\dotnet.mdb") <> "") Then
    Kill ("c:\dotnet.mdb")
    End If
    Set db = CreateDatabase("c:\dotnet.mdb", dbLangGeneral + ";pwd=dot")
    createtable db
     
     
     
    End Sub
    Voila le prof nous a donné ce code en tp et j’ai constaté qu’il y a des lignes dans ce code que j’ai pas comprit


    Voici les lignes que je n’ai pas comprit

    db.TableDefs.Append tb

    If (size > 0) Then f.size = size
    tb.Fields.Append f
    tb.Fields(name).AllowZeroLength = azl
    tb.Fields(name).Required = notnull
    ndx.name = name
    For i = LBound(champs) To UBound(champs)
    ndx.Fields.Append ndx.createfield(champs(i))
    Next
    ndx.primary = primary
    ndx.unique = unique
    tb.Indexes.Append ndx
    et merci

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

    Informations forums :
    Inscription : juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Db correspond à la base de données
    Tabledefs est une collection contenant toutes le definition de table de Db
    Db.TableDerfs.Append Tb, permet donc d'ajouter à la collection des definitions des tables, la definition d'une table Tb.

    Size est un parametre fourni optionellement à la methode createfield
    Elle ne sert que pour la definiton d'un champ de type texte. Les autres champs ayant une longeur fixe.

    F est defini comme etant un champ d'une table. On definit ses propriétes : f.Name = / f.type = / f.size =, puis on l'ajoute à la table (tb.Fields.Append f).
    Ensuite on tombe sur "tb.Fields(name).AllowZeroLength = "
    tb.Fields(name) permet d'acceder au champs de la table Tb, dont le nom est name, on s'en sert pour definir d'autres propriétés du champs.


    Ndx est definit comme un index. on definit ses propriétés, puis on lui ajoutes des champs créés par l'appelle de la routine de création de champs(createfield). Une fois les champs crés, on defiit si l'index est primare et s'il est unique. Ceci fait, l'index est ajouté à la collection des index de la table "tb.Indexes.Append ndx"
    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

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Je te conseille de lire ce tuto sur DAO http://warin.developpez.com/access/dao/

    Tu y trouveras tous les éléments de ton code et bien plus encore.

    Starec

Discussions similaires

  1. [CS5.5] Dreamweaver CS5.5 Création d’une base de données
    Par magterrer dans le forum Dreamweaver
    Réponses: 0
    Dernier message: 20/05/2013, 20h15
  2. Conseils pour la création d’une base de donnée
    Par Isabelle27 dans le forum Access
    Réponses: 2
    Dernier message: 09/10/2006, 08h55
  3. programme Delphi permettant la création de base de donnée
    Par lassad dans le forum Bases de données
    Réponses: 2
    Dernier message: 18/10/2005, 14h06
  4. Réponses: 1
    Dernier message: 17/06/2004, 17h44
  5. Réponses: 3
    Dernier message: 24/10/2003, 21h46

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