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

Modification valeur par défaut champ table en vba

2 réponses
Avatar
magali.hantz2327
Bonjour,

j'ai un programme de gestion commerciale sur base access et pour faciliter=
mes mises =E0 jour j'aimerais ajouter des champs =E0 partir d'une base mod=
=E8le et notamment initialiser les valeurs par d=E9faut.
j'ai trouv=E9 la syntaxe :
CurrentProject.Connection.Execute "Alter Table " & Table.Name & " Alter Col=
umn " & Champ.Name & " Set Default 0"

qui fonctionne bien tant que je suis dans la base.
par contre je n'arrive pas =E0 la faire fonctionner depuis une autre base.

j'utilise =E7a pour me connecter :
Dim wk As Workspace
Dim Base As Database
Dim Table As TableDef
Dim Champ As DAO.Field
=20
Set wk =3D Workspaces(0)
=20
Set Base =3D wk.OpenDatabase("C:\BASEDEDONNEE.mdb", True, False)

la connexion et les tests que je fait sur le type fonctionne mais pas la mo=
dification de la valeur.

Pourriez vous m'aider car apr=E8s pas mal de recherche, je commence =E0 me =
demander si c'est r=E9alisable.

Merci d'avance =E0 tous ceux qui voudront bien me r=E9pondre.

Mag

2 réponses

Avatar
db
Le 30/10/2014 11:39, a écrit :
Bonjour,

j'ai un programme de gestion commerciale sur base access et pour faciliter mes mises à jour j'aimerais ajouter des champs à partir d'une base modèle et notamment initialiser les valeurs par défaut.
j'ai trouvé la syntaxe :
CurrentProject.Connection.Execute "Alter Table " & Table.Name & " Alter Column " & Champ.Name & " Set Default 0"

qui fonctionne bien tant que je suis dans la base.
par contre je n'arrive pas à la faire fonctionner depuis une autre base.

j'utilise ça pour me connecter :
Dim wk As Workspace
Dim Base As Database
Dim Table As TableDef
Dim Champ As DAO.Field

Set wk = Workspaces(0)

Set Base = wk.OpenDatabase("C:BASEDEDONNEE.mdb", True, False)




Essayer :

Base.TableDefs(Table.Name).Fields(Champ.Name).Properties("DefaultValue")
= "0"

db
Avatar
magali.hantz2327
Le jeudi 30 octobre 2014 12:51:40 UTC+1, db a écrit :
Le 30/10/2014 11:39, mag a écrit :
> Bonjour,
>
> j'ai un programme de gestion commerciale sur base access et pour facil iter mes mises à jour j'aimerais ajouter des champs à partir d'une base modèle et notamment initialiser les valeurs par défaut.
> j'ai trouvé la syntaxe :
> CurrentProject.Connection.Execute "Alter Table " & Table.Name & " Alter Column " & Champ.Name & " Set Default 0"
>
> qui fonctionne bien tant que je suis dans la base.
> par contre je n'arrive pas à la faire fonctionner depuis une autre ba se.
>
> j'utilise ça pour me connecter :
> Dim wk As Workspace
> Dim Base As Database
> Dim Table As TableDef
> Dim Champ As DAO.Field
>
> Set wk = Workspaces(0)
>
> Set Base = wk.OpenDatabase("C:BASEDEDONNEE.mdb", True, False)
>

Essayer :

Base.TableDefs(Table.Name).Fields(Champ.Name).Properties("DefaultValue")
= "0"

db



Merci effectivement cela fonctionne beaucoup mieux!