OVH Cloud OVH Cloud

Valeur par défaut

2 réponses
Avatar
Patrice
Bonjour,

Je cherche à changer la valeur par défaut d'un champ dans une table qui se
trouve sur une autre base (access 97).

Est-ce que quelqu'un aurait la formule magique en VBA ?

Merci de votre aide.

Patrice

2 réponses

Avatar
Patrice
Merci beaucoup François, çà marche,

Encore une petite question :

Il a fallu que j'enlève :
tdfObj.Fields.Append fd 'mettre à jour la définition
pour que cela ne bogue pas. Pourquoi ?

Message d'erreur :
Erreur d'execution '3367'
Ajout impossible. Il existe déjà un objet de ce nom dans la collection.

Précision pour ceux qui veulent l'utiliser :

Set dbObj = OpenDatabase(stDb) 'le nom de la base externe
Set tdfObj = dbObj.TableDefs(stTab) 'le nom de la table

à remplacer par :
Set dbObj = OpenDatabase("stDb") 'le CHEMIN de la base externe ENTRE
GUILLEMETS
Set tdfObj = dbObj.TableDefs("stTab") 'le nom de la table ENTRE GUILLEMETS

Sous réserve de confirmation de François

Patrice

François Fuchs a écrit dans le message :

mer. 08 juin 2005 11:58:28 Patrice a écrit dans le message de news
<news:42a6c125$ :

Je cherche à changer la valeur par défaut d'un champ dans une table qui
se


trouve sur une autre base (access 97).

Est-ce que quelqu'un aurait la formule magique en VBA ?


database, tabledef et field

function mise_a_jour_valeur_par_defaut()
Dim dbObj As Database
Dim tdfObj As TableDef
Dim fd As Field

Set dbObj = OpenDatabase(stDb) 'le nom de la base externe
Set tdfObj = dbObj.TableDefs(stTab) 'le nom de la table
set fd = tdfObj.Fields("lechamp") 'le nom du champ
fd.defaultvalue = la_valeur 'la valeur par défaut
tdfObj.Fields.Append fd 'mettre à jour la définition


Prévoir éventuellement une requête qui met à jour les enrigstrements déjà
présents avant la manip.

--
Trempez une à une les galettes de riz dans l'eau froide pour les ramollir



Avatar
Patrice
Merci François.


François Fuchs a écrit dans le message :

mer. 08 juin 2005 14:54:32 Patrice a écrit dans le message de news
<news:42a6ea69$ :

Merci beaucoup François, çà marche,

Encore une petite question :

Il a fallu que j'enlève :
tdfObj.Fields.Append fd 'mettre à jour la définition


Euh oui, Append est à utiliser pour valider la création d'un nouvel objet.
Donc inutile ici.

Set dbObj = OpenDatabase(stDb) 'le nom de la base externe
Set tdfObj = dbObj.TableDefs(stTab) 'le nom de la table

à remplacer par :
Set dbObj = OpenDatabase("stDb") 'le CHEMIN de la base externe ENTRE
GUILLEMETS
Set tdfObj = dbObj.TableDefs("stTab") 'le nom de la table ENTRE
GUILLEMETS



oui, stDb et stTab sont des variables du type string, donc
stDb = "c:totomabase.mdb"



--
Trempez une à une les galettes de riz dans l'eau froide pour les ramollir