OVH Cloud OVH Cloud

Code pour lier les tables automatiquement ?

8 réponses
Avatar
Txl
Bonjour

j'ai des bases utilisées en réseau et sachant que le chemin des tables ne
change jamais je voudrais avoir un bout de code qui vérifie que le lien
avec la table est bien le bon.

Sachant que la table liée est sur t:\table.mdb comment faire, je crois
avoir vu un bout de code similaire il y a a quelque temps ici, mais je ne
le retrouve plus

Question 2: pour une utilisation en réseau, la base "table" reste sur le
"serveur" mais est-ce que cela ne ralentit pas les opération si les gens
démarrent des raccourcis des bases "formulaire" sur le serveur ou fgaut-il
qu'ils aient chacun une copie de la base "formulaire" sur leur machine ?

Je dis ca car en cas de mise à jour c'est plus facile de leur mettre des
raccourcis sur leurs machines respectives et de garder les bases
"formulaires" sur le serveur



Merci de votre aide.

8 réponses

Avatar
Raymond
Bonjour.

Lire la page de Arnaud:
http://memoaccess.free.fr/tables.htm#Links


Question 2:
Il est préférable d'avoir la base "table" ( base principale) sur le serveur

et la base "formulaires" ( base frontale) sur chaque poste, ceci pour des
questions de performance, de tables temporaires etc....
Pour la mise à jour il suffit de copier la dernière mise à jour lors du
login windows.
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Txl" <txl@@free.fr> a écrit dans le message de
news:
Bonjour

j'ai des bases utilisées en réseau et sachant que le chemin des tables ne
change jamais je voudrais avoir un bout de code qui vérifie que le lien
avec la table est bien le bon.

Sachant que la table liée est sur t:table.mdb comment faire, je crois
avoir vu un bout de code similaire il y a a quelque temps ici, mais je ne
le retrouve plus

Question 2: pour une utilisation en réseau, la base "table" reste sur le
"serveur" mais est-ce que cela ne ralentit pas les opération si les gens
démarrent des raccourcis des bases "formulaire" sur le serveur ou fgaut-il
qu'ils aient chacun une copie de la base "formulaire" sur leur machine ?

Je dis ca car en cas de mise à jour c'est plus facile de leur mettre des
raccourcis sur leurs machines respectives et de garder les bases
"formulaires" sur le serveur



Merci de votre aide.



Avatar
Txl
"Raymond" wrote in
news:ebx#$:

Bonjour.

Lire la page de Arnaud:
http://memoaccess.free.fr/tables.htm#Links


Question 2:
Il est préférable d'avoir la base "table" ( base principale) sur le

serveur et la base "formulaires" ( base frontale) sur chaque poste,
ceci pour des questions de performance, de tables temporaires etc....
Pour la mise à jour il suffit de copier la dernière mise à jour lors
du login windows.


Merci de ton aide mais il m'en faut un peu plus...

J'ai crée un module, mis le code deans, crée la macro autoexec, et il me
dit qu'il ne trouve pas la fonction, quand je mets dans la macro execute
code, il me propose la fenetre de recherche de fonctions, dans l'onglet"
fonction intégrées" j'ai les trucs normaux, mais dans l'ongelt "mabase" y'a
rien.

Alors comment je définis cette fonction pour l'executer ?

Merci aussi pour le tuyau des bases, avec un fichier .bat dans le dossier
démarrage ca devait le faire ou y'a un truc plus fin dans windows 2000 ?


Avatar
Raymond
Bonjour.

il faut déclarer la function Public.
Function abcd() ou
Public Function abcd()

tu as dû indiquer Private.
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Txl" <txl@@free.fr> a écrit dans le message de
news:
"Raymond" wrote in
news:ebx#$:

Bonjour.

Lire la page de Arnaud:
http://memoaccess.free.fr/tables.htm#Links


Question 2:
Il est préférable d'avoir la base "table" ( base principale) sur le

serveur et la base "formulaires" ( base frontale) sur chaque poste,
ceci pour des questions de performance, de tables temporaires etc....
Pour la mise à jour il suffit de copier la dernière mise à jour lors
du login windows.


Merci de ton aide mais il m'en faut un peu plus...

J'ai crée un module, mis le code deans, crée la macro autoexec, et il me
dit qu'il ne trouve pas la fonction, quand je mets dans la macro execute
code, il me propose la fenetre de recherche de fonctions, dans l'onglet"
fonction intégrées" j'ai les trucs normaux, mais dans l'ongelt "mabase"
y'a

rien.

Alors comment je définis cette fonction pour l'executer ?

Merci aussi pour le tuyau des bases, avec un fichier .bat dans le dossier
démarrage ca devait le faire ou y'a un truc plus fin dans windows 2000 ?





Avatar
Txl
"Raymond" wrote in news:#vxsxlzjDHA.1960
@TK2MSFTNGP12.phx.gbl:

Bonjour.

il faut déclarer la function Public.
Function abcd() ou
Public Function abcd()

tu as dû indiquer Private.


Bon, j'avance doucement mais j'avance, j'avais pas sauvé le module comme il
faut....

sauf que maintenant j'ai une erreur de compil sur la ligne suivante


Dim dbs As DAO.Database

type défini par l'utilisateur non défini...



merci de ton aide

je suis sous access 2002 et vb 6.3 (si ca aide)

