OVH Cloud OVH Cloud

Création d'un champ

2 réponses
Avatar
Roudoudou
Bonjour

Je souhaite créer en VB6 un champ dans une table Microsoft Access 2000
Le champ est de type Entier Double

Mon problème est que je souhaite gérer 2 décimales pour ce champ et
lorsque je crée mon champ
il me mets les décimales en "Auto"...

Voici mon bout de code :

' ---- Création Table Constituants ----

Set t = Db.CreateTableDef("Constituants1")

'Id : NuméroAuto + PrimaryKey
Set f = t.CreateField("Id", DAO.DataTypeEnum.dbLong)
f.Attributes = DAO.dbAutoIncrField
t.Fields.Append f

Set ix = t.CreateIndex("PrimaryKey")
With ix
.Fields.Append .CreateField("Id")
.Primary = True
End With
t.Indexes.Append ix

'Flux : Numérique + Décimal Auto
Set f = t.CreateField("Flux", DAO.DataTypeEnum.dbLong)
f.DefaultValue = 0
t.Fields.Append f

'Composant : Numérique + Décimal Auto
Set f = t.CreateField("Composant", DAO.DataTypeEnum.dbLong)
f.DefaultValue = 0
t.Fields.Append f

'Pourcentage : Réel double + 2 Décimals
Set f = t.CreateField("Pourcentage",
DAO.DataTypeEnum.dbDouble)
f.DefaultValue = 0
t.Fields.Append f

Db.TableDefs.Append t

Db.TableDefs.Refresh

?? Comment lui indiquer que le champ "Pourcentage" doit avoir seulement
2 décimales ??

Merci d'avance

2 réponses

Avatar
Clive Lumb
"Roudoudou" a écrit dans le message de
news:
Bonjour

Je souhaite créer en VB6 un champ dans une table Microsoft Access 2000
Le champ est de type Entier Double

Mon problème est que je souhaite gérer 2 décimales pour ce champ et
lorsque je crée mon champ
il me mets les décimales en "Auto"...




Je crois qu'une petite révision sur les types de variables s'impose.

Integer=Entier sur 16 bits
Long=Entier sur 32 bits
Single=Réél à virgule flottante sur 32 bits (Single précision)
Double=Réél à virgule flottante sur 64 bits (Double précision)

On ne peut pas avoir un "Entier Double" .

Quant au nombre de décimales (comme on peut le définir dans Access) il
s'agit simplement d'un format d'affichage, pas de stockage.
Pour afficher les valaurs dans votre application, utiliser la fonction
Format.

Bon courage

Clive
Avatar
Roudoudou
Après mure réflexion, "Clive Lumb" a écrit :
"Roudoudou" a écrit dans le message de
news:
Bonjour

Je souhaite créer en VB6 un champ dans une table Microsoft Access 2000
Le champ est de type Entier Double

Mon problème est que je souhaite gérer 2 décimales pour ce champ et
lorsque je crée mon champ
il me mets les décimales en "Auto"...




Je crois qu'une petite révision sur les types de variables s'impose.

Integer=Entier sur 16 bits
Long=Entier sur 32 bits
Single=Réél à virgule flottante sur 32 bits (Single précision)
Double=Réél à virgule flottante sur 64 bits (Double précision)

On ne peut pas avoir un "Entier Double" .

Quant au nombre de décimales (comme on peut le définir dans Access) il
s'agit simplement d'un format d'affichage, pas de stockage.
Pour afficher les valaurs dans votre application, utiliser la fonction
Format.

Bon courage

Clive



Bonjour

Au temps pour moi, je suis étourdi et rouge de honte... je voulais bien
sûr dire "Numérique" double...
Pour le nombre de décimales, il est clair que j'utiliserais Format dans
mon application VB6... mais en parallèle des formulaires et des états
Access vont être écrits avec cette table comme support... c'est
pourquoi il est important pour moi de spécifier la valeur 2 décimales
pour ce champ et non pas "Auto" comme cela est créé par défaut...

En tout cas merci de votre réponse


--
Enjoy !