OVH Cloud OVH Cloud

creer une table attachée avec VB

6 réponses
Avatar
th
Bonjour à tous, si je sais créer une table avec différents champs sous VB5,
je ne sais pas comment faire pour attacher un table issue d'un autre
fichier access.
Le but du jeu est :
je fournis une base nouvelles aux utilisateurs, et cette nouvelle base doit
avoir un table attachée d'une autre base placée dans un répertoire
different suivant les poste utilisateurs.

J'ai essayé avec
base1.CreateTableDef("table1", , chemin & "base2.mdb", "table1")
mais sans succés. Il n'y a pas de message d'erreur et lorsque j'ouvre la
base1 sous acces il n'y a toujours pas la table1 attachée.

Cette manipe ne sera à faire qu'une fois par poste de travail.

merci pour votre aide

6 réponses

Avatar
Raymond [mvp]
Bonjour.

je n'ai pas tout compris. explique mieux tes bases. on ne sait jamais de
laquelle tu parles.
sur le serveur c'est la base principale, avec ses tables.
sur chaque poste c'est la base frontale avec ses objets et les tables
attachées.
où vient se greffer ta nouvelle table d'une autre base.
notes bien déjà qu'on ne peut pas attacher une table attachée dans access.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"th" <fm> a écrit dans le message de news:
Bonjour à tous, si je sais créer une table avec différents champs sous
VB5,
je ne sais pas comment faire pour attacher un table issue d'un autre
fichier access.
Le but du jeu est :
je fournis une base nouvelles aux utilisateurs, et cette nouvelle base
doit
avoir un table attachée d'une autre base placée dans un répertoire
different suivant les poste utilisateurs.

J'ai essayé avec
base1.CreateTableDef("table1", , chemin & "base2.mdb", "table1")
mais sans succés. Il n'y a pas de message d'erreur et lorsque j'ouvre la
base1 sous acces il n'y a toujours pas la table1 attachée.

Cette manipe ne sera à faire qu'une fois par poste de travail.

merci pour votre aide


Avatar
th
"Raymond [mvp]" écrivait
news::

Bonjour.

je n'ai pas tout compris. explique mieux tes bases. on ne sait jamais
de laquelle tu parles.
sur le serveur c'est la base principale, avec ses tables.
sur chaque poste c'est la base frontale avec ses objets et les tables
attachées.
où vient se greffer ta nouvelle table d'une autre base.
notes bien déjà qu'on ne peut pas attacher une table attachée dans
access.


bonjour,

En fait, j'ai créé une base frontale pour différents postes utilisateurs.
Dans cette base que je leur fourni, il y a une table que j'ai créé jusque
là c'est classique. Dans cette base frontale, je veux attacher sous VB5 une
table qui existe déjà et se trouve sur la base principale. Or le chemin
d'accés à la base principale n'est pas nécessairement le même d'un
ordinateur à l'autre (F:base_principale.mdb ou Q:base_principale.mdb ou
....) Les utilisateurs indiqueront dans un fichier .INI le chemin réel pour
leur machine et à partir de ce chemin VB devrait m'attacher la table
"effective" de la base principale vers la base frontale.

le cheminement de mon programme VB est le suivant :
Verifier si la table "effective" exite dans la base frontale
si oui pas de problème, on continue
si non créer cette table-attachée en la cherchant dans, par exemple,
"Q:base_principale.MDB table Effectif" et c'est cette commande qui me
manque. Je pensais que c'était
base_frontale.CreateTableDef("effective", , chemin & "base_principale.mdb",
"effective")

Merci pour les réponses en espérant m'être mieux expliqué

thierry

Avatar
Raymond [mvp]
ta réponse appelle une dernière question:
quand tu parles de vb5, c'est bien de VB5 et non de VBA ?

si c'est bien sous vb5, pourquoi ne travailles-tu pas directement avec la
base principale sur le serveur ?
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"th" <fm> a écrit dans le message de news:
"Raymond [mvp]" écrivait
news::

Bonjour.

je n'ai pas tout compris. explique mieux tes bases. on ne sait jamais
de laquelle tu parles.
sur le serveur c'est la base principale, avec ses tables.
sur chaque poste c'est la base frontale avec ses objets et les tables
attachées.
où vient se greffer ta nouvelle table d'une autre base.
notes bien déjà qu'on ne peut pas attacher une table attachée dans
access.


bonjour,

