Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Création d'une base de donnée par programmation.

6 réponses
Avatar
Fabrice51
Bonjour,
Je construit une base de donnée sans problème par le code, mais n'arive pas
a créer une cle autonuméroté sur le premier champ.
Voici le code pour la base: (avec la DLL "ADOX.DLL")

Dim Cat As ADOX.Catalog
Dim Tbl As ADOX.Table
Me.Label1.Text = "Création de la base"
Cat = New ADOX.Catalog
Cat.Create("provider = microsoft.jet.oledb.4.0 ; data source = " &
FicBase & ";")
Me.ProgressBar1.Value = 10
Me.Label1.Text = "Création de la table Arbre"
Tbl = New ADOX.Table
Tbl.Name = "MaTable"
Tbl.Columns.Append("Id", DataTypeEnum.adInteger, 0)
Tbl.Columns.Append("Niveau", DataTypeEnum.adUnsignedTinyInt, 0)
Tbl.Columns.Append("Libélé", DataTypeEnum.adWChar, 50)
Cat.Tables.Append(Tbl)

Qui peut m'aider pour la construction de la clé autonuméroté que je n'arrive
pas a faire.

6 réponses

Avatar
Patrice
Par exemple :
http://faq.vb.free.fr/index.php?question• (apparemment c'est la propriété
AutoIncrement à mettre à vrai via la collection Properties).

Une autre solution serait d'utiliser SQL.

--
Patrice

"Fabrice51" a écrit dans le message de
news:
Bonjour,
Je construit une base de donnée sans problème par le code, mais n'arive


pas
a créer une cle autonuméroté sur le premier champ.
Voici le code pour la base: (avec la DLL "ADOX.DLL")

Dim Cat As ADOX.Catalog
Dim Tbl As ADOX.Table
Me.Label1.Text = "Création de la base"
Cat = New ADOX.Catalog
Cat.Create("provider = microsoft.jet.oledb.4.0 ; data source = " &
FicBase & ";")
Me.ProgressBar1.Value = 10
Me.Label1.Text = "Création de la table Arbre"
Tbl = New ADOX.Table
Tbl.Name = "MaTable"
Tbl.Columns.Append("Id", DataTypeEnum.adInteger, 0)
Tbl.Columns.Append("Niveau", DataTypeEnum.adUnsignedTinyInt, 0)
Tbl.Columns.Append("Libélé", DataTypeEnum.adWChar, 50)
Cat.Tables.Append(Tbl)

Qui peut m'aider pour la construction de la clé autonuméroté que je


n'arrive
pas a faire.


Avatar
Fabrice51
Merci pour cette aide, mais malheureusement l'example ne fonctionne pas avec
visual Basic express 2005.

"Patrice" a écrit :

Par exemple :
http://faq.vb.free.fr/index.php?question• (apparemment c'est la propriété
AutoIncrement à mettre à vrai via la collection Properties).

Une autre solution serait d'utiliser SQL.

--
Patrice

"Fabrice51" a écrit dans le message de
news:
> Bonjour,
> Je construit une base de donnée sans problème par le code, mais n'arive
pas
> a créer une cle autonuméroté sur le premier champ.
> Voici le code pour la base: (avec la DLL "ADOX.DLL")
>
> Dim Cat As ADOX.Catalog
> Dim Tbl As ADOX.Table
> Me.Label1.Text = "Création de la base"
> Cat = New ADOX.Catalog
> Cat.Create("provider = microsoft.jet.oledb.4.0 ; data source = " &
> FicBase & ";")
> Me.ProgressBar1.Value = 10
> Me.Label1.Text = "Création de la table Arbre"
> Tbl = New ADOX.Table
> Tbl.Name = "MaTable"
> Tbl.Columns.Append("Id", DataTypeEnum.adInteger, 0)
> Tbl.Columns.Append("Niveau", DataTypeEnum.adUnsignedTinyInt, 0)
> Tbl.Columns.Append("Libélé", DataTypeEnum.adWChar, 50)
> Cat.Tables.Append(Tbl)
>
> Qui peut m'aider pour la construction de la clé autonuméroté que je
n'arrive
> pas a faire.





Avatar
Patrice
Et l'erreur étant ?

--
Patrice

"Fabrice51" a écrit dans le message de
news:
Merci pour cette aide, mais malheureusement l'example ne fonctionne pas


avec
visual Basic express 2005.

"Patrice" a écrit :

> Par exemple :
> http://faq.vb.free.fr/index.php?question• (apparemment c'est la


propriété
> AutoIncrement à mettre à vrai via la collection Properties).
>
> Une autre solution serait d'utiliser SQL.
>
> --
> Patrice
>
> "Fabrice51" a écrit dans le


message de
> news:
> > Bonjour,
> > Je construit une base de donnée sans problème par le code, mais


