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

propriété d'un champ d'une table

6 réponses
Avatar
michel_bdx
bonjour

j'ai réussi a créer un champ dans une table mais j'aimerai mettre les
propriétes suivantes par le code:
null interdit =oui
chainevide autorisee =non
indexé =oui-sans doublons

dans un deuxieme temps comment detruire un champ de table indexé avec la
methode alter table

dans un troisieme temps comment renomme un champ

dans un quatrième temps comment lister tous les proprités des champs d'une
table

dans un cinquième sur quel site trouvé plus d'info au sujet des tables
d'access

merci

michel

6 réponses

Avatar
Michel__D
Bonjour,

Voici sous forme de requête (mode SQL) une partie des réponses :

"michel_bdx" a écrit dans le message de
news:
bonjour

j'ai réussi a créer un champ dans une table mais j'aimerai mettre les
propriétes suivantes par le code:
null interdit =oui
chainevide autorisee =non
indexé =oui-sans doublons



ALTER TABLE LaTable
ALTER COLUMN LeChamp CHAR(255) NOT NULL
CONSTRAINT LeChampIndex_LaTable UNIQUE;


dans un deuxieme temps comment detruire un champ de table indexé avec la
methode alter table



Apparemment il faut supprimer l'index d'abord.

DROP INDEX LeChampIndex_LaTable ON LaTable;
puis
ALTER TABLE LaTable DROP COLUMN LeChamp;


dans un troisieme temps comment renomme un champ

dans un quatrième temps comment lister tous les proprités des champs d'une
table

dans un cinquième sur quel site trouvé plus d'info au sujet des tables
d'access

merci

michel


Avatar
michel_bdx
bonjour

merci pour votre aide cela marche ce que vous m'avez suggéré
et pour chainevide autorisee =non vous ne savez pas par hasard

et la suite dès fois

merci
michel

"Michel__D" a écrit :

Bonjour,

Voici sous forme de requête (mode SQL) une partie des réponses :

"michel_bdx" a écrit dans le message de
news:
> bonjour
>
> j'ai réussi a créer un champ dans une table mais j'aimerai mettre les
> propriétes suivantes par le code:
> null interdit =oui
> chainevide autorisee =non
> indexé =oui-sans doublons

ALTER TABLE LaTable
ALTER COLUMN LeChamp CHAR(255) NOT NULL
CONSTRAINT LeChampIndex_LaTable UNIQUE;


> dans un deuxieme temps comment detruire un champ de table indexé avec la
> methode alter table

Apparemment il faut supprimer l'index d'abord.

DROP INDEX LeChampIndex_LaTable ON LaTable;
puis
ALTER TABLE LaTable DROP COLUMN LeChamp;


> dans un troisieme temps comment renomme un champ
>
> dans un quatrième temps comment lister tous les proprités des champs d'une
> table
>
> dans un cinquième sur quel site trouvé plus d'info au sujet des tables
> d'access
>
> merci
>
> michel




Avatar
Michel__D
Bonjour,

Apparemment, par défaut lors de la création (en tout cas chez moi)
le champ texte est positionné avec chainevide autorisee =non

Pour le reste, je pense qu'il faudrait agir par code, d'ailleurs pour les
propriétés il me semble que tu as déjà la réponse sur un autre fil.