En fait, j'ai créé une base frontale pour différents postes utilisateurs.
Dans cette base que je leur fourni, il y a une table que j'ai créé jusque
là c'est classique. Dans cette base frontale, je veux attacher sous VB5
une
table qui existe déjà et se trouve sur la base principale. Or le chemin
d'accés à la base principale n'est pas nécessairement le même d'un
ordinateur à l'autre (F:base_principale.mdb ou Q:base_principale.mdb ou
....) Les utilisateurs indiqueront dans un fichier .INI le chemin réel
pour
leur machine et à partir de ce chemin VB devrait m'attacher la table
"effective" de la base principale vers la base frontale.

le cheminement de mon programme VB est le suivant :
Verifier si la table "effective" exite dans la base frontale
si oui pas de problème, on continue
si non créer cette table-attachée en la cherchant dans, par exemple,
"Q:base_principale.MDB table Effectif" et c'est cette commande qui me
manque. Je pensais que c'était
base_frontale.CreateTableDef("effective", , chemin &
"base_principale.mdb",
"effective")

Merci pour les réponses en espérant m'être mieux expliqué

thierry



Avatar
th
"Raymond [mvp]" écrivait
news::

ta réponse appelle une dernière question:
quand tu parles de vb5, c'est bien de VB5 et non de VBA ?

si c'est bien sous vb5, pourquoi ne travailles-tu pas directement avec
la base principale sur le serveur ?


Oui c'est bien VB5, je ne travaille pas sur la base principale parceque
c'est une base dite 'officielle' qui doit rester intacte dans sa structure.
Je ne peux que me brancher dessus (une seule de ses tables m'est utile)
que via une table attachée.
Ta reflexion m'amène à une autre précision : dans la société il y a
plusieures antennes, chaque antenne à un serveur contenant la base
principale avec la même structure, les données leur sont propres.
L'executable que je leur donnerai sera sur un poste de travail. La base
frontale pourra être soit sur les serveurs (mais pas dans le même dossier)
soit sur les (ou plutot un) poste de travail.
Les utilisateurs n'étant pas trop 'informatique' ne devront pas avoir
besoin de lier à la main à partir de la base access frontale la table dont
j'ai besoin. En gros il faut tout leur faire.

Avatar
Raymond [mvp]
dans ce cas, il faut jouer sur les deux tableaux et procéder par automation
à moins que vb5 ne la gère pas (?)
tu te crées un objet application access (en cochant bien la librairie) et tu
attaches par un docmd.transfertdatabase de cet objet .
ou par un shell (minimize) tu ouvres ta frontale avec une option /X pour
ouvrir une macro qui attachera et fermera la base.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"th" <fm> a écrit dans le message de news:
"Raymond [mvp]" écrivait
news::

ta réponse appelle une dernière question:
quand tu parles de vb5, c'est bien de VB5 et non de VBA ?

si c'est bien sous vb5, pourquoi ne travailles-tu pas directement avec
la base principale sur le serveur ?


Oui c'est bien VB5, je ne travaille pas sur la base principale parceque
c'est une base dite 'officielle' qui doit rester intacte dans sa
structure.
Je ne peux que me brancher dessus (une seule de ses tables m'est utile)
que via une table attachée.
Ta reflexion m'amène à une autre précision : dans la société il y a
plusieures antennes, chaque antenne à un serveur contenant la base
principale avec la même structure, les données leur sont propres.
L'executable que je leur donnerai sera sur un poste de travail. La base
frontale pourra être soit sur les serveurs (mais pas dans le même dossier)
soit sur les (ou plutot un) poste de travail.
Les utilisateurs n'étant pas trop 'informatique' ne devront pas avoir
besoin de lier à la main à partir de la base access frontale la table dont
j'ai besoin. En gros il faut tout leur faire.




Avatar
G Roydor
ma remarque n'est pas dans le sens de la solutionmais la "table1"
est-elle crée dans "base2" ?
normalemnt oui !

le pb m'interesse
GR

th a écrit:
Bonjour à tous, si je sais créer une table avec différents champs sous VB5,
je ne sais pas comment faire pour attacher un table issue d'un autre
fichier access.
Le but du jeu est :
je fournis une base nouvelles aux utilisateurs, et cette nouvelle base doit
avoir un table attachée d'une autre base placée dans un répertoire
different suivant les poste utilisateurs.

J'ai essayé avec
base1.CreateTableDef("table1", , chemin & "base2.mdb", "table1")
mais sans succés. Il n'y a pas de message d'erreur et lorsque j'ouvre la
base1 sous acces il n'y a toujours pas la table1 attachée.

Cette manipe ne sera à faire qu'une fois par poste de travail.

merci pour votre aide