n'arive
> pas
> > a créer une cle autonuméroté sur le premier champ.
> > Voici le code pour la base: (avec la DLL "ADOX.DLL")
> >
> > Dim Cat As ADOX.Catalog
> > Dim Tbl As ADOX.Table
> > Me.Label1.Text = "Création de la base"
> > Cat = New ADOX.Catalog
> > Cat.Create("provider = microsoft.jet.oledb.4.0 ; data source " &
> > FicBase & ";")
> > Me.ProgressBar1.Value = 10
> > Me.Label1.Text = "Création de la table Arbre"
> > Tbl = New ADOX.Table
> > Tbl.Name = "MaTable"
> > Tbl.Columns.Append("Id", DataTypeEnum.adInteger, 0)
> > Tbl.Columns.Append("Niveau", DataTypeEnum.adUnsignedTinyInt,


0)
> > Tbl.Columns.Append("Libélé", DataTypeEnum.adWChar, 50)
> > Cat.Tables.Append(Tbl)
> >
> > Qui peut m'aider pour la construction de la clé autonuméroté que je
> n'arrive
> > pas a faire.
>
>
>


Avatar
Fabrice51
Dans la partie:
' Création et ajout d'un champ de type "AutoNumber"
col = New ADOX.Column
With col
.Name = "Champ1"
.Type = DataTypeEnum.adInteger
.ParentCatalog = cat
.Properties("Autoincrement") = True
End With

l'erreur est sur "Properties" de l'objet. l'erreur est je cite:
<< La propriété 'Item' est 'ReadOnly' >>.
ET je ne trouve pas d'aide sur ce point.

Merci pour ton aide.

"Patrice" a écrit :

Et l'erreur étant ?

--
Patrice

"Fabrice51" a écrit dans le message de
news:
> Merci pour cette aide, mais malheureusement l'example ne fonctionne pas
avec
> visual Basic express 2005.
>
> "Patrice" a écrit :
>
> > Par exemple :
> > http://faq.vb.free.fr/index.php?question• (apparemment c'est la
propriété
> > AutoIncrement à mettre à vrai via la collection Properties).
> >
> > Une autre solution serait d'utiliser SQL.
> >
> > --
> > Patrice
> >
> > "Fabrice51" a écrit dans le
message de
> > news:
> > > Bonjour,
> > > Je construit une base de donnée sans problème par le code, mais
n'arive
> > pas
> > > a créer une cle autonuméroté sur le premier champ.
> > > Voici le code pour la base: (avec la DLL "ADOX.DLL")
> > >
> > > Dim Cat As ADOX.Catalog
> > > Dim Tbl As ADOX.Table
> > > Me.Label1.Text = "Création de la base"
> > > Cat = New ADOX.Catalog
> > > Cat.Create("provider = microsoft.jet.oledb.4.0 ; data source > " &
> > > FicBase & ";")
> > > Me.ProgressBar1.Value = 10
> > > Me.Label1.Text = "Création de la table Arbre"
> > > Tbl = New ADOX.Table
> > > Tbl.Name = "MaTable"
> > > Tbl.Columns.Append("Id", DataTypeEnum.adInteger, 0)
> > > Tbl.Columns.Append("Niveau", DataTypeEnum.adUnsignedTinyInt,
0)
> > > Tbl.Columns.Append("Libélé", DataTypeEnum.adWChar, 50)
> > > Cat.Tables.Append(Tbl)
> > >
> > > Qui peut m'aider pour la construction de la clé autonuméroté que je
> > n'arrive
> > > pas a faire.
> >
> >
> >





