Jusqu'à maintenant, je montais mes bases Access de cette façon ci : une base
serveur et une base client. La base client ayant les tables de la base
serveur en tables liées. Je plaçais la base serveur dans un répertoire
partagé, les clients mappant alors un lecteur sur ce partage, les liaisons
pouvant alors s'effectuer.
J'ai voulu faire évoluer cette manière de faire, le but étant de
s'affranchir du lecteur mappé.
Au lieu d'ouvrir des recordsets de cette manière :
set db = currentdb()
set rs = db.openrecordset ("select * from Tbl1")
Je fais comme ceci
set db = dao.opendatabase("u:\base_serveur.mdb")
u:\ étant le lecteur mappé sur le partage
Donc avec cette méthode, aucun problème pour lire et écrire des données. Là
où j'ai quelques difficultés, est quand je souhaite attribuer une source de
données à un formulaire. Jusqu'à maintenant je faisais par exemple ceci :
Me.RecordSource = "select * from Tbl1"
Puisque les tables ne sont plus explicitement décrites dans ma base de
données, je ne peux plus faire comme ceci. Y a t il un moyen malgré tout
pour continuer à se servir de la propriété RecordSource d'un formulaire ? Ou
bien dois-je changer de mode de fonctionnement, c'est à dire par exemple de
lire les données dans une table, de les inscrire dans le formulaire, puis de
réouvrir un recordset afin de pouvoir réécrire dans la table en cas de
modifications des données. Ceci étant quand même plus lourd au niveau du
code que de travailler sur un recordset.
D'avance merci, n'hésitez pas à me demander pour plus de précisions si je ne
suis pas assez clair.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Raymond [mvp]
bonsoir.
à mon avis, je retournerais vers les tables attachées, ce qui est la procédure logique de la base de données et je m'affranchirais de tout ce souci que tu as actuellement pour attacher ta base. Il faut simplement prévoir une procédure de contrôle et ré-attache automatique au lancement de la base ( voir page : http://officesystem.access.free.fr/vba/verifierliens.htm ).
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Laurent Merlet" a écrit dans le message de news: 41a385a3$0$7225$
Bonjour à tous,
Voici mon problème :
Jusqu'à maintenant, je montais mes bases Access de cette façon ci : une base serveur et une base client. La base client ayant les tables de la base serveur en tables liées. Je plaçais la base serveur dans un répertoire partagé, les clients mappant alors un lecteur sur ce partage, les liaisons pouvant alors s'effectuer.
J'ai voulu faire évoluer cette manière de faire, le but étant de s'affranchir du lecteur mappé.
Au lieu d'ouvrir des recordsets de cette manière : set db = currentdb() set rs = db.openrecordset ("select * from Tbl1") Je fais comme ceci set db = dao.opendatabase("u:base_serveur.mdb") u: étant le lecteur mappé sur le partage
Donc avec cette méthode, aucun problème pour lire et écrire des données. Là où j'ai quelques difficultés, est quand je souhaite attribuer une source de données à un formulaire. Jusqu'à maintenant je faisais par exemple ceci : Me.RecordSource = "select * from Tbl1" Puisque les tables ne sont plus explicitement décrites dans ma base de données, je ne peux plus faire comme ceci. Y a t il un moyen malgré tout pour continuer à se servir de la propriété RecordSource d'un formulaire ? Ou bien dois-je changer de mode de fonctionnement, c'est à dire par exemple de lire les données dans une table, de les inscrire dans le formulaire, puis de réouvrir un recordset afin de pouvoir réécrire dans la table en cas de modifications des données. Ceci étant quand même plus lourd au niveau du code que de travailler sur un recordset.
D'avance merci, n'hésitez pas à me demander pour plus de précisions si je ne suis pas assez clair.
Laurent
bonsoir.
à mon avis, je retournerais vers les tables attachées, ce qui est la
procédure logique de la base de données et je m'affranchirais de tout ce
souci que tu as actuellement pour attacher ta base. Il faut simplement
prévoir une procédure de contrôle et ré-attache automatique au lancement de
la base ( voir page :
http://officesystem.access.free.fr/vba/verifierliens.htm ).
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Laurent Merlet" <laurent.merlet@wanadoo.fr> a écrit dans le message de
news: 41a385a3$0$7225$8fcfb975@news.wanadoo.fr...
Bonjour à tous,
Voici mon problème :
Jusqu'à maintenant, je montais mes bases Access de cette façon ci : une
base serveur et une base client. La base client ayant les tables de la
base serveur en tables liées. Je plaçais la base serveur dans un
répertoire partagé, les clients mappant alors un lecteur sur ce partage,
les liaisons pouvant alors s'effectuer.
J'ai voulu faire évoluer cette manière de faire, le but étant de
s'affranchir du lecteur mappé.
Au lieu d'ouvrir des recordsets de cette manière :
set db = currentdb()
set rs = db.openrecordset ("select * from Tbl1")
Je fais comme ceci
set db = dao.opendatabase("u:base_serveur.mdb")
u: étant le lecteur mappé sur le partage
Donc avec cette méthode, aucun problème pour lire et écrire des données.
Là où j'ai quelques difficultés, est quand je souhaite attribuer une
source de données à un formulaire. Jusqu'à maintenant je faisais par
exemple ceci :
Me.RecordSource = "select * from Tbl1"
Puisque les tables ne sont plus explicitement décrites dans ma base de
données, je ne peux plus faire comme ceci. Y a t il un moyen malgré tout
pour continuer à se servir de la propriété RecordSource d'un formulaire ?
Ou bien dois-je changer de mode de fonctionnement, c'est à dire par
exemple de lire les données dans une table, de les inscrire dans le
formulaire, puis de réouvrir un recordset afin de pouvoir réécrire dans la
table en cas de modifications des données. Ceci étant quand même plus
lourd au niveau du code que de travailler sur un recordset.
D'avance merci, n'hésitez pas à me demander pour plus de précisions si je
ne suis pas assez clair.
à mon avis, je retournerais vers les tables attachées, ce qui est la procédure logique de la base de données et je m'affranchirais de tout ce souci que tu as actuellement pour attacher ta base. Il faut simplement prévoir une procédure de contrôle et ré-attache automatique au lancement de la base ( voir page : http://officesystem.access.free.fr/vba/verifierliens.htm ).
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Laurent Merlet" a écrit dans le message de news: 41a385a3$0$7225$
Bonjour à tous,
Voici mon problème :
Jusqu'à maintenant, je montais mes bases Access de cette façon ci : une base serveur et une base client. La base client ayant les tables de la base serveur en tables liées. Je plaçais la base serveur dans un répertoire partagé, les clients mappant alors un lecteur sur ce partage, les liaisons pouvant alors s'effectuer.
J'ai voulu faire évoluer cette manière de faire, le but étant de s'affranchir du lecteur mappé.
Au lieu d'ouvrir des recordsets de cette manière : set db = currentdb() set rs = db.openrecordset ("select * from Tbl1") Je fais comme ceci set db = dao.opendatabase("u:base_serveur.mdb") u: étant le lecteur mappé sur le partage
Donc avec cette méthode, aucun problème pour lire et écrire des données. Là où j'ai quelques difficultés, est quand je souhaite attribuer une source de données à un formulaire. Jusqu'à maintenant je faisais par exemple ceci : Me.RecordSource = "select * from Tbl1" Puisque les tables ne sont plus explicitement décrites dans ma base de données, je ne peux plus faire comme ceci. Y a t il un moyen malgré tout pour continuer à se servir de la propriété RecordSource d'un formulaire ? Ou bien dois-je changer de mode de fonctionnement, c'est à dire par exemple de lire les données dans une table, de les inscrire dans le formulaire, puis de réouvrir un recordset afin de pouvoir réécrire dans la table en cas de modifications des données. Ceci étant quand même plus lourd au niveau du code que de travailler sur un recordset.
D'avance merci, n'hésitez pas à me demander pour plus de précisions si je ne suis pas assez clair.
Laurent
Laurent Merlet
Oui, je pense que je vais conserver le principe des tables attachées, car fort pratique, mais je vais écrire mes liens avec des chemins UNC, à la place des lecteurs mappés. Et puis je vais m'inspirer de ton exemple pour la recomposition des attaches à l'ouverture.
Merci
"Raymond [mvp]" a écrit dans le message de news: eNt$
bonsoir.
à mon avis, je retournerais vers les tables attachées, ce qui est la procédure logique de la base de données et je m'affranchirais de tout ce souci que tu as actuellement pour attacher ta base. Il faut simplement prévoir une procédure de contrôle et ré-attache automatique au lancement de la base ( voir page : http://officesystem.access.free.fr/vba/verifierliens.htm ).
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Laurent Merlet" a écrit dans le message de news: 41a385a3$0$7225$
Bonjour à tous,
Voici mon problème :
Jusqu'à maintenant, je montais mes bases Access de cette façon ci : une base serveur et une base client. La base client ayant les tables de la base serveur en tables liées. Je plaçais la base serveur dans un répertoire partagé, les clients mappant alors un lecteur sur ce partage, les liaisons pouvant alors s'effectuer.
J'ai voulu faire évoluer cette manière de faire, le but étant de s'affranchir du lecteur mappé.
Au lieu d'ouvrir des recordsets de cette manière : set db = currentdb() set rs = db.openrecordset ("select * from Tbl1") Je fais comme ceci set db = dao.opendatabase("u:base_serveur.mdb") u: étant le lecteur mappé sur le partage
Donc avec cette méthode, aucun problème pour lire et écrire des données. Là où j'ai quelques difficultés, est quand je souhaite attribuer une source de données à un formulaire. Jusqu'à maintenant je faisais par exemple ceci : Me.RecordSource = "select * from Tbl1" Puisque les tables ne sont plus explicitement décrites dans ma base de données, je ne peux plus faire comme ceci. Y a t il un moyen malgré tout pour continuer à se servir de la propriété RecordSource d'un formulaire ? Ou bien dois-je changer de mode de fonctionnement, c'est à dire par exemple de lire les données dans une table, de les inscrire dans le formulaire, puis de réouvrir un recordset afin de pouvoir réécrire dans la table en cas de modifications des données. Ceci étant quand même plus lourd au niveau du code que de travailler sur un recordset.
D'avance merci, n'hésitez pas à me demander pour plus de précisions si je ne suis pas assez clair.
Laurent
Oui, je pense que je vais conserver le principe des tables attachées, car
fort pratique, mais je vais écrire mes liens avec des chemins UNC, à la
place des lecteurs mappés. Et puis je vais m'inspirer de ton exemple pour la
recomposition des attaches à l'ouverture.
Merci
"Raymond [mvp]" <XYZ.officesystem.access@free.fr> a écrit dans le message de
news: eNt$fGZ0EHA.2600@TK2MSFTNGP09.phx.gbl...
bonsoir.
à mon avis, je retournerais vers les tables attachées, ce qui est la
procédure logique de la base de données et je m'affranchirais de tout ce
souci que tu as actuellement pour attacher ta base. Il faut simplement
prévoir une procédure de contrôle et ré-attache automatique au lancement
de la base ( voir page :
http://officesystem.access.free.fr/vba/verifierliens.htm ).
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Laurent Merlet" <laurent.merlet@wanadoo.fr> a écrit dans le message de
news: 41a385a3$0$7225$8fcfb975@news.wanadoo.fr...
Bonjour à tous,
Voici mon problème :
Jusqu'à maintenant, je montais mes bases Access de cette façon ci : une
base serveur et une base client. La base client ayant les tables de la
base serveur en tables liées. Je plaçais la base serveur dans un
répertoire partagé, les clients mappant alors un lecteur sur ce partage,
les liaisons pouvant alors s'effectuer.
J'ai voulu faire évoluer cette manière de faire, le but étant de
s'affranchir du lecteur mappé.
Au lieu d'ouvrir des recordsets de cette manière :
set db = currentdb()
set rs = db.openrecordset ("select * from Tbl1")
Je fais comme ceci
set db = dao.opendatabase("u:base_serveur.mdb")
u: étant le lecteur mappé sur le partage
Donc avec cette méthode, aucun problème pour lire et écrire des données.
Là où j'ai quelques difficultés, est quand je souhaite attribuer une
source de données à un formulaire. Jusqu'à maintenant je faisais par
exemple ceci :
Me.RecordSource = "select * from Tbl1"
Puisque les tables ne sont plus explicitement décrites dans ma base de
données, je ne peux plus faire comme ceci. Y a t il un moyen malgré tout
pour continuer à se servir de la propriété RecordSource d'un formulaire ?
Ou bien dois-je changer de mode de fonctionnement, c'est à dire par
exemple de lire les données dans une table, de les inscrire dans le
formulaire, puis de réouvrir un recordset afin de pouvoir réécrire dans
la table en cas de modifications des données. Ceci étant quand même plus
lourd au niveau du code que de travailler sur un recordset.
D'avance merci, n'hésitez pas à me demander pour plus de précisions si je
ne suis pas assez clair.
Oui, je pense que je vais conserver le principe des tables attachées, car fort pratique, mais je vais écrire mes liens avec des chemins UNC, à la place des lecteurs mappés. Et puis je vais m'inspirer de ton exemple pour la recomposition des attaches à l'ouverture.
Merci
"Raymond [mvp]" a écrit dans le message de news: eNt$
bonsoir.
à mon avis, je retournerais vers les tables attachées, ce qui est la procédure logique de la base de données et je m'affranchirais de tout ce souci que tu as actuellement pour attacher ta base. Il faut simplement prévoir une procédure de contrôle et ré-attache automatique au lancement de la base ( voir page : http://officesystem.access.free.fr/vba/verifierliens.htm ).
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Laurent Merlet" a écrit dans le message de news: 41a385a3$0$7225$
Bonjour à tous,
Voici mon problème :
Jusqu'à maintenant, je montais mes bases Access de cette façon ci : une base serveur et une base client. La base client ayant les tables de la base serveur en tables liées. Je plaçais la base serveur dans un répertoire partagé, les clients mappant alors un lecteur sur ce partage, les liaisons pouvant alors s'effectuer.
J'ai voulu faire évoluer cette manière de faire, le but étant de s'affranchir du lecteur mappé.
Au lieu d'ouvrir des recordsets de cette manière : set db = currentdb() set rs = db.openrecordset ("select * from Tbl1") Je fais comme ceci set db = dao.opendatabase("u:base_serveur.mdb") u: étant le lecteur mappé sur le partage
Donc avec cette méthode, aucun problème pour lire et écrire des données. Là où j'ai quelques difficultés, est quand je souhaite attribuer une source de données à un formulaire. Jusqu'à maintenant je faisais par exemple ceci : Me.RecordSource = "select * from Tbl1" Puisque les tables ne sont plus explicitement décrites dans ma base de données, je ne peux plus faire comme ceci. Y a t il un moyen malgré tout pour continuer à se servir de la propriété RecordSource d'un formulaire ? Ou bien dois-je changer de mode de fonctionnement, c'est à dire par exemple de lire les données dans une table, de les inscrire dans le formulaire, puis de réouvrir un recordset afin de pouvoir réécrire dans la table en cas de modifications des données. Ceci étant quand même plus lourd au niveau du code que de travailler sur un recordset.
D'avance merci, n'hésitez pas à me demander pour plus de précisions si je ne suis pas assez clair.