PS:Pour le renommage (chose qui n'est pas terrible dans une bdd)
tu pourrais créer ton nouveau champ, puis l'alimenter avec les
données de ton ancien champ.


"michel_bdx" a écrit dans le message de
news:
bonjour

merci pour votre aide cela marche ce que vous m'avez suggéré
et pour chainevide autorisee =non vous ne savez pas par hasard

et la suite dès fois

merci
michel

"Michel__D" a écrit :

> Bonjour,
>
> Voici sous forme de requête (mode SQL) une partie des réponses :
>
> "michel_bdx" a écrit dans le message de
> news:
> > bonjour
> >
> > j'ai réussi a créer un champ dans une table mais j'aimerai mettre les
> > propriétes suivantes par le code:
> > null interdit =oui
> > chainevide autorisee =non
> > indexé =oui-sans doublons
>
> ALTER TABLE LaTable
> ALTER COLUMN LeChamp CHAR(255) NOT NULL
> CONSTRAINT LeChampIndex_LaTable UNIQUE;
>
>
> > dans un deuxieme temps comment detruire un champ de table indexé avec la
> > methode alter table
>
> Apparemment il faut supprimer l'index d'abord.
>
> DROP INDEX LeChampIndex_LaTable ON LaTable;
> puis
> ALTER TABLE LaTable DROP COLUMN LeChamp;
>
>
> > dans un troisieme temps comment renomme un champ
> >
> > dans un quatrième temps comment lister tous les proprités des champs d'une
> > table
> >
> > dans un cinquième sur quel site trouvé plus d'info au sujet des tables
> > d'access
> >
> > merci
> >
> > michel
>
>


Avatar
Gilbert
Bonjour,

Tu peux modifier par code pour Null interdit ou pas et pour Chaine vide
autorisée ou pas de la manière suivante :
Dim db As DAO.Database
Set db = CurrentDb
db.TableDefs("TaTable").Fields("TonChamp").Required = True 'Null
interdit
db.TableDefs("TaTable").Fields("TonChamp").AllowZeroLength = False
'Chaine vide interdite

Par contre tu ne pourras pas modifier le type d'index si celui-ci existe
déjà. Mais tu peux ajouter un index.
Comme te l'a dit Michel, il serait peut-être plus simple de créer un champ
et de transférer les données dedans.

Voici un exemple de création de champ et d'index en VBA
Dim tbl As DAO.TableDef
Dim fld As DAO.Field
Dim idx As DAO.Index
Dim db As DAO.Database

Set db = CurrentDb
Set tbl = db.TableDefs("TaTable")
Set fld = tbl.CreateField("LeNomDuChamp", dbText) 'création du champ
fld.AllowZeroLength = True 'chaine
vide autorisée
fld.Size = 100
'taille 100 caractères
fld.Required = True
'valeur nulle interdite
tbl.Fields.Append fld
'ajout du champ à la collection

Set idx = tbl.CreateIndex("LeNomDeLIndex") 'création d'un index
idx.Required = False 'l'index peut être Null
ou pas
idx.Unique = True ' sans doublons
Set fld = idx.CreateField("LeNomDuChamp") 'définition du champ qui
sert d'index
idx.Fields.Append fld 'ajout du champ dans
l'index
Set fld = idx.CreateField("aa") 'définition d'un autre
champ pour l'index
idx.Fields.Append fld 'ajout du 2° champ dans
l'index
tbl.Indexes.Append idx 'ajout de l'index dans
la table


--
Cordialement,

Gilbert


"Michel__D" a écrit dans le message de
news:gjvtsg$bp4$
Bonjour,

Apparemment, par défaut lors de la création (en tout cas chez moi)
le champ texte est positionné avec chainevide autorisee =non

Pour le reste, je pense qu'il faudrait agir par code, d'ailleurs pour les
propriétés il me semble que tu as déjà la réponse sur un autre fil.

PS:Pour le renommage (chose qui n'est pas terrible dans une bdd)
tu pourrais créer ton nouveau champ, puis l'alimenter avec les
données de ton ancien champ.


"michel_bdx" a écrit dans le message


de
news:
> bonjour
>
> merci pour votre aide cela marche ce que vous m'avez suggéré
> et pour chainevide autorisee =non vous ne savez pas par hasard
>
> et la suite dès fois
>
> merci
> michel
>
> "Michel__D" a écrit :
>
> > Bonjour,
> >
> > Voici sous forme de requête (mode SQL) une partie des réponses :
> >
> > "michel_bdx" a écrit dans le


message de
> > news:
> > > bonjour
> > >
> > > j'ai réussi a créer un champ dans une table mais j'aimerai mettre


les
> > > propriétes suivantes par le code:
> > > null interdit =oui
> > > chainevide autorisee =non
> > > indexé =oui-sans doublons
> >
> > ALTER TABLE LaTable
> > ALTER COLUMN LeChamp CHAR(255) NOT NULL
> > CONSTRAINT LeChampIndex_LaTable UNIQUE;
> >
> >
> > > dans un deuxieme temps comment detruire un champ de table indexé


avec la
> > > methode alter table
> >
> > Apparemment il faut supprimer l'index d'abord.
> >
> > DROP INDEX LeChampIndex_LaTable ON LaTable;
> > puis
> > ALTER TABLE LaTable DROP COLUMN LeChamp;
> >
> >
> > > dans un troisieme temps comment renomme un champ
> > >
> > > dans un quatrième temps comment lister tous les proprités des champs


d'une
> > > table
> > >
> > > dans un cinquième sur quel site trouvé plus d'info au sujet des


tables
> > > d'access
> > >
> > > merci
> > >
> > > michel
> >
> >



Avatar
michel_bdx
bonjour

merci pour votre aide encore
vous me dites dans votre réponse que :
d'ailleurs pour les propriétés il me semble que tu as déjà la réponse sur
un autre fil.

c'est a dire expliquez moi car je n'ai pas compris ou cela se trouve

merci
michel

"Michel__D" a écrit :

Bonjour,

Apparemment, par défaut lors de la création (en tout cas chez moi)
le champ texte est positionné avec chainevide autorisee =non

Pour le reste, je pense qu'il faudrait agir par code, d'ailleurs pour les
propriétés il me semble que tu as déjà la réponse sur un autre fil.

PS:Pour le renommage (chose qui n'est pas terrible dans une bdd)
tu pourrais créer ton nouveau champ, puis l'alimenter avec les
données de ton ancien champ.


"michel_bdx" a écrit dans le message de
news:
> bonjour
>
> merci pour votre aide cela marche ce que vous m'avez suggéré
> et pour chainevide autorisee =non vous ne savez pas par hasard
>
> et la suite dès fois
>
> merci
> michel
>
> "Michel__D" a écrit :
>
> > Bonjour,
> >
> > Voici sous forme de requête (mode SQL) une partie des réponses :
> >
> > "michel_bdx" a écrit dans le message de
> > news:
> > > bonjour
> > >
> > > j'ai réussi a créer un champ dans une table mais j'aimerai mettre les
> > > propriétes suivantes par le code:
> > > null interdit =oui
> > > chainevide autorisee =non
> > > indexé =oui-sans doublons
> >
> > ALTER TABLE LaTable
> > ALTER COLUMN LeChamp CHAR(255) NOT NULL
> > CONSTRAINT LeChampIndex_LaTable UNIQUE;
> >
> >
> > > dans un deuxieme temps comment detruire un champ de table indexé avec la
> > > methode alter table
> >
> > Apparemment il faut supprimer l'index d'abord.
> >
> > DROP INDEX LeChampIndex_LaTable ON LaTable;
> > puis
> > ALTER TABLE LaTable DROP COLUMN LeChamp;
> >
> >
> > > dans un troisieme temps comment renomme un champ
> > >
> > > dans un quatrième temps comment lister tous les proprités des champs d'une
> > > table
> > >
> > > dans un cinquième sur quel site trouvé plus d'info au sujet des tables
> > > d'access
> > >
> > > merci
> > >
> > > michel
> >
> >




Avatar
Michel__D
Bonjour,

Parcours le fil "Question à programmeur pointu" situé plus bas.


michel_bdx a écrit :
bonjour

merci pour votre aide encore
vous me dites dans votre réponse que :
d'ailleurs pour les propriétés il me semble que tu as déjà la réponse sur
un autre fil.

c'est a dire expliquez moi car je n'ai pas compris ou cela se trouve

merci
michel

"Michel__D" a écrit :

Bonjour,

Apparemment, par défaut lors de la création (en tout cas chez moi)
le champ texte est positionné avec chainevide autorisee =non

Pour le reste, je pense qu'il faudrait agir par code, d'ailleurs pour les
propriétés il me semble que tu as déjà la réponse sur un autre fil.

PS:Pour le renommage (chose qui n'est pas terrible dans une bdd)
tu pourrais créer ton nouveau champ, puis l'alimenter avec les
données de ton ancien champ.


"michel_bdx" a écrit dans le message de
news:
bonjour

merci pour votre aide cela marche ce que vous m'avez suggéré
et pour chainevide autorisee =non vous ne savez pas par hasard

et la suite dès fois

merci
michel

"Michel__D" a écrit :

Bonjour,

Voici sous forme de requête (mode SQL) une partie des réponses :

"michel_bdx" a écrit dans le message de
news:
bonjour

j'ai réussi a créer un champ dans une table mais j'aimerai mettre les
propriétes suivantes par le code:
null interdit =oui
chainevide autorisee =non
indexé =oui-sans doublons


ALTER TABLE LaTable
ALTER COLUMN LeChamp CHAR(255) NOT NULL
CONSTRAINT LeChampIndex_LaTable UNIQUE;


dans un deuxieme temps comment detruire un champ de table indexé avec la
methode alter table


Apparemment il faut supprimer l'index d'abord.

DROP INDEX LeChampIndex_LaTable ON LaTable;
puis
ALTER TABLE LaTable DROP COLUMN LeChamp;


dans un troisieme temps comment renomme un champ

dans un quatrième temps comment lister tous les proprités des champs d'une
table

dans un cinquième sur quel site trouvé plus d'info au sujet des tables
d'access

merci

michel