OVH Cloud OVH Cloud

Suppression table externe ODBC suite

21 réponses
Avatar
FFO
Rappel :

l'échéance de Macros la dernière action commande l'export d'une table vers
une base ORACLE via ODBC
Or si une table du même nom est déjà présente dans cette base (oubli de
supprimer celle générée antérieurement) l'export tombe en échec

Est-il possible d'insérer dans la Macro une action qui vérifie la présence
de cette table et dans cette éventualité opère sa suppression avant le nouvel
export

Proposition de G genier :


Va dans le section module, fais nouveau.
une fois dans l'éditeur vba, tu tapes :

Function exportTableToOracle()
Set bds=currentdb()
chSQL = "SELECT * FROM tableOracle;"
on error goto noDropTable
bds.execute chSQL

'Si on est ici c'est que le SELECT à marcher donc on supprime
chSQL = "DROP TABLE tableOracle;" (à voir la syntaxe exacte)
'Ici tu appelle t'as requete que tu utilises dans tes macros pour le
'tranfert
bds.execute "maRequeteAjout"
'On a finit on sort
Exit Function
noDropTable:
'La table Oracle n'existait pas donc on ajoute basiquement
bds.execute "maRequeteAjout"
End Function

Dans ta macro au lieu de faire : OuvrirRequete "maRequeteAjout", tu feras
: ExecuterCode et tu iras chercher cette fonction.

NB : une fois que tu auras réussi à faire ça, il faudra vérifier si la
table est bien supprimer d'Oracle est pas simplement d Access, dans ce
cas, il nous faudra le nom du Driver ODBC et voir ce qu'on peut faire avec.

Ce que j'ai réalisé et obtenu :

Merci beaucoup de m'accorder un peu de ton temps pour m'aider
J'ai bien créé un module dans lequel j'ai inséré ton code VBA
Je l'ai quelque peu modifié comme suit :

Set bds=currentdb()
> chSQL = "SELECT * FROM tableOracle;"
> on error goto noDropTable
> bds.execute chSQL
>
> 'Si on est ici c'est que le SELECT à marcher donc on supprime
> chSQL = "DROP TABLE tableOracle;" (à voir la syntaxe exacte)
Modification :
> 'Ici tu appelle t'as requete que tu utilises dans tes macros pour le
> 'tranfert
> 'bds.execute "maRequeteAjout"
je ne donne pas l'instruction d'éxécuter la requète
"maRequeteAjout" car l'export vers Oracle est réalisé par une action
spéciphique de ma
Macro et non par une requète

> 'On a finit on sort
> Exit Function
> noDropTable:

Modification :
la même que précédemment
> 'La table Oracle n'existait pas donc on ajoute basiquement
> 'bds.execute "maRequeteAjout"

> End Function

Aprés cette adaptation si la table à créer n'est pas déjà en place sous
Oracle tout fonctionne correctement éxécution du code et export de la table

Par contre si la table est présente malgrés l'exécution du code qui ne bug
pas l'export tombe en échec car la table créé au paravant n'est pas supprimée
d'Oracle
L'instruction "DROP TABLE" n'est pas suivi d'effet

Une autre question se pose à moi lorsque je commande l'export via une action
de la Macro je dois
décliner sur des champs prévus à cet effet un certain nombre d'informations
concernant l'adresse de la base Oracle (Type base, nom base etc...) ce qui
n'est pas le cas dans ton code pour supprimer l'éventuelle table
N'est ce pas une lacune qui expliquerait le dysfonctionnement du code
Je pense à mon avis que le code VBA n'execute pas son action sur la base
ORACLE dans laquelle je souhaite que l'on analyse la présence d'une table et
de la supprimer si tel est le cas avant un nouvel export de celle-ci
Merci pour ton analyse et une proposition de solution

10 réponses

1 2 3
Avatar
FFO
Aujourd'hui Jeudi 30/03/06 à la réouverture d'access la connection bug à
nouveau à la ligne :
Set daoDatabase = wrk.OpenConnection("LaConnexion", dbDriverNoPrompt, False,
strConnect) message erreur "Objet requis"
Que s'est il passé depuis hier ???
Toujours est il qu'il faut constater une régression
Arriverais je un jours a traiter la présence d'une table sous Oracle à
partir d'access
celà me semble un but particulièrement ardu à atteindre
Merci pour toute aide

toujours plus fort !!! la bète est en passe d'être vaincu !!!!
Net progré
Je mexplique :
J'ai coché selon tes indications rubrique Référence le choix "Microsoft DAO
3.5 Object Library"
Or un 2° choix similaire était possible mais échapé à ma vigileance
intitullé "Microsoft DAO 3.6 Object Library"
Rectification faite et oh! miracle la connexion a du s'effectuer car si bug
il ya il se produit sur la 2° partie du code paragraphe "Function
exportTableToOracle()"
Ligne : fctConnection nomBaseODBC message erreur "incompatibilité de type"

Un peu maigre comme information mais tu devrais certainement pouvoir en
tirer profit

Courage Courage le bout du tunnel n'est pas loin




Aaaahhh..., ca me paraissait tellement logique, dsl de pas y avoir pensé
avant :p

Bon, dans Outils->Référence, vérifie que l'autre DAO Object est bien coché.

Du coup en va en profiter pour vérifier la déclaration des variables
globales :

Ce code doit etre tout en haut cette ligne : Option Compare Database, doit
normalement etre mise par défaut.
Option Compare Database
Private daoConnection As DAO.Workspace --> j'ai changé le type, peut etre
que l'erreur vient de la
Private daoDatabase As DAO.Database


"FFO" a écrit dans le message de
news:
On avance on avance !!!!
effectivement tu as vu juste en rectifiant la disposition des lignes la
compilation à appréciée ne relevant plus d'erreur
Les ennuies ne sont pas fini pour autant car à l'exucution du code via la
macro access rouspète encore (il falait bien que son mauvais caractère
s'exprime encore !!!) avec comme message d'erreur :

Ligne Set daoConnection = CreateWorkspace("ODBCDirect", "Admin", "",
dbUseODBC) message erreur "un composant ActiveX ne peut pas créer l'objet"

Qu'en penses tu ???


D'accord :)

Ce qui est étrange c'est que j'ai sous les yeux ce même code et qu il ne
me


met aucune erreur de syntaxe :/
Attention, j'ai peur que les lignes ne soient coupés.

Dans ce cas il faut mettre comme ça :

Set daoConnection = CreateWorkspace("ODBCDirect", "Admin", "",
dbUseODBC) ->


sur une seule ligne !

strConnect > > > >
"ODBC;DSN=P27R002-PCLV;UID=LeLogin;PWD=LeMotDePasse;DATABASE=P27R002-PCLV" -


sur une seule ligne !


Set daoDatabase > > > > daoConnection.OpenConnection("LaConnexion",dbDriverNoPrompt, False,
strConnect) -> sur une seule ligne !

Si tu veux mettre sur deux lignes il faut utiliser le signes "_" entre
deux


lignes ex :
je commence ici _
et je termine la


"FFO" a écrit dans le message de
news:
Je tiens d'abord à te rassurer aucune ironie à ton égard trop content
de



trouver une main secourable toute dévouée à ma cause
Non juste un brin d'humour devant cette adversité informatique pour
travailler de concert en toute décontraction alors que les évennements
s'acharnant contre nous pourrait provoquer un peu de crispation

Voici donc le résultat du nouveau code :

ligne Set daoConnection = CreateWorkspace("ODBCDirect", "Admin", "",
dbUseODBC) : erreur de syntaxe


Ligne Set daoDatabase = daoConnection.OpenConnection("LaConnexion",
dbDriverNoPrompt, False, strConnect) : erreur de syntaxe

Ligne strConnect > > > > >
"ODBC;DSN=P27R002-PCLV;UID=LeLogin;PWD=LeMotDePasse;DATABASE=P27R002-PCLV"



:
erreur de syntaxe

Celà semble plus sympathique mais il reste malgré tout du chemin à
faire







Je sens comme de l'ironie dans tes messages...

Essais cela s'il te plait :

Private daoConnection As DAO.Workspace
Private daoDatabase As DAO.Database

Private Function fctConnection()
Set daoConnection = CreateWorkspace("ODBCDirect", "Admin", "",
dbUseODBC)
strConnect > > > > > >



"ODBC;DSN=P27R002-PCLV;UID=LeLogin;PWD=LeMotDePasse;DATABASE=P27R002-PCLV"


'changer LeLogin, LeMotDePasse et LaBase
'Ouvrir une connexion
Set daoDatabase = daoConnection.OpenConnection("LaConnexion",
dbDriverNoPrompt, False, strConnect)
End Function

Avant d'avancer plus tentons de nous connecter.

"FFO" a écrit dans le message de
news:
nouveau paramétrage "Microsoft DAO XX Object Library" Ok
Ligne : Private daoConnection As daoDBEngine message erreur de
compilation



type défini par l'utilisateur non défini

Ligne : Set daoConnection = CreateWorkspace("ODBCDirect", "Admin",
"",





dbUseODBC) message erreur de compilation erreur de syntaxe

Ligne : strConnect > > > > > > >




"ODBC;DSN=P27R002-PCLV;UID=LeLogin;PWD=LeMotDePasse;DATABASE=P27R002-PCLV"


Message erreur compilation attendu numéro de ligne ou étiquette ou
instruction ou fin d'instruction
Ligne : Set daoDatabase = wrk.OpenConnection("LaConnexion",
dbDriverNoPrompt, False, strConnect) message erreur de compilation
erreur



de
syntaxe

Je te précise que pour obtenir les différent message j'inhibe
chaque





ligne
en erreur en les faisant précéder par une côte avant de lancer une
nouvelle

compilation

C'est grave docteur ????

L'enfant se présente mal mais les miracles celà existe !!!!

Merci pour tes doigts de fée





Non tu n'empiètes pas sur mon temps ;), je le fais par plaisir
si je






peux
aider.
Permier point, j'ai omis de t'indiquer de cocher dans
"Outils->Référence",


le choix : "Microsoft DAO XX Object Library" ou XX est un numéro
de






version
Deuxième point, la ligne est : "Private daoConnection as
daoDBEngine",




je
pense que le "F" devant le "P" est un soucis de copier-coller.

On va modifier la connection avec ces informations que je
n'avais






pas.
On va changer la fonction

Private function fctConnection()
Set daoConnection = CreateWorkspace("ODBCDirect",
"Admin",






"",
dbUseODBC)
strConnect > > > > > > > >
"ODBC;DSN=P27R002-PCLV;UID=LeLogin;PWD=LeMotDePasse;DATABASE=LaBase"






'changer LeLogin, LeMotDePasse et LaBase
'Ouvrir une connexion
Set daoDatabase = wrk.OpenConnection("LaConnexion",
dbDriverNoPrompt, False, strConnect)
end function


"FFO" a écrit dans le message de
news:
J'ai l'impression compte tenu d'une certaine complexité de
cette







opération
et
de mon maigre savoir en ce domaine que je suis sur le point
d'occuper





honteusement ton précieux temps
J'ose malgré tout abuser et te rendre compte du résultat aprés
un







simple
copier coler de ton code :

Access rouspète sur la première ligne prétextant qui l'attend
fiévreusement

une fin d'instruction en sélectionnant "as" :
FPrivate daoConnection as daoDBEngine

Forte inquiètude sur une des lignes suivantes d'un rouge
écarlate







(mauvais
signe) augurant un message pas trés sympathique de la part de
l'outil





que
je
ne peux connaitre pour l'instant tant que le premier n'est pas
résolu





:
Set daoDatabase = daoConnection .OpenDatabase(nomdBaseODBC,
false,







false, "ODBC;")

Je dois trés certainement à un endroit ou à un autre décliner
les







paramètre
de ma base ORACLE : où et de quelle manière ????
A l'export qui fonctionne admirablement bien le paramètrage
est







réalisé
ainsi :

Action : TransférerBase
Type transfert : Exportation
Type base : Base de données ODBC
Nom base : ODBC;DSN=P27R002-PCLV;PWD="mot de passe"
Type objet : Table
Source : "nom de la table sous access"
Destination : "nom de la table donné sous ORACLE"
Structure seulement : Non

Un certain nombre de ces informations doivent paraitre dans le
code





Tu voudras bien m'indiquer l'art et la manière

Mille fois Merci


Bonjour,

Je pensais que la table Oracle était une table liée à Access
via








ODBC.
Donc évidement la requête "SELECT..." ne fonctionne jamais
en








fait
donc
le
code (à juste raison) considère que la table n'existe pas,
donc








passe
toujours par la même chemin.

Donc c'est simple, on va créer une connection sur le serveur
Oracle,






se
connecter à la base et relancer la requete "Select..." sur
la








bonne
table
cette fois.

Actioooon (comme dirait une célèbre chanteuse si on peut
dire








;))

Private daoConnection as daoDBEngine
Private daoDatabase as DAO.Database





















Avatar
G.Genier
Bonjour,

Désolé j'ai raté ton msg d hier.

Non, non on avance bien :)

Le déclaration de la variable :
Private daoConnection As DAO.Workspace

Donc remplace ton wrk.OpenConnection, en daoConnection .OpenConnection.

En attente de ta réponse.

"FFO" a écrit dans le message de
news:
Aujourd'hui Jeudi 30/03/06 à la réouverture d'access la connection bug à
nouveau à la ligne :
Set daoDatabase = wrk.OpenConnection("LaConnexion", dbDriverNoPrompt,
False,

strConnect) message erreur "Objet requis"
Que s'est il passé depuis hier ???
Toujours est il qu'il faut constater une régression
Arriverais je un jours a traiter la présence d'une table sous Oracle à
partir d'access
celà me semble un but particulièrement ardu à atteindre
Merci pour toute aide

toujours plus fort !!! la bète est en passe d'être vaincu !!!!
Net progré
Je mexplique :
J'ai coché selon tes indications rubrique Référence le choix "Microsoft
DAO


3.5 Object Library"
Or un 2° choix similaire était possible mais échapé à ma vigileance
intitullé "Microsoft DAO 3.6 Object Library"
Rectification faite et oh! miracle la connexion a du s'effectuer car si
bug


il ya il se produit sur la 2° partie du code paragraphe "Function
exportTableToOracle()"
Ligne : fctConnection nomBaseODBC message erreur "incompatibilité de
type"



Un peu maigre comme information mais tu devrais certainement pouvoir en
tirer profit

Courage Courage le bout du tunnel n'est pas loin




Aaaahhh..., ca me paraissait tellement logique, dsl de pas y avoir
pensé



avant :p

Bon, dans Outils->Référence, vérifie que l'autre DAO Object est bien
coché.




Du coup en va en profiter pour vérifier la déclaration des variables
globales :

Ce code doit etre tout en haut cette ligne : Option Compare Database,
doit



normalement etre mise par défaut.
Option Compare Database
Private daoConnection As DAO.Workspace --> j'ai changé le type, peut
etre



que l'erreur vient de la
Private daoDatabase As DAO.Database


"FFO" a écrit dans le message de
news:
On avance on avance !!!!
effectivement tu as vu juste en rectifiant la disposition des lignes
la




compilation à appréciée ne relevant plus d'erreur
Les ennuies ne sont pas fini pour autant car à l'exucution du code
via la




macro access rouspète encore (il falait bien que son mauvais
caractère




s'exprime encore !!!) avec comme message d'erreur :

Ligne Set daoConnection = CreateWorkspace("ODBCDirect", "Admin", "",
dbUseODBC) message erreur "un composant ActiveX ne peut pas créer
l'objet"





Qu'en penses tu ???


D'accord :)

Ce qui est étrange c'est que j'ai sous les yeux ce même code et qu
il ne





me
met aucune erreur de syntaxe :/
Attention, j'ai peur que les lignes ne soient coupés.

Dans ce cas il faut mettre comme ça :

Set daoConnection = CreateWorkspace("ODBCDirect", "Admin", "",
dbUseODBC) ->


sur une seule ligne !

strConnect > > > > >



"ODBC;DSN=P27R002-PCLV;UID=LeLogin;PWD=LeMotDePasse;DATABASE=P27R002-PCLV" -



sur une seule ligne !


Set daoDatabase > > > > > daoConnection.OpenConnection("LaConnexion",dbDriverNoPrompt,
False,





strConnect) -> sur une seule ligne !

Si tu veux mettre sur deux lignes il faut utiliser le signes "_"
entre





deux
lignes ex :
je commence ici _
et je termine la


"FFO" a écrit dans le message de
news:
Je tiens d'abord à te rassurer aucune ironie à ton égard trop
content






de
trouver une main secourable toute dévouée à ma cause
Non juste un brin d'humour devant cette adversité informatique
pour






travailler de concert en toute décontraction alors que les
évennements






s'acharnant contre nous pourrait provoquer un peu de crispation

Voici donc le résultat du nouveau code :

ligne Set daoConnection = CreateWorkspace("ODBCDirect", "Admin",
"",






dbUseODBC) : erreur de syntaxe


Ligne Set daoDatabase daoConnection.OpenConnection("LaConnexion",
dbDriverNoPrompt, False, strConnect) : erreur de syntaxe

Ligne strConnect > > > > > >




"ODBC;DSN=P27R002-PCLV;UID=LeLogin;PWD=LeMotDePasse;DATABASE=P27R002-PCLV"



:
erreur de syntaxe

Celà semble plus sympathique mais il reste malgré tout du chemin
à






faire




Je sens comme de l'ironie dans tes messages...

Essais cela s'il te plait :

Private daoConnection As DAO.Workspace
Private daoDatabase As DAO.Database

Private Function fctConnection()
Set daoConnection = CreateWorkspace("ODBCDirect", "Admin",
"",







dbUseODBC)
strConnect > > > > > > >






"ODBC;DSN=P27R002-PCLV;UID=LeLogin;PWD=LeMotDePasse;DATABASE=P27R002-PCLV"



'changer LeLogin, LeMotDePasse et LaBase
'Ouvrir une connexion
Set daoDatabase = daoConnection.OpenConnection("LaConnexio
n",







dbDriverNoPrompt, False, strConnect)
End Function

Avant d'avancer plus tentons de nous connecter.

"FFO" a écrit dans le message
de







news:
nouveau paramétrage "Microsoft DAO XX Object Library" Ok
Ligne : Private daoConnection As daoDBEngine message erreur
de








compilation
type défini par l'utilisateur non défini

Ligne : Set daoConnection = CreateWorkspace("ODBCDirect",
"Admin",








"",
dbUseODBC) message erreur de compilation erreur de syntaxe

Ligne : strConnect > > > > > > > >







"ODBC;DSN=P27R002-PCLV;UID=LeLogin;PWD=LeMotDePasse;DATABASE=P27R002-PCLV"



Message erreur compilation attendu numéro de ligne ou
étiquette ou








instruction ou fin d'instruction
Ligne : Set daoDatabase = wrk.OpenConnection("LaConnexion",
dbDriverNoPrompt, False, strConnect) message erreur de
compilation








erreur
de
syntaxe

Je te précise que pour obtenir les différent message
j'inhibe








chaque
ligne
en erreur en les faisant précéder par une côte avant de
lancer une








nouvelle
compilation

C'est grave docteur ????

L'enfant se présente mal mais les miracles celà existe !!!!

Merci pour tes doigts de fée





Non tu n'empiètes pas sur mon temps ;), je le fais par
plaisir









si je
peux
aider.
Permier point, j'ai omis de t'indiquer de cocher dans
"Outils->Référence",


le choix : "Microsoft DAO XX Object Library" ou XX est un
numéro









de
version
Deuxième point, la ligne est : "Private daoConnection as
daoDBEngine",




je
pense que le "F" devant le "P" est un soucis de
copier-coller.










On va modifier la connection avec ces informations que je
n'avais






pas.
On va changer la fonction

Private function fctConnection()
Set daoConnection = CreateWorkspace("ODBCDirect",
"Admin",






"",
dbUseODBC)
strConnect > > > > > > > > >
"ODBC;DSN=P27R002-PCLV;UID=LeLogin;PWD=LeMotDePasse;DATABASE=LaBase"






'changer LeLogin, LeMotDePasse et LaBase
'Ouvrir une connexion
Set daoDatabase wrk.OpenConnection("LaConnexion",
dbDriverNoPrompt, False, strConnect)
end function


"FFO" a écrit dans le
message de









news:
J'ai l'impression compte tenu d'une certaine complexité
de










cette
opération
et
de mon maigre savoir en ce domaine que je suis sur le
point










d'occuper
honteusement ton précieux temps
J'ose malgré tout abuser et te rendre compte du résultat
aprés










un
simple
copier coler de ton code :

Access rouspète sur la première ligne prétextant qui
l'attend










fiévreusement
une fin d'instruction en sélectionnant "as" :
FPrivate daoConnection as daoDBEngine

Forte inquiètude sur une des lignes suivantes d'un rouge
écarlate







(mauvais
signe) augurant un message pas trés sympathique de la
part de










l'outil
que
je
ne peux connaitre pour l'instant tant que le premier
n'est pas










résolu
:
Set daoDatabase = daoConnection
.OpenDatabase(nomdBaseODBC,










false,
false, "ODBC;")

Je dois trés certainement à un endroit ou à un autre
décliner










les
paramètre
de ma base ORACLE : où et de quelle manière ????
A l'export qui fonctionne admirablement bien le
paramètrage










est
réalisé
ainsi :

Action : TransférerBase
Type transfert : Exportation
Type base : Base de données ODBC
Nom base : ODBC;DSN=P27R002-PCLV;PWD="mot de passe"
Type objet : Table
Source : "nom de la table sous access"
Destination : "nom de la table donné sous ORACLE"
Structure seulement : Non

Un certain nombre de ces informations doivent paraitre
dans le










code
Tu voudras bien m'indiquer l'art et la manière

Mille fois Merci


Bonjour,

Je pensais que la table Oracle était une table liée à
Access











via
ODBC.
Donc évidement la requête "SELECT..." ne fonctionne
jamais











en
fait
donc
le
code (à juste raison) considère que la table n'existe
pas,











donc
passe
toujours par la même chemin.

Donc c'est simple, on va créer une connection sur le
serveur











Oracle,
se
connecter à la base et relancer la requete "Select..."
sur











la
bonne
table
cette fois.

Actioooon (comme dirait une célèbre chanteuse si on
peut











dire
;))

Private daoConnection as daoDBEngine
Private daoDatabase as DAO.Database























Avatar
FFO
C'est mieux !!!
Je retombe sur la situation précédente qui semble indiquée l'établissement
de la connection mais avec ce fameux bug exprimé dans mon message
:
Phase "Function exportTableToOracle()"
Ligne : fctConnection nomBaseODBC message erreur "incompatibilité de type"

J'espère que celà te dit quelque chose
Dans l'attente

Bonjour,

Désolé j'ai raté ton msg d hier.

Non, non on avance bien :)

Le déclaration de la variable :
Private daoConnection As DAO.Workspace

Donc remplace ton wrk.OpenConnection, en daoConnection .OpenConnection.

En attente de ta réponse.

"FFO" a écrit dans le message de
news:
Aujourd'hui Jeudi 30/03/06 à la réouverture d'access la connection bug à
nouveau à la ligne :
Set daoDatabase = wrk.OpenConnection("LaConnexion", dbDriverNoPrompt,
False,

strConnect) message erreur "Objet requis"
Que s'est il passé depuis hier ???
Toujours est il qu'il faut constater une régression
Arriverais je un jours a traiter la présence d'une table sous Oracle à
partir d'access
celà me semble un but particulièrement ardu à atteindre
Merci pour toute aide

toujours plus fort !!! la bète est en passe d'être vaincu !!!!
Net progré
Je mexplique :
J'ai coché selon tes indications rubrique Référence le choix "Microsoft
DAO


3.5 Object Library"
Or un 2° choix similaire était possible mais échapé à ma vigileance
intitullé "Microsoft DAO 3.6 Object Library"
Rectification faite et oh! miracle la connexion a du s'effectuer car si
bug


il ya il se produit sur la 2° partie du code paragraphe "Function
exportTableToOracle()"
Ligne : fctConnection nomBaseODBC message erreur "incompatibilité de
type"



Un peu maigre comme information mais tu devrais certainement pouvoir en
tirer profit

Courage Courage le bout du tunnel n'est pas loin




Aaaahhh..., ca me paraissait tellement logique, dsl de pas y avoir
pensé



avant :p

Bon, dans Outils->Référence, vérifie que l'autre DAO Object est bien
coché.




Du coup en va en profiter pour vérifier la déclaration des variables
globales :

Ce code doit etre tout en haut cette ligne : Option Compare Database,
doit



normalement etre mise par défaut.
Option Compare Database
Private daoConnection As DAO.Workspace --> j'ai changé le type, peut
etre



que l'erreur vient de la
Private daoDatabase As DAO.Database


"FFO" a écrit dans le message de
news:
On avance on avance !!!!
effectivement tu as vu juste en rectifiant la disposition des lignes
la




compilation à appréciée ne relevant plus d'erreur
Les ennuies ne sont pas fini pour autant car à l'exucution du code
via la




macro access rouspète encore (il falait bien que son mauvais
caractère




s'exprime encore !!!) avec comme message d'erreur :

Ligne Set daoConnection = CreateWorkspace("ODBCDirect", "Admin", "",
dbUseODBC) message erreur "un composant ActiveX ne peut pas créer
l'objet"





Qu'en penses tu ???


D'accord :)

Ce qui est étrange c'est que j'ai sous les yeux ce même code et qu
il ne





me
met aucune erreur de syntaxe :/
Attention, j'ai peur que les lignes ne soient coupés.

Dans ce cas il faut mettre comme ça :

Set daoConnection = CreateWorkspace("ODBCDirect", "Admin", "",
dbUseODBC) ->


sur une seule ligne !

strConnect > > > > > >



"ODBC;DSN=P27R002-PCLV;UID=LeLogin;PWD=LeMotDePasse;DATABASE=P27R002-PCLV" -



sur une seule ligne !


Set daoDatabase > > > > > > daoConnection.OpenConnection("LaConnexion",dbDriverNoPrompt,
False,





strConnect) -> sur une seule ligne !

Si tu veux mettre sur deux lignes il faut utiliser le signes "_"
entre





deux
lignes ex :
je commence ici _
et je termine la


"FFO" a écrit dans le message de
news:
Je tiens d'abord à te rassurer aucune ironie à ton égard trop
content






de
trouver une main secourable toute dévouée à ma cause
Non juste un brin d'humour devant cette adversité informatique
pour






travailler de concert en toute décontraction alors que les
évennements






s'acharnant contre nous pourrait provoquer un peu de crispation

Voici donc le résultat du nouveau code :

ligne Set daoConnection = CreateWorkspace("ODBCDirect", "Admin",
"",






dbUseODBC) : erreur de syntaxe


Ligne Set daoDatabase > daoConnection.OpenConnection("LaConnexion",
dbDriverNoPrompt, False, strConnect) : erreur de syntaxe

Ligne strConnect > > > > > > >




"ODBC;DSN=P27R002-PCLV;UID=LeLogin;PWD=LeMotDePasse;DATABASE=P27R002-PCLV"



:
erreur de syntaxe

Celà semble plus sympathique mais il reste malgré tout du chemin
à






faire




Je sens comme de l'ironie dans tes messages...

Essais cela s'il te plait :

Private daoConnection As DAO.Workspace
Private daoDatabase As DAO.Database

Private Function fctConnection()
Set daoConnection = CreateWorkspace("ODBCDirect", "Admin",
"",







dbUseODBC)
strConnect > > > > > > > >






"ODBC;DSN=P27R002-PCLV;UID=LeLogin;PWD=LeMotDePasse;DATABASE=P27R002-PCLV"



'changer LeLogin, LeMotDePasse et LaBase
'Ouvrir une connexion
Set daoDatabase = daoConnection.OpenConnection("LaConnexio
n",







dbDriverNoPrompt, False, strConnect)
End Function

Avant d'avancer plus tentons de nous connecter.

"FFO" a écrit dans le message
de







news:
nouveau paramétrage "Microsoft DAO XX Object Library" Ok
Ligne : Private daoConnection As daoDBEngine message erreur
de








compilation
type défini par l'utilisateur non défini

Ligne : Set daoConnection = CreateWorkspace("ODBCDirect",
"Admin",








"",
dbUseODBC) message erreur de compilation erreur de syntaxe

Ligne : strConnect > > > > > > > > >







"ODBC;DSN=P27R002-PCLV;UID=LeLogin;PWD=LeMotDePasse;DATABASE=P27R002-PCLV"



Message erreur compilation attendu numéro de ligne ou
étiquette ou








instruction ou fin d'instruction
Ligne : Set daoDatabase = wrk.OpenConnection("LaConnexion",
dbDriverNoPrompt, False, strConnect) message erreur de
compilation








erreur
de
syntaxe

Je te précise que pour obtenir les différent message
j'inhibe








chaque
ligne
en erreur en les faisant précéder par une côte avant de
lancer une








nouvelle
compilation

C'est grave docteur ????

L'enfant se présente mal mais les miracles celà existe !!!!

Merci pour tes doigts de fée





Non tu n'empiètes pas sur mon temps ;), je le fais par
plaisir









si je
peux
aider.
Permier point, j'ai omis de t'indiquer de cocher dans
"Outils->Référence",


le choix : "Microsoft DAO XX Object Library" ou XX est un
numéro









de
version
Deuxième point, la ligne est : "Private daoConnection as
daoDBEngine",




je
pense que le "F" devant le "P" est un soucis de
copier-coller.










On va modifier la connection avec ces informations que je
n'avais






pas.
On va changer la fonction

Private function fctConnection()
Set daoConnection = CreateWorkspace("ODBCDirect",
"Admin",






"",
dbUseODBC)
strConnect > > > > > > > > > >
"ODBC;DSN=P27R002-PCLV;UID=LeLogin;PWD=LeMotDePasse;DATABASE=LaBase"






'changer LeLogin, LeMotDePasse et LaBase
'Ouvrir une connexion
Set daoDatabase > wrk.OpenConnection("LaConnexion",
dbDriverNoPrompt, False, strConnect)
end function


"FFO" a écrit dans le
message de









news:
J'ai l'impression compte tenu d'une certaine complexité
de










cette
opération
et
de mon maigre savoir en ce domaine que je suis sur le
point










d'occuper
honteusement ton précieux temps
J'ose malgré tout abuser et te rendre compte du résultat
aprés










un
simple
copier coler de ton code :

Access rouspète sur la première ligne prétextant qui
l'attend










fiévreusement
une fin d'instruction en sélectionnant "as" :
FPrivate daoConnection as daoDBEngine

Forte inquiètude sur une des lignes suivantes d'un rouge






















Avatar
G.Genier
Enleve le nomBase apres fctConnection, la fonction ne prend plus d'argument.

donc cela donne : fctConnection


"FFO" a écrit dans le message de
news:
C'est mieux !!!
Je retombe sur la situation précédente qui semble indiquée l'établissement
de la connection mais avec ce fameux bug exprimé dans mon message
:
Phase "Function exportTableToOracle()"
Ligne : fctConnection nomBaseODBC message erreur "incompatibilité de type"

J'espère que celà te dit quelque chose
Dans l'attente

Bonjour,

Désolé j'ai raté ton msg d hier.

Non, non on avance bien :)

Le déclaration de la variable :
Private daoConnection As DAO.Workspace

Donc remplace ton wrk.OpenConnection, en daoConnection .OpenConnection.

En attente de ta réponse.

"FFO" a écrit dans le message de
news:
Aujourd'hui Jeudi 30/03/06 à la réouverture d'access la connection bug
à



nouveau à la ligne :
Set daoDatabase = wrk.OpenConnection("LaConnexion", dbDriverNoPrompt,
False,

strConnect) message erreur "Objet requis"
Que s'est il passé depuis hier ???
Toujours est il qu'il faut constater une régression
Arriverais je un jours a traiter la présence d'une table sous Oracle à
partir d'access
celà me semble un but particulièrement ardu à atteindre
Merci pour toute aide

toujours plus fort !!! la bète est en passe d'être vaincu !!!!
Net progré
Je mexplique :
J'ai coché selon tes indications rubrique Référence le choix
"Microsoft




DAO
3.5 Object Library"
Or un 2° choix similaire était possible mais échapé à ma vigileance
intitullé "Microsoft DAO 3.6 Object Library"
Rectification faite et oh! miracle la connexion a du s'effectuer
car si




bug
il ya il se produit sur la 2° partie du code paragraphe "Function
exportTableToOracle()"
Ligne : fctConnection nomBaseODBC message erreur "incompatibilité
de




type"

Un peu maigre comme information mais tu devrais certainement pouvoir
en




tirer profit

Courage Courage le bout du tunnel n'est pas loin




Aaaahhh..., ca me paraissait tellement logique, dsl de pas y avoir
pensé



avant :p

Bon, dans Outils->Référence, vérifie que l'autre DAO Object est
bien





coché.

Du coup en va en profiter pour vérifier la déclaration des
variables





globales :

Ce code doit etre tout en haut cette ligne : Option Compare
Database,





doit
normalement etre mise par défaut.
Option Compare Database
Private daoConnection As DAO.Workspace --> j'ai changé le type,
peut





etre
que l'erreur vient de la
Private daoDatabase As DAO.Database


"FFO" a écrit dans le message de
news:
On avance on avance !!!!
effectivement tu as vu juste en rectifiant la disposition des
lignes






la
compilation à appréciée ne relevant plus d'erreur
Les ennuies ne sont pas fini pour autant car à l'exucution du
code






via la
macro access rouspète encore (il falait bien que son mauvais
caractère




s'exprime encore !!!) avec comme message d'erreur :

Ligne Set daoConnection = CreateWorkspace("ODBCDirect", "Admin",
"",






dbUseODBC) message erreur "un composant ActiveX ne peut pas
créer






l'objet"

Qu'en penses tu ???


D'accord :)

Ce qui est étrange c'est que j'ai sous les yeux ce même code
et qu







il ne
me
met aucune erreur de syntaxe :/
Attention, j'ai peur que les lignes ne soient coupés.

Dans ce cas il faut mettre comme ça :

Set daoConnection = CreateWorkspace("ODBCDirect", "Admin", "",
dbUseODBC) ->


sur une seule ligne !

strConnect > > > > > > >







"ODBC;DSN=P27R002-PCLV;UID=LeLogin;PWD=LeMotDePasse;DATABASE=P27R002-PCLV" -


sur une seule ligne !


Set daoDatabase > > > > > > > daoConnection.OpenConnection("LaConnexion",dbDriverNoPrompt,
False,





strConnect) -> sur une seule ligne !

Si tu veux mettre sur deux lignes il faut utiliser le signes
"_"







entre
deux
lignes ex :
je commence ici _
et je termine la


"FFO" a écrit dans le message
de







news:
Je tiens d'abord à te rassurer aucune ironie à ton égard
trop








content
de
trouver une main secourable toute dévouée à ma cause
Non juste un brin d'humour devant cette adversité
informatique








pour
travailler de concert en toute décontraction alors que les
évennements






s'acharnant contre nous pourrait provoquer un peu de
crispation









Voici donc le résultat du nouveau code :

ligne Set daoConnection = CreateWorkspace("ODBCDirect",
"Admin",








"",
dbUseODBC) : erreur de syntaxe


Ligne Set daoDatabase > > daoConnection.OpenConnection("LaConnexion",
dbDriverNoPrompt, False, strConnect) : erreur de syntaxe

Ligne strConnect > > > > > > > >








"ODBC;DSN=P27R002-PCLV;UID=LeLogin;PWD=LeMotDePasse;DATABASE=P27R002-PCLV"


:
erreur de syntaxe

Celà semble plus sympathique mais il reste malgré tout du
chemin








à
faire




Je sens comme de l'ironie dans tes messages...

Essais cela s'il te plait :

Private daoConnection As DAO.Workspace
Private daoDatabase As DAO.Database

Private Function fctConnection()
Set daoConnection = CreateWorkspace("ODBCDirect",
"Admin",









"",
dbUseODBC)
strConnect > > > > > > > > >










"ODBC;DSN=P27R002-PCLV;UID=LeLogin;PWD=LeMotDePasse;DATABASE=P27R002-PCLV"


'changer LeLogin, LeMotDePasse et LaBase
'Ouvrir une connexion
Set daoDatabase daoConnection.OpenConnection("LaConnexio
n",







dbDriverNoPrompt, False, strConnect)
End Function

Avant d'avancer plus tentons de nous connecter.

"FFO" a écrit dans le
message









de
news:
nouveau paramétrage "Microsoft DAO XX Object Library" Ok
Ligne : Private daoConnection As daoDBEngine message
erreur










de
compilation
type défini par l'utilisateur non défini

Ligne : Set daoConnection CreateWorkspace("ODBCDirect",
"Admin",








"",
dbUseODBC) message erreur de compilation erreur de
syntaxe











Ligne : strConnect > > > > > > > > > >











"ODBC;DSN=P27R002-PCLV;UID=LeLogin;PWD=LeMotDePasse;DATABASE=P27R002-PCLV"


Message erreur compilation attendu numéro de ligne ou
étiquette ou








instruction ou fin d'instruction
Ligne : Set daoDatabase wrk.OpenConnection("LaConnexion",
dbDriverNoPrompt, False, strConnect) message erreur de
compilation








erreur
de
syntaxe

Je te précise que pour obtenir les différent message
j'inhibe








chaque
ligne
en erreur en les faisant précéder par une côte avant de
lancer une








nouvelle
compilation

C'est grave docteur ????

L'enfant se présente mal mais les miracles celà existe
!!!!











Merci pour tes doigts de fée





Non tu n'empiètes pas sur mon temps ;), je le fais par
plaisir









si je
peux
aider.
Permier point, j'ai omis de t'indiquer de cocher dans
"Outils->Référence",


le choix : "Microsoft DAO XX Object Library" ou XX est
un











numéro
de
version
Deuxième point, la ligne est : "Private daoConnection
as











daoDBEngine",
je
pense que le "F" devant le "P" est un soucis de
copier-coller.










On va modifier la connection avec ces informations que
je











n'avais
pas.
On va changer la fonction

Private function fctConnection()
Set daoConnection CreateWorkspace("ODBCDirect",
"Admin",






"",
dbUseODBC)
strConnect > > > > > > > > > > >







"ODBC;DSN=P27R002-PCLV;UID=LeLogin;PWD=LeMotDePasse;DATABASE=LaBase"





'changer LeLogin, LeMotDePasse et LaBase
'Ouvrir une connexion
Set daoDatabase > > wrk.OpenConnection("LaConnexion",
dbDriverNoPrompt, False, strConnect)
end function


"FFO" a écrit dans le
message de










news:











J'ai l'impression compte tenu d'une certaine
complexité












de
cette
opération
et
de mon maigre savoir en ce domaine que je suis sur
le












point
d'occuper
honteusement ton précieux temps
J'ose malgré tout abuser et te rendre compte du
résultat












aprés
un
simple
copier coler de ton code :

Access rouspète sur la première ligne prétextant qui
l'attend










fiévreusement
une fin d'instruction en sélectionnant "as" :
FPrivate daoConnection as daoDBEngine

Forte inquiètude sur une des lignes suivantes d'un
rouge
























Avatar
FFO
On progresse toujours mais avec un nouvel arrêt
Ligne :
daoDatabase.Execute "maMacroTransfert" message erreur ODBC--L'appel à échoué

Ce qui m'étonne c'est que la table sous Oracle est volontairement présente
pour juger par le fonctionnement de la macro et donc du code de sa
suppression automatique
Or l'éxécution du code s'enchaine directement sur la 2° partie celle qui
traite la situation où il n'y a pas de table à supprimer (noDropTable) alors
qu'elle est présente
Si je force son éxécution sur la première partie en inhibant son renvoi vers
la 2° (ajout d'une cote sur la ligne 'On Error GoTo noDropTable) l'arrêt
s'oppère sur la ligne : daoDatabase.Execute chSQL avec le même message

Il semble en fait que la communication n'est pas pu s'établir mais pour
quelle cause ???

Une nouvelle enigme à résoudre !!!!

Enleve le nomBase apres fctConnection, la fonction ne prend plus d'argument.

donc cela donne : fctConnection


"FFO" a écrit dans le message de
news:
C'est mieux !!!
Je retombe sur la situation précédente qui semble indiquée l'établissement
de la connection mais avec ce fameux bug exprimé dans mon message
:
Phase "Function exportTableToOracle()"
Ligne : fctConnection nomBaseODBC message erreur "incompatibilité de type"

J'espère que celà te dit quelque chose
Dans l'attente

Bonjour,

Désolé j'ai raté ton msg d hier.

Non, non on avance bien :)

Le déclaration de la variable :
Private daoConnection As DAO.Workspace

Donc remplace ton wrk.OpenConnection, en daoConnection .OpenConnection.

En attente de ta réponse.

"FFO" a écrit dans le message de
news:
Aujourd'hui Jeudi 30/03/06 à la réouverture d'access la connection bug
à



nouveau à la ligne :
Set daoDatabase = wrk.OpenConnection("LaConnexion", dbDriverNoPrompt,
False,

strConnect) message erreur "Objet requis"
Que s'est il passé depuis hier ???
Toujours est il qu'il faut constater une régression
Arriverais je un jours a traiter la présence d'une table sous Oracle à
partir d'access
celà me semble un but particulièrement ardu à atteindre
Merci pour toute aide

toujours plus fort !!! la bète est en passe d'être vaincu !!!!
Net progré
Je mexplique :
J'ai coché selon tes indications rubrique Référence le choix
"Microsoft




DAO
3.5 Object Library"
Or un 2° choix similaire était possible mais échapé à ma vigileance
intitullé "Microsoft DAO 3.6 Object Library"
Rectification faite et oh! miracle la connexion a du s'effectuer
car si




bug
il ya il se produit sur la 2° partie du code paragraphe "Function
exportTableToOracle()"
Ligne : fctConnection nomBaseODBC message erreur "incompatibilité
de




type"

Un peu maigre comme information mais tu devrais certainement pouvoir
en




tirer profit

Courage Courage le bout du tunnel n'est pas loin




Aaaahhh..., ca me paraissait tellement logique, dsl de pas y avoir
pensé



avant :p

Bon, dans Outils->Référence, vérifie que l'autre DAO Object est
bien





coché.

Du coup en va en profiter pour vérifier la déclaration des
variables





globales :

Ce code doit etre tout en haut cette ligne : Option Compare
Database,





doit
normalement etre mise par défaut.
Option Compare Database
Private daoConnection As DAO.Workspace --> j'ai changé le type,
peut





etre
que l'erreur vient de la
Private daoDatabase As DAO.Database


"FFO" a écrit dans le message de
news:
On avance on avance !!!!
effectivement tu as vu juste en rectifiant la disposition des
lignes






la
compilation à appréciée ne relevant plus d'erreur
Les ennuies ne sont pas fini pour autant car à l'exucution du
code






via la
macro access rouspète encore (il falait bien que son mauvais
caractère




s'exprime encore !!!) avec comme message d'erreur :

Ligne Set daoConnection = CreateWorkspace("ODBCDirect", "Admin",
"",






dbUseODBC) message erreur "un composant ActiveX ne peut pas
créer






l'objet"

Qu'en penses tu ???


D'accord :)

Ce qui est étrange c'est que j'ai sous les yeux ce même code
et qu







il ne
me
met aucune erreur de syntaxe :/
Attention, j'ai peur que les lignes ne soient coupés.

Dans ce cas il faut mettre comme ça :

Set daoConnection = CreateWorkspace("ODBCDirect", "Admin", "",
dbUseODBC) ->


sur une seule ligne !

strConnect > > > > > > > >







"ODBC;DSN=P27R002-PCLV;UID=LeLogin;PWD=LeMotDePasse;DATABASE=P27R002-PCLV" -


sur une seule ligne !


Set daoDatabase > > > > > > > > daoConnection.OpenConnection("LaConnexion",dbDriverNoPrompt,
False,





strConnect) -> sur une seule ligne !

Si tu veux mettre sur deux lignes il faut utiliser le signes
"_"







entre
deux
lignes ex :
je commence ici _
et je termine la


"FFO" a écrit dans le message
de







news:
Je tiens d'abord à te rassurer aucune ironie à ton égard
trop








content
de
trouver une main secourable toute dévouée à ma cause
Non juste un brin d'humour devant cette adversité
informatique








pour
travailler de concert en toute décontraction alors que les
évennements






s'acharnant contre nous pourrait provoquer un peu de
crispation









Voici donc le résultat du nouveau code :

ligne Set daoConnection = CreateWorkspace("ODBCDirect",
"Admin",








"",
dbUseODBC) : erreur de syntaxe


Ligne Set daoDatabase > > > daoConnection.OpenConnection("LaConnexion",
dbDriverNoPrompt, False, strConnect) : erreur de syntaxe

Ligne strConnect > > > > > > > > >








"ODBC;DSN=P27R002-PCLV;UID=LeLogin;PWD=LeMotDePasse;DATABASE=P27R002-PCLV"


:
erreur de syntaxe

Celà semble plus sympathique mais il reste malgré tout du
chemin








à
faire




Je sens comme de l'ironie dans tes messages...

Essais cela s'il te plait :

Private daoConnection As DAO.Workspace
Private daoDatabase As DAO.Database

Private Function fctConnection()
Set daoConnection = CreateWorkspace("ODBCDirect",
"Admin",









"",
dbUseODBC)
strConnect > > > > > > > > > >










"ODBC;DSN=P27R002-PCLV;UID=LeLogin;PWD=LeMotDePasse;DATABASE=P27R002-PCLV"


'changer LeLogin, LeMotDePasse et LaBase
'Ouvrir une connexion
Set daoDatabase > daoConnection.OpenConnection("LaConnexio
n",







dbDriverNoPrompt, False, strConnect)
End Function

Avant d'avancer plus tentons de nous connecter.

"FFO" a écrit dans le
message









de
news:
nouveau paramétrage "Microsoft DAO XX Object Library" Ok
Ligne : Private daoConnection As daoDBEngine message
erreur










de
compilation
type défini par l'utilisateur non défini

Ligne : Set daoConnection > CreateWorkspace("ODBCDirect",
"Admin",








"",
dbUseODBC) message erreur de compilation erreur de
syntaxe











Ligne : strConnect > > > > > > > > > > >











"ODBC;DSN=P27R002-PCLV;UID=LeLogin;PWD=LeMotDePasse;DATABASE=P27R002-PCLV"


Message erreur compilation attendu numéro de ligne ou
étiquette ou








instruction ou fin d'instruction
Ligne : Set daoDatabase > wrk.OpenConnection("LaConnexion",
dbDriverNoPrompt, False, strConnect) message erreur de
compilation








erreur
de
syntaxe

Je te précise que pour obtenir les différent message
j'inhibe








chaque
ligne
en erreur en les faisant précéder par une côte avant de
lancer une








nouvelle
compilation

C'est grave docteur ????

L'enfant se présente mal mais les miracles celà existe
!!!!











Merci pour tes doigts de fée





Non tu n'empiètes pas sur mon temps ;), je le fais par
plaisir









si je
peux
aider.
Permier point, j'ai omis de t'indiquer de cocher dans
"Outils->Référence",


le choix : "Microsoft DAO XX Object Library" ou XX est
un











numéro
de
version






















Avatar
G.Genier
Ne nous laissons pas abattre !

Private daoConnection as daoDBEngine
Private daoDatabase as DAO.Database

Private Function fctConnection()
Set daoConnection = DBEngine.Workspaces(0)
Set daoDatabase = daoConnection .OpenDatabase("", false, false,
"ODBC;DSN=P27R002-PCLV;USR=scott;PWD=tiger")
End function

N'oublis pas de modifier le USR=tonLogin et PWD=tonPassword

Est ce que comme ça c'est mieux ?

Dans l'attente de ton retour.

"FFO" a écrit dans le message de
news:
On progresse toujours mais avec un nouvel arrêt
Ligne :
daoDatabase.Execute "maMacroTransfert" message erreur ODBC--L'appel à
échoué


Ce qui m'étonne c'est que la table sous Oracle est volontairement présente
pour juger par le fonctionnement de la macro et donc du code de sa
suppression automatique
Or l'éxécution du code s'enchaine directement sur la 2° partie celle qui
traite la situation où il n'y a pas de table à supprimer (noDropTable)
alors

qu'elle est présente
Si je force son éxécution sur la première partie en inhibant son renvoi
vers

la 2° (ajout d'une cote sur la ligne 'On Error GoTo noDropTable) l'arrêt
s'oppère sur la ligne : daoDatabase.Execute chSQL avec le même message

Il semble en fait que la communication n'est pas pu s'établir mais pour
quelle cause ???

Une nouvelle enigme à résoudre !!!!

Enleve le nomBase apres fctConnection, la fonction ne prend plus
d'argument.



donc cela donne : fctConnection


"FFO" a écrit dans le message de
news:
C'est mieux !!!
Je retombe sur la situation précédente qui semble indiquée
l'établissement



de la connection mais avec ce fameux bug exprimé dans mon message
:
Phase "Function exportTableToOracle()"
Ligne : fctConnection nomBaseODBC message erreur "incompatibilité de
type"




J'espère que celà te dit quelque chose
Dans l'attente

Bonjour,

Désolé j'ai raté ton msg d hier.

Non, non on avance bien :)

Le déclaration de la variable :
Private daoConnection As DAO.Workspace

Donc remplace ton wrk.OpenConnection, en daoConnection
.OpenConnection.





En attente de ta réponse.

"FFO" a écrit dans le message de
news:
Aujourd'hui Jeudi 30/03/06 à la réouverture d'access la connection
bug





à
nouveau à la ligne :
Set daoDatabase = wrk.OpenConnection("LaConnexion",
dbDriverNoPrompt,





False,
strConnect) message erreur "Objet requis"
Que s'est il passé depuis hier ???
Toujours est il qu'il faut constater une régression
Arriverais je un jours a traiter la présence d'une table sous
Oracle à





partir d'access
celà me semble un but particulièrement ardu à atteindre
Merci pour toute aide

toujours plus fort !!! la bète est en passe d'être vaincu !!!!
Net progré
Je mexplique :
J'ai coché selon tes indications rubrique Référence le choix
"Microsoft




DAO
3.5 Object Library"
Or un 2° choix similaire était possible mais échapé à ma
vigileance






intitullé "Microsoft DAO 3.6 Object Library"
Rectification faite et oh! miracle la connexion a du
s'effectuer






car si
bug
il ya il se produit sur la 2° partie du code paragraphe
"Function






exportTableToOracle()"
Ligne : fctConnection nomBaseODBC message erreur
"incompatibilité






de
type"

Un peu maigre comme information mais tu devrais certainement
pouvoir






en
tirer profit

Courage Courage le bout du tunnel n'est pas loin




Aaaahhh..., ca me paraissait tellement logique, dsl de pas y
avoir







pensé
avant :p

Bon, dans Outils->Référence, vérifie que l'autre DAO Object
est







bien
coché.

Du coup en va en profiter pour vérifier la déclaration des
variables





globales :

Ce code doit etre tout en haut cette ligne : Option Compare
Database,





doit
normalement etre mise par défaut.
Option Compare Database
Private daoConnection As DAO.Workspace --> j'ai changé le
type,







peut
etre
que l'erreur vient de la
Private daoDatabase As DAO.Database


"FFO" a écrit dans le message
de







news:
On avance on avance !!!!
effectivement tu as vu juste en rectifiant la disposition
des








lignes
la
compilation à appréciée ne relevant plus d'erreur
Les ennuies ne sont pas fini pour autant car à l'exucution
du








code
via la
macro access rouspète encore (il falait bien que son mauvais
caractère




s'exprime encore !!!) avec comme message d'erreur :

Ligne Set daoConnection = CreateWorkspace("ODBCDirect",
"Admin",








"",
dbUseODBC) message erreur "un composant ActiveX ne peut pas
créer






l'objet"

Qu'en penses tu ???


D'accord :)

Ce qui est étrange c'est que j'ai sous les yeux ce même
code









et qu
il ne
me
met aucune erreur de syntaxe :/
Attention, j'ai peur que les lignes ne soient coupés.

Dans ce cas il faut mettre comme ça :

Set daoConnection = CreateWorkspace("ODBCDirect", "Admin",
"",









dbUseODBC) ->
sur une seule ligne !

strConnect > > > > > > > > >










"ODBC;DSN=P27R002-PCLV;UID=LeLogin;PWD=LeMotDePasse;DATABASE=P27R002-PCLV" -


sur une seule ligne !


Set daoDatabase > > > > > > > > >
daoConnection.OpenConnection("LaConnexion",dbDriverNoPrompt,









False,
strConnect) -> sur une seule ligne !

Si tu veux mettre sur deux lignes il faut utiliser le
signes









"_"
entre
deux
lignes ex :
je commence ici _
et je termine la


"FFO" a écrit dans le
message









de
news:
Je tiens d'abord à te rassurer aucune ironie à ton égard
trop








content
de
trouver une main secourable toute dévouée à ma cause
Non juste un brin d'humour devant cette adversité
informatique








pour
travailler de concert en toute décontraction alors que
les










évennements
s'acharnant contre nous pourrait provoquer un peu de
crispation









Voici donc le résultat du nouveau code :

ligne Set daoConnection = CreateWorkspace("ODBCDirect",
"Admin",








"",
dbUseODBC) : erreur de syntaxe


Ligne Set daoDatabase > > > > daoConnection.OpenConnection("LaConnexion",
dbDriverNoPrompt, False, strConnect) : erreur de syntaxe

Ligne strConnect > > > > > > > > > >











"ODBC;DSN=P27R002-PCLV;UID=LeLogin;PWD=LeMotDePasse;DATABASE=P27R002-PCLV"


:
erreur de syntaxe

Celà semble plus sympathique mais il reste malgré tout
du










chemin
à
faire




Je sens comme de l'ironie dans tes messages...

Essais cela s'il te plait :

Private daoConnection As DAO.Workspace
Private daoDatabase As DAO.Database

Private Function fctConnection()
Set daoConnection = CreateWorkspace("ODBCDirect",
"Admin",









"",
dbUseODBC)
strConnect > > > > > > > > > > >













"ODBC;DSN=P27R002-PCLV;UID=LeLogin;PWD=LeMotDePasse;DATABASE=P27R002-PCLV"


'changer LeLogin, LeMotDePasse et LaBase
'Ouvrir une connexion
Set daoDatabase > > daoConnection.OpenConnection("LaConnexio
n",







dbDriverNoPrompt, False, strConnect)
End Function

Avant d'avancer plus tentons de nous connecter.

"FFO" a écrit dans le
message









de

news:











nouveau paramétrage "Microsoft DAO XX Object
Library" Ok












Ligne : Private daoConnection As daoDBEngine message
erreur










de
compilation
type défini par l'utilisateur non défini

Ligne : Set daoConnection > > CreateWorkspace("ODBCDirect",
"Admin",








"",
dbUseODBC) message erreur de compilation erreur de
syntaxe











Ligne : strConnect > > > > > > > > > > > >














"ODBC;DSN=P27R002-PCLV;UID=LeLogin;PWD=LeMotDePasse;DATABASE=P27R002-PCLV"


Message erreur compilation attendu numéro de ligne
ou












étiquette ou
instruction ou fin d'instruction
Ligne : Set daoDatabase > > wrk.OpenConnection("LaConnexion",
dbDriverNoPrompt, False, strConnect) message erreur
de












compilation
erreur
de
syntaxe

Je te précise que pour obtenir les différent message
j'inhibe








chaque
ligne
en erreur en les faisant précéder par une côte avant
de












lancer une
nouvelle
compilation

C'est grave docteur ????

L'enfant se présente mal mais les miracles celà
existe












!!!!

Merci pour tes doigts de fée





Non tu n'empiètes pas sur mon temps ;), je le fais
par













plaisir
si je
peux
aider.
Permier point, j'ai omis de t'indiquer de cocher
dans













"Outils->Référence",
le choix : "Microsoft DAO XX Object Library" ou XX
est













un
numéro
de
version
























Avatar
FFO
Je ne sait pas si c'est mieux mais j'ai un autre message
Phase noDropTable:
Ligne daoDatabase.Execute "maMacroTransfert" message impossible d'exécuter
une requête sélection

A t'on progréssé ???


Ne nous laissons pas abattre !

Private daoConnection as daoDBEngine
Private daoDatabase as DAO.Database

Private Function fctConnection()
Set daoConnection = DBEngine.Workspaces(0)
Set daoDatabase = daoConnection .OpenDatabase("", false, false,
"ODBC;DSN=P27R002-PCLV;USR=scott;PWD=tiger")
End function

N'oublis pas de modifier le USR=tonLogin et PWD=tonPassword

Est ce que comme ça c'est mieux ?

Dans l'attente de ton retour.

"FFO" a écrit dans le message de
news:
On progresse toujours mais avec un nouvel arrêt
Ligne :
daoDatabase.Execute "maMacroTransfert" message erreur ODBC--L'appel à
échoué


Ce qui m'étonne c'est que la table sous Oracle est volontairement présente
pour juger par le fonctionnement de la macro et donc du code de sa
suppression automatique
Or l'éxécution du code s'enchaine directement sur la 2° partie celle qui
traite la situation où il n'y a pas de table à supprimer (noDropTable)
alors

qu'elle est présente
Si je force son éxécution sur la première partie en inhibant son renvoi
vers

la 2° (ajout d'une cote sur la ligne 'On Error GoTo noDropTable) l'arrêt
s'oppère sur la ligne : daoDatabase.Execute chSQL avec le même message

Il semble en fait que la communication n'est pas pu s'établir mais pour
quelle cause ???

Une nouvelle enigme à résoudre !!!!

Enleve le nomBase apres fctConnection, la fonction ne prend plus
d'argument.



donc cela donne : fctConnection


"FFO" a écrit dans le message de
news:
C'est mieux !!!
Je retombe sur la situation précédente qui semble indiquée
l'établissement



de la connection mais avec ce fameux bug exprimé dans mon message
:
Phase "Function exportTableToOracle()"
Ligne : fctConnection nomBaseODBC message erreur "incompatibilité de
type"




J'espère que celà te dit quelque chose
Dans l'attente

Bonjour,

Désolé j'ai raté ton msg d hier.

Non, non on avance bien :)

Le déclaration de la variable :
Private daoConnection As DAO.Workspace

Donc remplace ton wrk.OpenConnection, en daoConnection
..OpenConnection.





En attente de ta réponse.

"FFO" a écrit dans le message de
news:
Aujourd'hui Jeudi 30/03/06 à la réouverture d'access la connection
bug





à
nouveau à la ligne :
Set daoDatabase = wrk.OpenConnection("LaConnexion",
dbDriverNoPrompt,





False,
strConnect) message erreur "Objet requis"
Que s'est il passé depuis hier ???
Toujours est il qu'il faut constater une régression
Arriverais je un jours a traiter la présence d'une table sous
Oracle à





partir d'access
celà me semble un but particulièrement ardu à atteindre
Merci pour toute aide

toujours plus fort !!! la bète est en passe d'être vaincu !!!!
Net progré
Je mexplique :
J'ai coché selon tes indications rubrique Référence le choix
"Microsoft




DAO
3.5 Object Library"
Or un 2° choix similaire était possible mais échapé à ma
vigileance






intitullé "Microsoft DAO 3.6 Object Library"
Rectification faite et oh! miracle la connexion a du
s'effectuer






car si
bug
il ya il se produit sur la 2° partie du code paragraphe
"Function






exportTableToOracle()"
Ligne : fctConnection nomBaseODBC message erreur
"incompatibilité






de
type"

Un peu maigre comme information mais tu devrais certainement
pouvoir






en
tirer profit

Courage Courage le bout du tunnel n'est pas loin




Aaaahhh..., ca me paraissait tellement logique, dsl de pas y
avoir







pensé
avant :p

Bon, dans Outils->Référence, vérifie que l'autre DAO Object
est







bien
coché.

Du coup en va en profiter pour vérifier la déclaration des
variables





globales :

Ce code doit etre tout en haut cette ligne : Option Compare
Database,





doit
normalement etre mise par défaut.
Option Compare Database
Private daoConnection As DAO.Workspace --> j'ai changé le
type,







peut
etre
que l'erreur vient de la
Private daoDatabase As DAO.Database


"FFO" a écrit dans le message
de







news:
On avance on avance !!!!
effectivement tu as vu juste en rectifiant la disposition
des








lignes
la
compilation à appréciée ne relevant plus d'erreur
Les ennuies ne sont pas fini pour autant car à l'exucution
du








code
via la
macro access rouspète encore (il falait bien que son mauvais
caractère




s'exprime encore !!!) avec comme message d'erreur :

Ligne Set daoConnection = CreateWorkspace("ODBCDirect",
"Admin",








"",
dbUseODBC) message erreur "un composant ActiveX ne peut pas
créer






l'objet"

Qu'en penses tu ???


D'accord :)

Ce qui est étrange c'est que j'ai sous les yeux ce même
code









et qu
il ne
me
met aucune erreur de syntaxe :/
Attention, j'ai peur que les lignes ne soient coupés.

Dans ce cas il faut mettre comme ça :

Set daoConnection = CreateWorkspace("ODBCDirect", "Admin",
"",









dbUseODBC) ->
sur une seule ligne !

strConnect > > > > > > > > > >










"ODBC;DSN=P27R002-PCLV;UID=LeLogin;PWD=LeMotDePasse;DATABASE=P27R002-PCLV" -


sur une seule ligne !


Set daoDatabase > > > > > > > > > >
daoConnection.OpenConnection("LaConnexion",dbDriverNoPrompt,









False,
strConnect) -> sur une seule ligne !

Si tu veux mettre sur deux lignes il faut utiliser le
signes









"_"
entre
deux
lignes ex :
je commence ici _
et je termine la


"FFO" a écrit dans le
message









de
news:
Je tiens d'abord à te rassurer aucune ironie à ton égard
trop








content
de
trouver une main secourable toute dévouée à ma cause
Non juste un brin d'humour devant cette adversité
informatique








pour
travailler de concert en toute décontraction alors que
les










évennements
s'acharnant contre nous pourrait provoquer un peu de
crispation









Voici donc le résultat du nouveau code :

ligne Set daoConnection = CreateWorkspace("ODBCDirect",
"Admin",








"",
dbUseODBC) : erreur de syntaxe


Ligne Set daoDatabase > > > > > daoConnection.OpenConnection("LaConnexion",
dbDriverNoPrompt, False, strConnect) : erreur de syntaxe

Ligne strConnect > > > > > > > > > > >











"ODBC;DSN=P27R002-PCLV;UID=LeLogin;PWD=LeMotDePasse;DATABASE=P27R002-PCLV"


:
erreur de syntaxe

Celà semble plus sympathique mais il reste malgré tout
du










chemin
à
faire




Je sens comme de l'ironie dans tes messages...

Essais cela s'il te plait :

Private daoConnection As DAO.Workspace
Private daoDatabase As DAO.Database

Private Function fctConnection()
Set daoConnection = CreateWorkspace("ODBCDirect",
"Admin",









"",
dbUseODBC)
strConnect > > > > > > > > > > > >













"ODBC;DSN=P27R002-PCLV;UID=LeLogin;PWD=LeMotDePasse;DATABASE=P27R002-PCLV"


'changer LeLogin, LeMotDePasse et LaBase
'Ouvrir une connexion
Set daoDatabase > > > daoConnection.OpenConnection("LaConnexio
n",







dbDriverNoPrompt, False, strConnect)
End Function
























Avatar
G.Genier
Oui, je pense.

on peut avoir ce genre de message, par exemple, si on tente de
modifier/ajouter des enregistrement sur une table en lecture seule.

Est ce que laphase du SELECT à fonctionner et il a trouvé la table ?


"FFO" a écrit dans le message de
news:
Je ne sait pas si c'est mieux mais j'ai un autre message
Phase noDropTable:
Ligne daoDatabase.Execute "maMacroTransfert" message impossible d'exécuter
une requête sélection

A t'on progréssé ???


Ne nous laissons pas abattre !

Private daoConnection as daoDBEngine
Private daoDatabase as DAO.Database

Private Function fctConnection()
Set daoConnection = DBEngine.Workspaces(0)
Set daoDatabase = daoConnection .OpenDatabase("", false, false,
"ODBC;DSN=P27R002-PCLV;USR=scott;PWD=tiger")
End function

N'oublis pas de modifier le USR=tonLogin et PWD=tonPassword

Est ce que comme ça c'est mieux ?

Dans l'attente de ton retour.

"FFO" a écrit dans le message de
news:
On progresse toujours mais avec un nouvel arrêt
Ligne :
daoDatabase.Execute "maMacroTransfert" message erreur ODBC--L'appel à
échoué


Ce qui m'étonne c'est que la table sous Oracle est volontairement
présente



pour juger par le fonctionnement de la macro et donc du code de sa
suppression automatique
Or l'éxécution du code s'enchaine directement sur la 2° partie celle
qui



traite la situation où il n'y a pas de table à supprimer (noDropTable)
alors

qu'elle est présente
Si je force son éxécution sur la première partie en inhibant son
renvoi



vers
la 2° (ajout d'une cote sur la ligne 'On Error GoTo noDropTable)
l'arrêt



s'oppère sur la ligne : daoDatabase.Execute chSQL avec le même message

Il semble en fait que la communication n'est pas pu s'établir mais
pour



quelle cause ???

Une nouvelle enigme à résoudre !!!!

Enleve le nomBase apres fctConnection, la fonction ne prend plus
d'argument.



donc cela donne : fctConnection


"FFO" a écrit dans le message de
news:
C'est mieux !!!
Je retombe sur la situation précédente qui semble indiquée
l'établissement



de la connection mais avec ce fameux bug exprimé dans mon message
:
Phase "Function exportTableToOracle()"
Ligne : fctConnection nomBaseODBC message erreur "incompatibilité
de





type"

J'espère que celà te dit quelque chose
Dans l'attente

Bonjour,

Désolé j'ai raté ton msg d hier.

Non, non on avance bien :)

Le déclaration de la variable :
Private daoConnection As DAO.Workspace

Donc remplace ton wrk.OpenConnection, en daoConnection
..OpenConnection.





En attente de ta réponse.

"FFO" a écrit dans le message de
news:
Aujourd'hui Jeudi 30/03/06 à la réouverture d'access la
connection







bug
à
nouveau à la ligne :
Set daoDatabase = wrk.OpenConnection("LaConnexion",
dbDriverNoPrompt,





False,
strConnect) message erreur "Objet requis"
Que s'est il passé depuis hier ???
Toujours est il qu'il faut constater une régression
Arriverais je un jours a traiter la présence d'une table sous
Oracle à





partir d'access
celà me semble un but particulièrement ardu à atteindre
Merci pour toute aide

toujours plus fort !!! la bète est en passe d'être vaincu
!!!!








Net progré
Je mexplique :
J'ai coché selon tes indications rubrique Référence le choix
"Microsoft




DAO
3.5 Object Library"
Or un 2° choix similaire était possible mais échapé à ma
vigileance






intitullé "Microsoft DAO 3.6 Object Library"
Rectification faite et oh! miracle la connexion a du
s'effectuer






car si
bug
il ya il se produit sur la 2° partie du code paragraphe
"Function






exportTableToOracle()"
Ligne : fctConnection nomBaseODBC message erreur
"incompatibilité






de
type"

Un peu maigre comme information mais tu devrais certainement
pouvoir






en
tirer profit

Courage Courage le bout du tunnel n'est pas loin




Aaaahhh..., ca me paraissait tellement logique, dsl de pas
y









avoir
pensé
avant :p

Bon, dans Outils->Référence, vérifie que l'autre DAO
Object









est
bien
coché.

Du coup en va en profiter pour vérifier la déclaration des
variables





globales :

Ce code doit etre tout en haut cette ligne : Option
Compare









Database,
doit
normalement etre mise par défaut.
Option Compare Database
Private daoConnection As DAO.Workspace --> j'ai changé le
type,







peut
etre
que l'erreur vient de la
Private daoDatabase As DAO.Database


"FFO" a écrit dans le
message









de
news:
On avance on avance !!!!
effectivement tu as vu juste en rectifiant la
disposition










des
lignes
la
compilation à appréciée ne relevant plus d'erreur
Les ennuies ne sont pas fini pour autant car à
l'exucution










du
code
via la
macro access rouspète encore (il falait bien que son
mauvais










caractère
s'exprime encore !!!) avec comme message d'erreur :

Ligne Set daoConnection = CreateWorkspace("ODBCDirect",
"Admin",








"",
dbUseODBC) message erreur "un composant ActiveX ne peut
pas










créer
l'objet"

Qu'en penses tu ???


D'accord :)

Ce qui est étrange c'est que j'ai sous les yeux ce
même











code
et qu
il ne
me
met aucune erreur de syntaxe :/
Attention, j'ai peur que les lignes ne soient coupés.

Dans ce cas il faut mettre comme ça :

Set daoConnection = CreateWorkspace("ODBCDirect",
"Admin",











"",
dbUseODBC) ->
sur une seule ligne !

strConnect > > > > > > > > > > >













"ODBC;DSN=P27R002-PCLV;UID=LeLogin;PWD=LeMotDePasse;DATABASE=P27R002-PCLV" -


sur une seule ligne !


Set daoDatabase > > > > > > > > > > >
daoConnection.OpenConnection("LaConnexion",dbDriverNoPrompt,









False,
strConnect) -> sur une seule ligne !

Si tu veux mettre sur deux lignes il faut utiliser le
signes









"_"
entre
deux
lignes ex :
je commence ici _
et je termine la


"FFO" a écrit dans le
message









de

news:











Je tiens d'abord à te rassurer aucune ironie à ton
égard












trop
content
de
trouver une main secourable toute dévouée à ma cause
Non juste un brin d'humour devant cette adversité
informatique








pour
travailler de concert en toute décontraction alors
que












les
évennements
s'acharnant contre nous pourrait provoquer un peu de
crispation









Voici donc le résultat du nouveau code :

ligne Set daoConnection CreateWorkspace("ODBCDirect",
"Admin",








"",
dbUseODBC) : erreur de syntaxe


Ligne Set daoDatabase > > > > > > daoConnection.OpenConnection("LaConnexion",
dbDriverNoPrompt, False, strConnect) : erreur de
syntaxe













Ligne strConnect > > > > > > > > > > > >














"ODBC;DSN=P27R002-PCLV;UID=LeLogin;PWD=LeMotDePasse;DATABASE=P27R002-PCLV"


:
erreur de syntaxe

Celà semble plus sympathique mais il reste malgré
tout












du
chemin
à
faire




Je sens comme de l'ironie dans tes messages...

Essais cela s'il te plait :

Private daoConnection As DAO.Workspace
Private daoDatabase As DAO.Database

Private Function fctConnection()
Set daoConnection CreateWorkspace("ODBCDirect",
"Admin",









"",
dbUseODBC)
strConnect > > > > > > > > > > > > >
















"ODBC;DSN=P27R002-PCLV;UID=LeLogin;PWD=LeMotDePasse;DATABASE=P27R002-PCLV"


'changer LeLogin, LeMotDePasse et LaBase
'Ouvrir une connexion
Set daoDatabase > > > > daoConnection.OpenConnection("LaConnexio
n",







dbDriverNoPrompt, False, strConnect)
End Function


























Avatar
FFO
Comment puis je m'en assurer ???
Ce que je constate c'est que la table soit présente ou absente j'obtiens le
même message au même endroit

Faut il que je fasse d'autres tests et lesquels ???


Oui, je pense.

on peut avoir ce genre de message, par exemple, si on tente de
modifier/ajouter des enregistrement sur une table en lecture seule.

Est ce que laphase du SELECT à fonctionner et il a trouvé la table ?


"FFO" a écrit dans le message de
news:
Je ne sait pas si c'est mieux mais j'ai un autre message
Phase noDropTable:
Ligne daoDatabase.Execute "maMacroTransfert" message impossible d'exécuter
une requête sélection

A t'on progréssé ???


Ne nous laissons pas abattre !

Private daoConnection as daoDBEngine
Private daoDatabase as DAO.Database

Private Function fctConnection()
Set daoConnection = DBEngine.Workspaces(0)
Set daoDatabase = daoConnection .OpenDatabase("", false, false,
"ODBC;DSN=P27R002-PCLV;USR=scott;PWD=tiger")
End function

N'oublis pas de modifier le USR=tonLogin et PWD=tonPassword

Est ce que comme ça c'est mieux ?

Dans l'attente de ton retour.

"FFO" a écrit dans le message de
news:
On progresse toujours mais avec un nouvel arrêt
Ligne :
daoDatabase.Execute "maMacroTransfert" message erreur ODBC--L'appel à
échoué


Ce qui m'étonne c'est que la table sous Oracle est volontairement
présente



pour juger par le fonctionnement de la macro et donc du code de sa
suppression automatique
Or l'éxécution du code s'enchaine directement sur la 2° partie celle
qui



traite la situation où il n'y a pas de table à supprimer (noDropTable)
alors

qu'elle est présente
Si je force son éxécution sur la première partie en inhibant son
renvoi



vers
la 2° (ajout d'une cote sur la ligne 'On Error GoTo noDropTable)
l'arrêt



s'oppère sur la ligne : daoDatabase.Execute chSQL avec le même message

Il semble en fait que la communication n'est pas pu s'établir mais
pour



quelle cause ???

Une nouvelle enigme à résoudre !!!!

Enleve le nomBase apres fctConnection, la fonction ne prend plus
d'argument.



donc cela donne : fctConnection


"FFO" a écrit dans le message de
news:
C'est mieux !!!
Je retombe sur la situation précédente qui semble indiquée
l'établissement



de la connection mais avec ce fameux bug exprimé dans mon message
:
Phase "Function exportTableToOracle()"
Ligne : fctConnection nomBaseODBC message erreur "incompatibilité
de





type"

J'espère que celà te dit quelque chose
Dans l'attente

Bonjour,

Désolé j'ai raté ton msg d hier.

Non, non on avance bien :)

Le déclaration de la variable :
Private daoConnection As DAO.Workspace

Donc remplace ton wrk.OpenConnection, en daoConnection
..OpenConnection.





En attente de ta réponse.

"FFO" a écrit dans le message de
news:
Aujourd'hui Jeudi 30/03/06 à la réouverture d'access la
connection







bug
à
nouveau à la ligne :
Set daoDatabase = wrk.OpenConnection("LaConnexion",
dbDriverNoPrompt,





False,
strConnect) message erreur "Objet requis"
Que s'est il passé depuis hier ???
Toujours est il qu'il faut constater une régression
Arriverais je un jours a traiter la présence d'une table sous
Oracle à





partir d'access
celà me semble un but particulièrement ardu à atteindre
Merci pour toute aide

toujours plus fort !!! la bète est en passe d'être vaincu
!!!!








Net progré
Je mexplique :
J'ai coché selon tes indications rubrique Référence le choix
"Microsoft




DAO
3.5 Object Library"
Or un 2° choix similaire était possible mais échapé à ma
vigileance






