OVH Cloud OVH Cloud

Ouverture de table en VBA

4 réponses
Avatar
JM
Bonjour à tous

Je ne parviens pas à ouvrir une table en VBA. Voici le code.

Dim Db
Dim tableNumero
Set Db = CurrentProject.Connection
Set tableNumero = Db.OpenRecordset("Numero")

Dans la bd il y d'autres tables, je les ouvre avec ce qui suit:
Public tableDossier As New ADODB.Recordset
tableDossier.Open _
"SELECT [PATIENT].[NOM],[PATIENT].[PRENOM] FROM [PATIENT] WHERE " _
& " [PATIENT].[NUMERO]=" & NumDos & " ", Db, adOpenKeyset,
adLockOptimistic, -1

ou est-ce que ca cloche?
Merci in advance
Jean-Marc

4 réponses

Avatar
Gafish
Bonjour,

JM wrote:
Je ne parviens pas à ouvrir une table en VBA.


Tu veux ouvrir ta table dans quel but ? Parcourir ensuite les données via
vba pour faire divers traitements ?

Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
JM
Bonjour et merci de me répondre déjà.
Je voudrais ouvrir une table existante pour ajouter de nouveaux
enregistrements pour un traitement ultérieur.
Merci
Jean-Marc

"Gafish" a écrit dans le message de news:

Bonjour,

JM wrote:
Je ne parviens pas à ouvrir une table en VBA.


Tu veux ouvrir ta table dans quel but ? Parcourir ensuite les données via
vba pour faire divers traitements ?

Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr





Avatar
Gafish
JM wrote:
Bonjour et merci de me répondre déjà.
Je voudrais ouvrir une table existante pour ajouter de nouveaux
enregistrements pour un traitement ultérieur.
Merci
Jean-Marc



S'il s'agit simplement d'ajouter des enregistrements, tu peux directement
faire :
CurrentDb.Execute "INSERT INTO..................."
sans ouvrir de recordset

Sinon si tu veux ou si tu as besoin d'ouvrir un recordset, tu peux faire la
chose suivante :
Dim rsTable as recordset
Set rsTable = CurrentDb.OpenRecordset("Numero", dbOpenDynaset)

et pour ajouter tu pourras faire des
rsTable.AddNew
rsTable.Fields("MonChamp") = LaValeur
rsTable.Update

et n'oublie pas à la fin de faire un
Set rsTable = nothing

Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
JM
Merci Arnaud
Tout ceci me sera fort utile.
A plus
Jean-Marc
"Gafish" a écrit dans le message de news:
%
JM wrote:
Bonjour et merci de me répondre déjà.
Je voudrais ouvrir une table existante pour ajouter de nouveaux
enregistrements pour un traitement ultérieur.
Merci
Jean-Marc



S'il s'agit simplement d'ajouter des enregistrements, tu peux directement
faire :
CurrentDb.Execute "INSERT INTO..................."
sans ouvrir de recordset

Sinon si tu veux ou si tu as besoin d'ouvrir un recordset, tu peux faire
la
chose suivante :
Dim rsTable as recordset
Set rsTable = CurrentDb.OpenRecordset("Numero", dbOpenDynaset)

et pour ajouter tu pourras faire des
rsTable.AddNew
rsTable.Fields("MonChamp") = LaValeur
rsTable.Update

et n'oublie pas à la fin de faire un
Set rsTable = nothing

Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr