OVH Cloud OVH Cloud

Ouverture et lecture d'une BD

4 réponses
Avatar
Cerveza
Bonjour,
Je cherche le code pour ouvrir une table d'un BD, y lire un enregistrement à
partir d'une clé primaire et emmagasiner la valeur d'un de ses champs dans
une variable globale. Le code opérera dans un Form_Load et la base de données
sera fermée à la fin de l'événement.

Quelqu'un a-t-il une idée, S.V.P.? Merci.

--
Remercie la main qui te nourrit
@+
Cerveza

4 réponses

Avatar
Jessy Sempere [MVP]
Bonjour

Extrait de l'aide :
L'exemple suivant retourne le nom contenu dans le champ Nom du messager de
l'enregistrement qui satisfait à critère. Le domaine consiste en une table
Messagers. L'argument critère limite le jeu d'enregistrements à ceux pour
lesquels N° messager est égal à 1.

Dim varX As Variant
varX = DLookup("[Nom du messager]", "Messagers", "[N° messager] = 1")
Sinon tu peux aussi passer par les recordSet mais bon, vu ce que tu veux
faire, ça ne semble pas utile.

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://www.mpfa.info/
------------------------------------
"Cerveza" a écrit dans le message de
news:
Bonjour,
Je cherche le code pour ouvrir une table d'un BD, y lire un enregistrement
à

partir d'une clé primaire et emmagasiner la valeur d'un de ses champs dans
une variable globale. Le code opérera dans un Form_Load et la base de
données

sera fermée à la fin de l'événement.

Quelqu'un a-t-il une idée, S.V.P.? Merci.

--
Remercie la main qui te nourrit
@+
Cerveza


Avatar
Cerveza
Salut Jessy,

Merci beaucoup pour l'info. Je viens de comprendre comment il est tellement
plus simple d'utiliser la fonction DLookup que d'ouvrir, lire le bon
enregistrement, sauvegarder l'info et fermer la BD pour faire ce que je
voulais faire. Une ligne au lieu de dizaine de lignes de codes. Bravo pour la
simplicité.

Pour ma propre information, si j'avais eu besoin de beaucoup plus d'infos
sur cette table, il m'aurait été avantageux, j'imagine, de passer par
RecordSet.
1) Où puis-je trouver de l'info claire sur toutes les étapes à suivre
(ouverture, lecture et recherche, sauvarger le fruit de ces lectures dans des
variables, passer aux autres enregistrement et fermeture de la BD)?
2) Si l'info se trouvait sur une BD différente que celle du formulaire,
peut-on utiliser DLookup avec une identification de la BD dans le nom de la
table?
Merci encore
--
On naît tous ignorant
@+
Cerveza



Bonjour

Extrait de l'aide :
L'exemple suivant retourne le nom contenu dans le champ Nom du messager de
l'enregistrement qui satisfait à critère. Le domaine consiste en une table
Messagers. L'argument critère limite le jeu d'enregistrements à ceux pour
lesquels N° messager est égal à 1.

Dim varX As Variant
varX = DLookup("[Nom du messager]", "Messagers", "[N° messager] = 1")
Sinon tu peux aussi passer par les recordSet mais bon, vu ce que tu veux
faire, ça ne semble pas utile.

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://www.mpfa.info/
------------------------------------
"Cerveza" a écrit dans le message de
news:
Bonjour,
Je cherche le code pour ouvrir une table d'un BD, y lire un enregistrement
à

partir d'une clé primaire et emmagasiner la valeur d'un de ses champs dans
une variable globale. Le code opérera dans un Form_Load et la base de
données

sera fermée à la fin de l'événement.

Quelqu'un a-t-il une idée, S.V.P.? Merci.

--
Remercie la main qui te nourrit
@+
Cerveza







Avatar
Jessy Sempere [MVP]
Re,

Merci beaucoup pour l'info. Je viens de comprendre comment il est
tellement

plus simple d'utiliser la fonction DLookup que d'ouvrir, lire le bon
enregistrement, sauvegarder l'info et fermer la BD pour faire ce que je
voulais faire. Une ligne au lieu de dizaine de lignes de codes. Bravo pour
la

simplicité.

Pour ma propre information, si j'avais eu besoin de beaucoup plus d'infos
sur cette table, il m'aurait été avantageux, j'imagine, de passer par
RecordSet.


Oui effectivement

1) Où puis-je trouver de l'info claire sur toutes les étapes à suivre
(ouverture, lecture et recherche, sauvarger le fruit de ces lectures dans
des

variables, passer aux autres enregistrement et fermeture de la BD)?


Regardes les liens dans ma signature www.mpfa.info
il y est fait référence à pas mal de site très interressant...
Sinon regardes l'aide d'Access sur OpenRecordset, tu trouveras tout
ce qu'il faut pour gérer les Recordset

2) Si l'info se trouvait sur une BD différente que celle du formulaire,
peut-on utiliser DLookup avec une identification de la BD dans le nom de
la

table?
Non, ce n'est pas possible, où alors il faut créer une table attachée à

ta table extraire pour ensuite utiliser ton DLookup sur cette table
attachée.

Sinon, le mieux est encore de passer par un Recordset, en utilisant
au préalable OpenDatabase pour ouvrir la Base externe et
accéder à ta table, genre :

dim db as dao.database
dim rstX as dao.recordset

set db = opendatabase("c:tabase.mdb")
set rstX = db.openrecordset ("taTableExterne")
...


@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://www.mpfa.info/
------------------------------------

Avatar
Cerveza
Infos complètes.
Merci beaucoup
--
On naît tous ignorant
@+
Cerveza



Re,

Merci beaucoup pour l'info. Je viens de comprendre comment il est
tellement

plus simple d'utiliser la fonction DLookup que d'ouvrir, lire le bon
enregistrement, sauvegarder l'info et fermer la BD pour faire ce que je
voulais faire. Une ligne au lieu de dizaine de lignes de codes. Bravo pour
la

simplicité.

Pour ma propre information, si j'avais eu besoin de beaucoup plus d'infos
sur cette table, il m'aurait été avantageux, j'imagine, de passer par
RecordSet.


Oui effectivement

1) Où puis-je trouver de l'info claire sur toutes les étapes à suivre
(ouverture, lecture et recherche, sauvarger le fruit de ces lectures dans
des

variables, passer aux autres enregistrement et fermeture de la BD)?


Regardes les liens dans ma signature www.mpfa.info
il y est fait référence à pas mal de site très interressant...
Sinon regardes l'aide d'Access sur OpenRecordset, tu trouveras tout
ce qu'il faut pour gérer les Recordset

2) Si l'info se trouvait sur une BD différente que celle du formulaire,
peut-on utiliser DLookup avec une identification de la BD dans le nom de
la

table?
Non, ce n'est pas possible, où alors il faut créer une table attachée à

ta table extraire pour ensuite utiliser ton DLookup sur cette table
attachée.

Sinon, le mieux est encore de passer par un Recordset, en utilisant
au préalable OpenDatabase pour ouvrir la Base externe et
accéder à ta table, genre :

dim db as dao.database
dim rstX as dao.recordset

set db = opendatabase("c:tabase.mdb")
set rstX = db.openrecordset ("taTableExterne")
....


@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://www.mpfa.info/
------------------------------------