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

Access97 (recopier une table, modifier un type d'attribut) ?

9 réponses
Avatar
Marc Antoine Chatelain
Bonjour,

J'ai une table ACCESS liée avec ODBC.
ce lien m'empeche de réaliser certaines modifications sur les types de
champs. Etant donné que je dois réaliser ces modification, je dois donc
dupliquer la table et réaliser ces modifications sur la table dupliquée.

J'ai donc plusieurs questions :

-Comment fait on pour dupliquer une table ? (création d'une table avec un
nom différent)
-Comment fait on pour définir le type d'un attribut d'une table ?
-Comment fait on pour modifier le type d'un attribut d'une table déja créée?
-Est il possible de réaliser des traitements sur la base de données avant
l'affichage de tout formualire (par la macro autoexec ?) de quelle manière ?
-Est il possible de réaliser des traitements sur les enregistrements d'une
table, et celà, ligne par ligne ?

Merci

9 réponses

Avatar
gafish
Bonjour,

Effectivement tu ne peux pas modifier les types de champs d'une table liée,
en revanche tu peux le faire directement sur la bae source d'où provient ta
table (pour savoir de quel base il s'agit tu peux aller dans
outils...compléments...gestionnaire de tables attachée), c'est surement
mieux qu'une duplication.
Si tu veux vraiment dupliquer, tu fais simplement un copier-coller de ta
table, tu pourras alors dupliquer la structure seulement ou la structure et
les données.
Pour faire des traitements par autoexec oui c'est possible, il suffit
justement d'appeler ces traitements dans la macro autoexec.
Et faire du traitements ligne par ligne sur les enregistrements d'une table
c'est possible aussi, dis nous simplement qu'est ce que tu veux faire
exactement à ce niveau là.

Arnaud

"Marc Antoine Chatelain" a écrit dans le
message news: 4105fd0a$0$2236$
Bonjour,

J'ai une table ACCESS liée avec ODBC.
ce lien m'empeche de réaliser certaines modifications sur les types de
champs. Etant donné que je dois réaliser ces modification, je dois donc
dupliquer la table et réaliser ces modifications sur la table dupliquée.

J'ai donc plusieurs questions :

-Comment fait on pour dupliquer une table ? (création d'une table avec un
nom différent)
-Comment fait on pour définir le type d'un attribut d'une table ?
-Comment fait on pour modifier le type d'un attribut d'une table déja
créée?

-Est il possible de réaliser des traitements sur la base de données avant
l'affichage de tout formualire (par la macro autoexec ?) de quelle manière
?

-Est il possible de réaliser des traitements sur les enregistrements d'une
table, et celà, ligne par ligne ?

Merci




Avatar
kip
Bonjour,

Effectivement tu ne peux pas modifier les types de champs d'une table
liée,

en revanche tu peux le faire directement sur la bae source d'où provient
ta

table (pour savoir de quel base il s'agit tu peux aller dans
outils...compléments...gestionnaire de tables attachée), c'est surement
mieux qu'une duplication.



Je viens d'aller voir ce gestionnaire, il m'affiche la liste des tablkes
liées, mais c'est tout, on ne peut rien éditer, enfin, il ne me semble pas.

Si tu veux vraiment dupliquer, tu fais simplement un copier-coller de ta
table, tu pourras alors dupliquer la structure seulement ou la structure
et

les données.


Disons que je voudrais faire celà de manière automatique. (par macro ou en
VBA) mais je sais aps comment faire

Pour faire des traitements par autoexec oui c'est possible, il suffit
justement d'appeler ces traitements dans la macro autoexec.
Et faire du traitements ligne par ligne sur les enregistrements d'une
table

c'est possible aussi, dis nous simplement qu'est ce que tu veux faire
exactement à ce niveau là.

Arnaud


Ce que je veux faire, c'est : dupliquer la table à l'ouverture de la base.
Et changer les types des attributs de la table dupliquée.

En tout cas, merci de ta réponse.

Avatar
gafish
Je viens d'aller voir ce gestionnaire, il m'affiche la liste des tablkes
liées, mais c'est tout, on ne peut rien éditer, enfin, il ne me semble
pas.




Oui, tout à fait, il t'affiche la liste des tables liées, ainsi que la base
dans laquelle se trouve la table. Ca te permet comme ca de savoir quelle
base ouvrir pour changer le type de données à la source


Si tu veux vraiment dupliquer, tu fais simplement un copier-coller de ta
table, tu pourras alors dupliquer la structure seulement ou la structure
et

les données.


Disons que je voudrais faire celà de manière automatique. (par macro ou en
VBA) mais je sais aps comment faire



Regarde du côté de la fonction CopyObject en VBA dans l'aide en ligne


Ce que je veux faire, c'est : dupliquer la table à l'ouverture de la base.
Et changer les types des attributs de la table dupliquée.



Pour changer le type de données en vba, tu as une page consacrée au sujet
ici :
http://access.seneque.free.fr/changer_type_champ.htm


Avatar
kip
Si tu veux vraiment dupliquer, tu fais simplement un copier-coller de ta
table, tu pourras alors dupliquer la structure seulement ou la structure
et

les données.


Le copier/coller a pour effet de créer une nouvelle table liée pointant sur
la meme table SQL.
Ce n'est pas celà que je veux faire car la nouvelle table n'est pas
modifiable non plus.

Je veux dupliquer la table dans la base access, c'est à dire importer les
données de la table liée, vers une table en dur dans ACCESS.
Pour pouvoir ainsi modifier les type de champs. avec la procédure quye tu
m'a fournie.
Mais y a t'il moyen avec cette procédure, de changer un type de données
texte en un type de donnée : lien hypertexte ?

merci.

Avatar
gafish
Le copier/coller a pour effet de créer une nouvelle table liée pointant
sur

la meme table SQL.
Ce n'est pas celà que je veux faire car la nouvelle table n'est pas
modifiable non plus.

Oui, autant pour moi. En ce cas il faut faire un import, si tu veux le faire

en vba, regarde du côté de TransferDatabase dans l'aide en ligne


Je veux dupliquer la table dans la base access, c'est à dire importer les
données de la table liée, vers une table en dur dans ACCESS.
Pour pouvoir ainsi modifier les type de champs. avec la procédure quye tu
m'a fournie.
Mais y a t'il moyen avec cette procédure, de changer un type de données
texte en un type de donnée : lien hypertexte ?



Dans la page que je t'ai fourni, il y a un exemple pour faire passe le champ
en texte, avec comme paramètre dbText.
Dans ton cas, si tu veux du lien hypertexte, il faut appeler cette procédure
avec de mémoire dbHyperlinkField
comme paramètre.

Avatar
kip
Oui, autant pour moi. En ce cas il faut faire un import, si tu veux le
faire

en vba, regarde du côté de TransferDatabase dans l'aide en ligne


J'ai regardé dans l'aide d'ACCESS mais il n'y a rien qui correspond à celà.
L'aide en ligne c'est quoi exactement ? et où se trouve t'elle ?

Avatar
kip
Dans ton cas, si tu veux du lien hypertexte, il faut appeler cette
procédure

avec de mémoire dbHyperlinkField
comme paramètre.



Bonne mémoire :D

Avatar
kip
Oui, autant pour moi. En ce cas il faut faire un import, si tu veux le
faire

en vba, regarde du côté de TransferDatabase dans l'aide en ligne


J'ai regardé dans l'aide d'ACCESS mais il n'y a rien qui correspond à
celà.

L'aide en ligne c'est quoi exactement ? et où se trouve t'elle ?



Ok, j'ai trouvé ! Merci bien !!!!!!!!


Avatar
gafish
Soit tu interroges l'assistant (mais chez moi il ne me sort que
TransfererBase, soit la version en francais pour les macros -au passage tu
peux le faire par macro en lieu et place de vba si tu préferes-, mais dans
"voir aussi" j'ai la méthode TransferDatabase), soit tu vas dans "?"
...sommaire et index...onglet rechercher et tu tapes transferdatabase (les
premieres lettres suffisent).

"kip" a écrit dans le message news:
41062834$0$333$

Oui, autant pour moi. En ce cas il faut faire un import, si tu veux le
faire

en vba, regarde du côté de TransferDatabase dans l'aide en ligne


J'ai regardé dans l'aide d'ACCESS mais il n'y a rien qui correspond à
celà.

L'aide en ligne c'est quoi exactement ? et où se trouve t'elle ?