OVH Cloud OVH Cloud

Table liée : procèdure connect

2 réponses
Avatar
Denis
Bonjour à toutes et tous...
Malgré l'aide de VBA et les exemples proposés, je ne parviens pas à résoudre
le problème de lecture des données d'une table liée pour procéder à des
calculs...
Situation:
J'utilise Access 97 en réseau...
Mes tables de données sont sur le serveur, dans G:\bases\base.mdb
Sur mon PC, j'ai une base c:\travail\travail.mdb qui ne contient que les
tables liées, des requêtes, des formulaires, et un module qui procède à des
calculs sur des dates (gestion des absences, en l'occurence, journées ARTT
planifiées...).
J'ai donc une table ARTT où j'ai les dates des journées ARTT de l'année en
cours...
Le but est que si je pose un congé pour la journée X (chEntrée), je
décompte par défaut une journée sur les droits à congés, mais si si la date
entrée (chEntrée) correspond à une date de ma table ARTT, j'annule ce
décompte en rajoutant une journée sur les droits...

Lorsque cette table ARTT est dans ma base travail.mdb, la procédure suivante
me permet de récupérer le recordset afin de faire mes calculs (décompte ou
non de la journée sur les droits à congés annuels) :

...
Dim bds as Database, rst as Recordset,
Dim chEntrée as string
Set Bds = CurrentDb
set rst=bds.Openrecordst ("ARTT")
rts.index="primarykey"
chEntrée=cstr(date_tampon)
rst.seek "=", chEntrée
if not rst.Nomatch then
droits=droits+1
end if
rst close
set bds=nothing
...

En revanche, cette procédure ne peut pas fonctionner si ma table ARTT,
située alors sur mon serveur (dans G:\bases\base.mdb) est attachée dans ma
base de travail...
Je sais qu'il me faut connecter cette table attachée...mais je ne parviens
pas à dépatouiller les lignes avec les exemples donnés dans l'aide de VBA...

Quelqu'un(e) peut-il (elle) quelque chose pour moi ?
Merci d'avance...
Denis

2 réponses

Avatar
Pierre CFI [mvp]
bonjour
je crois que "seek" ne marche pas sur une table liée, fait un critére dans ton recordset

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Denis" a écrit dans le message de news:411cf4cb$0$13694$
Bonjour à toutes et tous...
Malgré l'aide de VBA et les exemples proposés, je ne parviens pas à résoudre
le problème de lecture des données d'une table liée pour procéder à des
calculs...
Situation:
J'utilise Access 97 en réseau...
Mes tables de données sont sur le serveur, dans G:basesbase.mdb
Sur mon PC, j'ai une base c:travailtravail.mdb qui ne contient que les
tables liées, des requêtes, des formulaires, et un module qui procède à des
calculs sur des dates (gestion des absences, en l'occurence, journées ARTT
planifiées...).
J'ai donc une table ARTT où j'ai les dates des journées ARTT de l'année en
cours...
Le but est que si je pose un congé pour la journée X (chEntrée), je
décompte par défaut une journée sur les droits à congés, mais si si la date
entrée (chEntrée) correspond à une date de ma table ARTT, j'annule ce
décompte en rajoutant une journée sur les droits...

Lorsque cette table ARTT est dans ma base travail.mdb, la procédure suivante
me permet de récupérer le recordset afin de faire mes calculs (décompte ou
non de la journée sur les droits à congés annuels) :

...
Dim bds as Database, rst as Recordset,
Dim chEntrée as string
Set Bds = CurrentDb
set rst½s.Openrecordst ("ARTT")
rts.index="primarykey"
chEntrée=cstr(date_tampon)
rst.seek "=", chEntrée
if not rst.Nomatch then
droits=droits+1
end if
rst close
set bds=nothing
...

En revanche, cette procédure ne peut pas fonctionner si ma table ARTT,
située alors sur mon serveur (dans G:basesbase.mdb) est attachée dans ma
base de travail...
Je sais qu'il me faut connecter cette table attachée...mais je ne parviens
pas à dépatouiller les lignes avec les exemples donnés dans l'aide de VBA...

Quelqu'un(e) peut-il (elle) quelque chose pour moi ?
Merci d'avance...
Denis





Avatar
Eric
Bonjour Denis,

La méthode Seek ne marche pas avec les tables attachées. Il faut que tu
utilises la methode Find (FindFirst, FindNext, FindLast ou FindPrevious)
en utilisant un critere. Voir dans l'aide.

A+
Eric

"Denis" écrivait
news:411cf4cb$0$13694$:

Bonjour à toutes et tous...
Malgré l'aide de VBA et les exemples proposés, je ne parviens pas à
résoudre le problème de lecture des données d'une table liée pour
procéder à des calculs...
Situation:
J'utilise Access 97 en réseau...
Mes tables de données sont sur le serveur, dans G:basesbase.mdb
Sur mon PC, j'ai une base c:travailtravail.mdb qui ne contient que
les tables liées, des requêtes, des formulaires, et un module qui
procède à des calculs sur des dates (gestion des absences, en
l'occurence, journées ARTT planifiées...).
J'ai donc une table ARTT où j'ai les dates des journées ARTT de
l'année en cours...
Le but est que si je pose un congé pour la journée X (chEntrée), je
décompte par défaut une journée sur les droits à congés, mais si si la
date entrée (chEntrée) correspond à une date de ma table ARTT,
j'annule ce décompte en rajoutant une journée sur les droits...

Lorsque cette table ARTT est dans ma base travail.mdb, la procédure
suivante me permet de récupérer le recordset afin de faire mes calculs
(décompte ou non de la journée sur les droits à congés annuels) :

...
Dim bds as Database, rst as Recordset,
Dim chEntrée as string
Set Bds = CurrentDb
set rst½s.Openrecordst ("ARTT")
rts.index="primarykey"

rst.seek "=", chEntrée
if not rst.Nomatch then
droits=droits+1
end if
rst close
set bds=nothing
...

En revanche, cette procédure ne peut pas fonctionner si ma table ARTT,
située alors sur mon serveur (dans G:basesbase.mdb) est attachée
dans ma base de travail...
Je sais qu'il me faut connecter cette table attachée...mais je ne
parviens pas à dépatouiller les lignes avec les exemples donnés dans
l'aide de VBA...

Quelqu'un(e) peut-il (elle) quelque chose pour moi ?
Merci d'avance...
Denis