VBA et chaîne de connection Oracle 8.1.7

Fermé
Kobaya Messages postés 282 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 10 janvier 2008 - 23 déc. 2004 à 14:45
 petititapawpa - 17 juil. 2008 à 21:54
Bonjour,

Sous Excel, j'utilise des macros pour faire des requêtes sur Oracle 8.1.7.
La chaîne de connection est
"Provider=MSDAORA. 1;Password=crmuser;User ID=crmuser;Data Source=OPARRSKX01.WORLD"

Le pb, c'est qu'apparamment un recordset construit avec cette connection ne permet pas de balayer (Rst.MoveLast) afin de définir le nombre d'enregistrement(s) qu'il contient.
Faut-il utiliser autre chose que MSDAORA pour que le MoveLast soit possible?

Merci de vos lumières :-)

A+,
Kobaya.
A voir également:

8 réponses

petititapawpa
17 juil. 2008 à 21:54
je sais pas comment créer une connexion oracle vb6 ou avec vb.net..svp aidez moi
1
xthorx_be Messages postés 149 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 18 mai 2005 131
23 déc. 2004 à 16:23
Je crois qu'il y a un malentendu: la chaine que utilise doit te permettre d'ouvrir la base de données et pas un recordset.

je crois que tu devrais avoir

set DB = opendatabase("Provider=MSDAORA. 1;Password=crmuser;User ID=crmuser;Data Source=OPARRSKX01.WORLD")
set REC = DB.Openrecordset("SELECT ...;")
if REC.recordcount > 0 then
rec.movelast
rec.movefirst
end if

La seule chose qui m'ennuye c'est que tu ne donnes pas le chemin à ta base de données alors qu'elle devrait se trouvée dans la chaine de connection...
0
Kobaya Messages postés 282 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 10 janvier 2008 214
23 déc. 2004 à 16:44
en fait, j'ai ceci :

Set objConn = New Connection
objConn.ConnectionString = "Provider=MSDAORA. 1;Password=crmuser;User ID=crmuser;Data Source=OPARRSKX01.WORLD"

' ouverture de la connexion
objConn.Open

Set wbkClasseur = Workbooks.Add

strSQL = "SELECT * FROM tfcrcrm ORDER BY nomfcr"
Set objRS = New Recordset
Application.StatusBar = "Lancer la requête..."
objRS.Open strSQL, objConn

et c'est là que j'ai un pb pour parcourir le rs...

A+,
Kobaya.
0
xthorx_be Messages postés 149 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 18 mai 2005 131
23 déc. 2004 à 17:02
Oui évidement. Essaie voir:
utilise DAO en référence dans ta macro (DAO360.DLL)

dim objConn as new DAO.Database
dim objRS as DAO.Recordset

Set objConn = Opendatabase("Provider=MSDAORA. 1;Password=crmuser;User ID=crmuser;Data Source=OPARRSKX01.WORLD" )

Set wbkClasseur = Workbooks.Add

Set objRS = objConn.openrecordset("SELECT * FROM tfcrcrm ORDER BY nomfcr;") 'NE PAS OUBLIER LE ; EN FIN DE CHAINE

Application.StatusBar = "Lancer la requête..."

if objRS.recordcount>0 then 'Renvoie 1 si il y a des enregistrements
objRS.movelast
end if

set objRS =nothing
objConn.close
set objConn=nothing

Exécute la procédure pas-à-pas ^pour voir s'il n'y a pas de trucs qui cloches...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Kobaya Messages postés 282 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 10 janvier 2008 214
23 déc. 2004 à 17:39
je m'aperçois que je fais tous mes SELECT sans le ; final, ce qui ne semble pas gêner Oracle...

pour ce qui est de DAO360.DLL, je ne peux pas faire ce que je veux sur mon poste (je suis en entreprise, pas à la maison sur mon PC) et les DBA n'aiment pas trop qu'on "attaque leur bébé" par des macros...

j'ai en référence Microsoft DAO 3.51 Object Library.


A+,
Kobaya.
0
xthorx_be Messages postés 149 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 18 mai 2005 131
23 déc. 2004 à 20:20
La différence entre DAO 3.51 et DAO 3.6 est que cette dernière permet d'accéder au base de données type Access des versions supérieures à Access97. Donc normalement, ma routine doit pouvoir également fonctionner avec cette DLL.

BAT
0
Kobaya Messages postés 282 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 10 janvier 2008 214
24 déc. 2004 à 12:03
OK. Merci pour toutes ces précisions. Je vais voir ce que je peux faire.

A+ et Joyeux Noël,
Kobaya.
0
bonjour,
j'espère que vous m'aider à établir une connection entre access et excel et que vous me donner une explication claire en ce qui concerne
DAO et ADO.
-1