intitullé "Microsoft DAO 3.6 Object Library"
Rectification faite et oh! miracle la connexion a du
s'effectuer






car si
bug
il ya il se produit sur la 2° partie du code paragraphe
"Function






exportTableToOracle()"
Ligne : fctConnection nomBaseODBC message erreur
"incompatibilité






de
type"

Un peu maigre comme information mais tu devrais certainement
pouvoir






en
tirer profit

Courage Courage le bout du tunnel n'est pas loin




Aaaahhh..., ca me paraissait tellement logique, dsl de pas
y









avoir
pensé
avant :p

Bon, dans Outils->Référence, vérifie que l'autre DAO
Object









est
bien
coché.

Du coup en va en profiter pour vérifier la déclaration des
variables





globales :

Ce code doit etre tout en haut cette ligne : Option
Compare









Database,
doit
normalement etre mise par défaut.
Option Compare Database
Private daoConnection As DAO.Workspace --> j'ai changé le
type,







peut
etre
que l'erreur vient de la
Private daoDatabase As DAO.Database


"FFO" a écrit dans le
message









de
news:
On avance on avance !!!!
effectivement tu as vu juste en rectifiant la
disposition










des
lignes
la
compilation à appréciée ne relevant plus d'erreur
Les ennuies ne sont pas fini pour autant car à
l'exucution










du
code
via la
macro access rouspète encore (il falait bien que son
mauvais










caractère
s'exprime encore !!!) avec comme message d'erreur :

Ligne Set daoConnection = CreateWorkspace("ODBCDirect",
"Admin",








"",
dbUseODBC) message erreur "un composant ActiveX ne peut
pas










créer
l'objet"

Qu'en penses tu ???


D'accord :)

Ce qui est étrange c'est que j'ai sous les yeux ce
même











code
et qu
il ne
me
met aucune erreur de syntaxe :/
Attention, j'ai peur que les lignes ne soient coupés.

Dans ce cas il faut mettre comme ça :

Set daoConnection = CreateWorkspace("ODBCDirect",
"Admin",











"",
dbUseODBC) ->
sur une seule ligne !

strConnect > > > > > > > > > > > >













"ODBC;DSN=P27R002-PCLV;UID=LeLogin;PWD=LeMotDePasse;DATABASE=P27R002-PCLV" -


sur une seule ligne !


Set daoDatabase > > > > > > > > > > > >
daoConnection.OpenConnection("LaConnexion",dbDriverNoPrompt,









False,
strConnect) -> sur une seule ligne !

Si tu veux mettre sur deux lignes il faut utiliser le
signes









"_"
entre
deux
lignes ex :
je commence ici _
et je termine la


"FFO" a écrit dans le
message









de

news:











Je tiens d'abord à te rassurer aucune ironie à ton
égard












trop
content
de
trouver une main secourable toute dévouée à ma cause
Non juste un brin d'humour devant cette adversité
informatique








pour
travailler de concert en toute décontraction alors
que












les
évennements
s'acharnant contre nous pourrait provoquer un peu de
crispation









Voici donc le résultat du nouveau code :

ligne Set daoConnection > CreateWorkspace("ODBCDirect",
"Admin",








"",
dbUseODBC) : erreur de syntaxe


Ligne Set daoDatabase > > > > > > > daoConnection.OpenConnection("LaConnexion",
dbDriverNoPrompt, False, strConnect) : erreur de
syntaxe













Ligne strConnect > > > > > > > > > > > > >


























Avatar
G.Genier
Utilises la touche F8 pour lancer le code en mode ligne par ligne.

testons avec une fonction plus simple.

Function test()
fctConnection
chSQL = "SELECT * FROM tableOracle;"
daoDatabase.Execute chSQL
end Function

Que donne ceci ?



"FFO" a écrit dans le message de
news:
Comment puis je m'en assurer ???
Ce que je constate c'est que la table soit présente ou absente j'obtiens
le

même message au même endroit

Faut il que je fasse d'autres tests et lesquels ???


Oui, je pense.

on peut avoir ce genre de message, par exemple, si on tente de
modifier/ajouter des enregistrement sur une table en lecture seule.

Est ce que laphase du SELECT à fonctionner et il a trouvé la table ?


"FFO" a écrit dans le message de
news:
Je ne sait pas si c'est mieux mais j'ai un autre message
Phase noDropTable:
Ligne daoDatabase.Execute "maMacroTransfert" message impossible
d'exécuter



une requête sélection

A t'on progréssé ???


Ne nous laissons pas abattre !

Private daoConnection as daoDBEngine
Private daoDatabase as DAO.Database

Private Function fctConnection()
Set daoConnection = DBEngine.Workspaces(0)
Set daoDatabase = daoConnection .OpenDatabase("", false, false,
"ODBC;DSN=P27R002-PCLV;USR=scott;PWD=tiger")
End function

N'oublis pas de modifier le USR=tonLogin et PWD=tonPassword

Est ce que comme ça c'est mieux ?

Dans l'attente de ton retour.

"FFO" a écrit dans le message de
news:
On progresse toujours mais avec un nouvel arrêt
Ligne :
daoDatabase.Execute "maMacroTransfert" message erreur
ODBC--L'appel à





échoué

Ce qui m'étonne c'est que la table sous Oracle est volontairement
présente



pour juger par le fonctionnement de la macro et donc du code de sa
suppression automatique
Or l'éxécution du code s'enchaine directement sur la 2° partie
celle





qui
traite la situation où il n'y a pas de table à supprimer
(noDropTable)





alors
qu'elle est présente
Si je force son éxécution sur la première partie en inhibant son
renvoi



vers
la 2° (ajout d'une cote sur la ligne 'On Error GoTo noDropTable)
l'arrêt



s'oppère sur la ligne : daoDatabase.Execute chSQL avec le même
message






Il semble en fait que la communication n'est pas pu s'établir mais
pour



quelle cause ???

Une nouvelle enigme à résoudre !!!!

Enleve le nomBase apres fctConnection, la fonction ne prend plus
d'argument.



donc cela donne : fctConnection


"FFO" a écrit dans le message de
news:
C'est mieux !!!
Je retombe sur la situation précédente qui semble indiquée
l'établissement



de la connection mais avec ce fameux bug exprimé dans mon
message







:
Phase "Function exportTableToOracle()"
Ligne : fctConnection nomBaseODBC message erreur
"incompatibilité







de
type"

J'espère que celà te dit quelque chose
Dans l'attente

Bonjour,

Désolé j'ai raté ton msg d hier.

Non, non on avance bien :)

Le déclaration de la variable :
Private daoConnection As DAO.Workspace

Donc remplace ton wrk.OpenConnection, en daoConnection
..OpenConnection.





En attente de ta réponse.

"FFO" a écrit dans le
message de








news:
Aujourd'hui Jeudi 30/03/06 à la réouverture d'access la
connection







bug
à
nouveau à la ligne :
Set daoDatabase = wrk.OpenConnection("LaConnexion",
dbDriverNoPrompt,





False,
strConnect) message erreur "Objet requis"
Que s'est il passé depuis hier ???
Toujours est il qu'il faut constater une régression
Arriverais je un jours a traiter la présence d'une table
sous









Oracle à
partir d'access
celà me semble un but particulièrement ardu à atteindre
Merci pour toute aide

toujours plus fort !!! la bète est en passe d'être
vaincu










!!!!
Net progré
Je mexplique :
J'ai coché selon tes indications rubrique Référence le
choix










"Microsoft
DAO
3.5 Object Library"
Or un 2° choix similaire était possible mais échapé à ma
vigileance






intitullé "Microsoft DAO 3.6 Object Library"
Rectification faite et oh! miracle la connexion a du
s'effectuer






car si
bug
il ya il se produit sur la 2° partie du code paragraphe
"Function






exportTableToOracle()"
Ligne : fctConnection nomBaseODBC message erreur
"incompatibilité






de
type"

Un peu maigre comme information mais tu devrais
certainement










pouvoir
en
tirer profit

Courage Courage le bout du tunnel n'est pas loin




Aaaahhh..., ca me paraissait tellement logique, dsl de
pas











y
avoir
pensé
avant :p

Bon, dans Outils->Référence, vérifie que l'autre DAO
Object









est
bien
coché.

Du coup en va en profiter pour vérifier la déclaration
des











variables
globales :

Ce code doit etre tout en haut cette ligne : Option
Compare









Database,
doit
normalement etre mise par défaut.
Option Compare Database
Private daoConnection As DAO.Workspace --> j'ai changé
le











type,
peut
etre
que l'erreur vient de la
Private daoDatabase As DAO.Database


"FFO" a écrit dans le
message









de

news:











On avance on avance !!!!
effectivement tu as vu juste en rectifiant la
disposition










des
lignes
la
compilation à appréciée ne relevant plus d'erreur
Les ennuies ne sont pas fini pour autant car à
l'exucution










du
code
via la
macro access rouspète encore (il falait bien que son
mauvais










caractère
s'exprime encore !!!) avec comme message d'erreur :

Ligne Set daoConnection CreateWorkspace("ODBCDirect",
"Admin",








"",
dbUseODBC) message erreur "un composant ActiveX ne
peut












pas
créer
l'objet"

Qu'en penses tu ???


D'accord :)

Ce qui est étrange c'est que j'ai sous les yeux ce
même











code
et qu
il ne
me
met aucune erreur de syntaxe :/
Attention, j'ai peur que les lignes ne soient
coupés.














Dans ce cas il faut mettre comme ça :

Set daoConnection = CreateWorkspace("ODBCDirect",
"Admin",











"",
dbUseODBC) ->
sur une seule ligne !

strConnect > > > > > > > > > > > > >
















"ODBC;DSN=P27R002-PCLV;UID=LeLogin;PWD=LeMotDePasse;DATABASE=P27R002-PCLV" -


sur une seule ligne !


Set daoDatabase > > > > > > > > > > > > >
daoConnection.OpenConnection("LaConnexion",dbDriverNoPrompt,









False,
strConnect) -> sur une seule ligne !

Si tu veux mettre sur deux lignes il faut utiliser
le













signes
"_"
entre
deux
lignes ex :
je commence ici _
et je termine la


"FFO" a écrit dans
le













message
de

news:











Je tiens d'abord à te rassurer aucune ironie à
ton














égard
trop
content
de
trouver une main secourable toute dévouée à ma
cause














Non juste un brin d'humour devant cette
adversité














informatique
pour
travailler de concert en toute décontraction
alors














que
les
évennements
s'acharnant contre nous pourrait provoquer un
peu de














crispation

Voici donc le résultat du nouveau code :

ligne Set daoConnection > > CreateWorkspace("ODBCDirect",
"Admin",








"",
dbUseODBC) : erreur de syntaxe


Ligne Set daoDatabase > > > > > > > > daoConnection.OpenConnection("LaConnexion",
dbDriverNoPrompt, False, strConnect) : erreur de
syntaxe













Ligne strConnect > > > > > > > > > > > > > >




























1 2 3