Avatar
Raymond
Il faut cocher la référence microsoft DAO3.6 objects library et si possible
la faire passer avant la librairie ADO si celle-ci est cochée.

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Txl" <txl@@free.fr> a écrit dans le message de
news:
"Raymond" wrote in news:#vxsxlzjDHA.1960
@TK2MSFTNGP12.phx.gbl:

Bonjour.

il faut déclarer la function Public.
Function abcd() ou
Public Function abcd()

tu as dû indiquer Private.


Bon, j'avance doucement mais j'avance, j'avais pas sauvé le module comme
il

faut....

sauf que maintenant j'ai une erreur de compil sur la ligne suivante


Dim dbs As DAO.Database

type défini par l'utilisateur non défini...



merci de ton aide

je suis sous access 2002 et vb 6.3 (si ca aide)



Avatar
Txl
"Raymond" wrote in
news:#:

Il faut cocher la référence microsoft DAO3.6 objects library et si
possible la faire passer avant la librairie ADO si celle-ci est
cochée.



Ok, merci de ton aide, alors problème suivant...

erreur sur la 2° partie de la fonction

"sub ou fonction non définie" sur la 1° ligne du groupe

Sub fRefreshLinks()
Dim newpath As String
On Error Resume Next

newpath = OpenFile("table.mdb") 'Fonction à récupérer également !!
For idx = 0 To nbTbl - 1
Set TblDef = dbs.TableDefs(idx)
If TblDef.Connect <> "" Then
TblDef.Connect = ";DATABASE=" & newpath
TblDef.RefreshLink




A part ca en nom de base a ouvrir j'ai mis "table.mdb" (c'est original hein
?) qui est le nom de la base de tables et qui est dans le meme dossier que
la base que je lance, c'est bon ?


je sens qu'on approche du but...

Désolé de casser les pieds avce ca mais je n'y entrave que dalle au VBA....

Avatar
Raymond
Bonsoir.

Désolé de casser les pieds avce ca mais je n'y entrave que dalle au
VBA....




Tu ne penses pas qu'il faudrait que tu entraves un peu plus au vba pour te
lancer dans ce genre de fonction maintenant ? fais le rafraichissement
manuel par l'utilitaire access ( menu outils / utilitaires / gestionnaire de
tables liées). il te manque la fonction openfile qui doit se trouver dans un
module, que tu peux récupérer dans un autre mémo d'Arnaud. L'enchevêtrement
de toutes ces fonctions n'est compréhensible que si tu as un certain acquit
dans les connaissances vba. si on te donne toutes les fonctions toutes
faites ça va marcher mais tu n'auras pas compris le cheminement. qu'en
penses-tu ?

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Txl" <txl@@free.fr> a écrit dans le message de
news:
"Raymond" wrote in
news:#:

Il faut cocher la référence microsoft DAO3.6 objects library et si
possible la faire passer avant la librairie ADO si celle-ci est
cochée.



Ok, merci de ton aide, alors problème suivant...

erreur sur la 2° partie de la fonction

"sub ou fonction non définie" sur la 1° ligne du groupe

Sub fRefreshLinks()
Dim newpath As String
On Error Resume Next

newpath = OpenFile("table.mdb") 'Fonction à récupérer également !!
For idx = 0 To nbTbl - 1
Set TblDef = dbs.TableDefs(idx)
If TblDef.Connect <> "" Then
TblDef.Connect = ";DATABASE=" & newpath
TblDef.RefreshLink




A part ca en nom de base a ouvrir j'ai mis "table.mdb" (c'est original
hein

?) qui est le nom de la base de tables et qui est dans le meme dossier que
la base que je lance, c'est bon ?


je sens qu'on approche du but...

Désolé de casser les pieds avce ca mais je n'y entrave que dalle au
VBA....





Avatar
Txl
"Raymond" wrote in
news::

Bonsoir.

Désolé de casser les pieds avce ca mais je n'y entrave que dalle au
VBA....




Tu ne penses pas qu'il faudrait que tu entraves un peu plus au vba
pour te lancer dans ce genre de fonction maintenant ? fais le
rafraichissement manuel par l'utilitaire access ( menu outils /
utilitaires / gestionnaire de tables liées). il te manque la fonction
openfile qui doit se trouver dans un module, que tu peux récupérer
dans un autre mémo d'Arnaud. L'enchevêtrement de toutes ces fonctions
n'est compréhensible que si tu as un certain acquit dans les
connaissances vba. si on te donne toutes les fonctions toutes faites
ça va marcher mais tu n'auras pas compris le cheminement. qu'en
penses-tu ?



J'en pense que perso je ferais toujours le fichier/données externes/lier et
ca serait très bien, mais les "génies" (utilisateurs) en seront incapables,
et comme les bases sont déployées à 150 bornes de chez moi je cherche le
truc pour faire des évolutions de manière transparente pour eux.

Donc si j'ai bien compris pour que ce module marche il faut au préalable un
autre module qui crée une fonction d'ouverture de fichier qu'access n'a pas
tout seul (en fait il a pas grand chose cet idiot o:)

Donc je vais farfouiller sur ce site, et essayer de m'en sortir, et dans le
pire des cas je vous demanderai ici une solution "toute faite".

Si je peux juste me permettre une OBSERVATION (donc pas une critique)
envers l'auteur du code un tout petit peu de détails pratiques sur la mise
en place des modules serait le bienvenu, car si on a besoin de son code
c'est qu'on en sait moins que lui (sinon on ferait le code tout seul) et si
on en sait moins que lui on pourrait apprécier un "mode d'emploi" pour
aller avec le code.

Ceci étant dit merci beaucoup de votre aide à tous (toi et le codeur).