Avatar
Patrice
J'ai référencé la bibliothèque et je vois que cela retourne un objet
Property dont il faut donc donc utiliser la propriété par défaut (qui
n'existe plus en .NET sauf pour les propriétés indexées) ce qui donnerait :

.Properties("AutoIncrement").Value=True

Est-ce que cela marche comme cela ?

--
Patrice

"Fabrice51" a écrit dans le message de
news:
Dans la partie:
' Création et ajout d'un champ de type "AutoNumber"
col = New ADOX.Column
With col
.Name = "Champ1"
.Type = DataTypeEnum.adInteger
.ParentCatalog = cat
.Properties("Autoincrement") = True
End With

l'erreur est sur "Properties" de l'objet. l'erreur est je cite:
<< La propriété 'Item' est 'ReadOnly' >>.
ET je ne trouve pas d'aide sur ce point.

Merci pour ton aide.

"Patrice" a écrit :

> Et l'erreur étant ?
>
> --
> Patrice
>
> "Fabrice51" a écrit dans le


message de
> news:
> > Merci pour cette aide, mais malheureusement l'example ne fonctionne


pas
> avec
> > visual Basic express 2005.
> >
> > "Patrice" a écrit :
> >
> > > Par exemple :
> > > http://faq.vb.free.fr/index.php?question• (apparemment c'est la
> propriété
> > > AutoIncrement à mettre à vrai via la collection Properties).
> > >
> > > Une autre solution serait d'utiliser SQL.
> > >
> > > --
> > > Patrice
> > >
> > > "Fabrice51" a écrit dans le
> message de
> > > news:
> > > > Bonjour,
> > > > Je construit une base de donnée sans problème par le code, mais
> n'arive
> > > pas
> > > > a créer une cle autonuméroté sur le premier champ.
> > > > Voici le code pour la base: (avec la DLL "ADOX.DLL")
> > > >
> > > > Dim Cat As ADOX.Catalog
> > > > Dim Tbl As ADOX.Table
> > > > Me.Label1.Text = "Création de la base"
> > > > Cat = New ADOX.Catalog
> > > > Cat.Create("provider = microsoft.jet.oledb.4.0 ; data


source > > " &
> > > > FicBase & ";")
> > > > Me.ProgressBar1.Value = 10
> > > > Me.Label1.Text = "Création de la table Arbre"
> > > > Tbl = New ADOX.Table
> > > > Tbl.Name = "MaTable"
> > > > Tbl.Columns.Append("Id", DataTypeEnum.adInteger, 0)
> > > > Tbl.Columns.Append("Niveau",


DataTypeEnum.adUnsignedTinyInt,
> 0)
> > > > Tbl.Columns.Append("Libélé", DataTypeEnum.adWChar, 50)
> > > > Cat.Tables.Append(Tbl)
> > > >
> > > > Qui peut m'aider pour la construction de la clé autonuméroté que


je
> > > n'arrive
> > > > pas a faire.
> > >
> > >
> > >
>
>
>


Avatar
Fabrice51
Merci pour ton aide, la propriété fonctionne.

Fabrice

"Patrice" a écrit :

J'ai référencé la bibliothèque et je vois que cela retourne un objet
Property dont il faut donc donc utiliser la propriété par défaut (qui
n'existe plus en .NET sauf pour les propriétés indexées) ce qui donnerait :

..Properties("AutoIncrement").Value=True

Est-ce que cela marche comme cela ?

--
Patrice

"Fabrice51" a écrit dans le message de
news:
> Dans la partie:
> ' Création et ajout d'un champ de type "AutoNumber"
> col = New ADOX.Column
> With col
> .Name = "Champ1"
> .Type = DataTypeEnum.adInteger
> .ParentCatalog = cat
> .Properties("Autoincrement") = True
> End With
>
> l'erreur est sur "Properties" de l'objet. l'erreur est je cite:
> << La propriété 'Item' est 'ReadOnly' >>.
> ET je ne trouve pas d'aide sur ce point.
>
> Merci pour ton aide.
>
> "Patrice" a écrit :
>
> > Et l'erreur étant ?
> >
> > --
> > Patrice
> >
> > "Fabrice51" a écrit dans le
message de
> > news:
> > > Merci pour cette aide, mais malheureusement l'example ne fonctionne
pas
> > avec
> > > visual Basic express 2005.
> > >
> > > "Patrice" a écrit :
> > >
> > > > Par exemple :
> > > > http://faq.vb.free.fr/index.php?question• (apparemment c'est la
> > propriété
> > > > AutoIncrement à mettre à vrai via la collection Properties).
> > > >
> > > > Une autre solution serait d'utiliser SQL.
> > > >
> > > > --
> > > > Patrice
> > > >
> > > > "Fabrice51" a écrit dans le
> > message de
> > > > news:
> > > > > Bonjour,
> > > > > Je construit une base de donnée sans problème par le code, mais
> > n'arive
> > > > pas
> > > > > a créer une cle autonuméroté sur le premier champ.
> > > > > Voici le code pour la base: (avec la DLL "ADOX.DLL")
> > > > >
> > > > > Dim Cat As ADOX.Catalog
> > > > > Dim Tbl As ADOX.Table
> > > > > Me.Label1.Text = "Création de la base"
> > > > > Cat = New ADOX.Catalog
> > > > > Cat.Create("provider = microsoft.jet.oledb.4.0 ; data
source > > > " &
> > > > > FicBase & ";")
> > > > > Me.ProgressBar1.Value = 10
> > > > > Me.Label1.Text = "Création de la table Arbre"
> > > > > Tbl = New ADOX.Table
> > > > > Tbl.Name = "MaTable"
> > > > > Tbl.Columns.Append("Id", DataTypeEnum.adInteger, 0)
> > > > > Tbl.Columns.Append("Niveau",
DataTypeEnum.adUnsignedTinyInt,
> > 0)
> > > > > Tbl.Columns.Append("Libélé", DataTypeEnum.adWChar, 50)
> > > > > Cat.Tables.Append(Tbl)
> > > > >
> > > > > Qui peut m'aider pour la construction de la clé autonuméroté que
je
> > > > n'arrive
> > > > > pas a faire.
> > > >
> > > >
> > > >
> >
> >
> >