OVH Cloud OVH Cloud

Suppression table base externe ODBC

12 réponses
Avatar
FFO
A l'échéance de Macros la dernière action commande l'export d'une table vers
une base 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
Merci pour votre concours

10 réponses

1 2
Avatar
G.Genier
Tu exportes t'as tables vers ACCESS qd même ?

"FFO" a écrit dans le message de
news:
A l'échéance de Macros la dernière action commande l'export d'une table
vers

une base 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
Merci pour votre concours



Avatar
FFO
La table est réalisée par le déroulement de plusieurs actions que la macros
déroule dans la base ACCESS que j'entreprends d'exporter vers une base ODBC
avec l'action ultime



Tu exportes t'as tables vers ACCESS qd même ?

"FFO" a écrit dans le message de
news:
A l'échéance de Macros la dernière action commande l'export d'une table
vers

une base 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
Merci pour votre concours








Avatar
G.Genier
Sauf erreur de ma part, une base ODBC n'existe pas en tant que telle.
ODBC est un driver qui permet de se connecter à une base de différent type :
MySQL, SQL Server, Dbase etc...

D'ou ma question, est ce que la base de destination est une base Access ou
pas.

"FFO" a écrit dans le message de
news:
La table est réalisée par le déroulement de plusieurs actions que la
macros

déroule dans la base ACCESS que j'entreprends d'exporter vers une base
ODBC

avec l'action ultime



Tu exportes t'as tables vers ACCESS qd même ?

"FFO" a écrit dans le message de
news:
A l'échéance de Macros la dernière action commande l'export d'une
table



vers
une base 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
Merci pour votre concours










Avatar
FFO
Aprés vérification effectivement j'utilise un driver ODBC pour envoyer une
table ACCESS vers une base Oracle


Sauf erreur de ma part, une base ODBC n'existe pas en tant que telle.
ODBC est un driver qui permet de se connecter à une base de différent type :
MySQL, SQL Server, Dbase etc...

D'ou ma question, est ce que la base de destination est une base Access ou
pas.

"FFO" a écrit dans le message de
news:
La table est réalisée par le déroulement de plusieurs actions que la
macros

déroule dans la base ACCESS que j'entreprends d'exporter vers une base
ODBC

avec l'action ultime



Tu exportes t'as tables vers ACCESS qd même ?

"FFO" a écrit dans le message de
news:
A l'échéance de Macros la dernière action commande l'export d'une
table



vers
une base 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
Merci pour votre concours















Avatar
G.Genier
Dans ce cas, sous access tu recupères l'erreur, si erreur il y a tu fais un
DROP TABLE avant et tu relances ton export, si t as pas d erreurs, tu
continue comme d'hab.


"FFO" a écrit dans le message de
news:
Aprés vérification effectivement j'utilise un driver ODBC pour envoyer une
table ACCESS vers une base Oracle


Sauf erreur de ma part, une base ODBC n'existe pas en tant que telle.
ODBC est un driver qui permet de se connecter à une base de différent
type :


MySQL, SQL Server, Dbase etc...

D'ou ma question, est ce que la base de destination est une base Access
ou


pas.

"FFO" a écrit dans le message de
news:
La table est réalisée par le déroulement de plusieurs actions que la
macros

déroule dans la base ACCESS que j'entreprends d'exporter vers une base
ODBC

avec l'action ultime



Tu exportes t'as tables vers ACCESS qd même ?

"FFO" a écrit dans le message de
news:
A l'échéance de Macros la dernière action commande l'export d'une
table



vers
une base 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
Merci pour votre concours

















Avatar
FFO
Effectivement jusqu'à ce jour c'est ma seule issue mais elle a l'inconvénient
d'être manuelle et de m'obliger à relancer la macro qui pour certaine
possèdent la bagatelle de plus de 50 actions dont certaines sont des imports
relativement longs
L'idéale serait l'automatisation de la vérification de la présence ou non
dans Oracle des tables exportés avec suppression au gré des besoins par un
des codes magiques d'access
N'existe t'il rien en la matière ????

Merci pour la réponse


Dans ce cas, sous access tu recupères l'erreur, si erreur il y a tu fais un
DROP TABLE avant et tu relances ton export, si t as pas d erreurs, tu
continue comme d'hab.


"FFO" a écrit dans le message de
news:
Aprés vérification effectivement j'utilise un driver ODBC pour envoyer une
table ACCESS vers une base Oracle


Sauf erreur de ma part, une base ODBC n'existe pas en tant que telle.
ODBC est un driver qui permet de se connecter à une base de différent
type :


MySQL, SQL Server, Dbase etc...

D'ou ma question, est ce que la base de destination est une base Access
ou


pas.

"FFO" a écrit dans le message de
news:
La table est réalisée par le déroulement de plusieurs actions que la
macros

déroule dans la base ACCESS que j'entreprends d'exporter vers une base
ODBC

avec l'action ultime



Tu exportes t'as tables vers ACCESS qd même ?

"FFO" a écrit dans le message de
news:
A l'échéance de Macros la dernière action commande l'export d'une
table



vers
une base 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
Merci pour votre concours






















Avatar
G.Genier
Pouquoi relancé à chaque fois.

Dans ton code vba, tu ajoutes juste avant ton transfert :
on error goto suppTable
transfererTable:
<....ligne de code....>

suppTable:
DROP TABLE
goto transfererTable

Est ce que tu peux mettre en place cette solution ?


"FFO" a écrit dans le message de
news:
Effectivement jusqu'à ce jour c'est ma seule issue mais elle a
l'inconvénient

d'être manuelle et de m'obliger à relancer la macro qui pour certaine
possèdent la bagatelle de plus de 50 actions dont certaines sont des
imports

relativement longs
L'idéale serait l'automatisation de la vérification de la présence ou non
dans Oracle des tables exportés avec suppression au gré des besoins par un
des codes magiques d'access
N'existe t'il rien en la matière ????

Merci pour la réponse


Dans ce cas, sous access tu recupères l'erreur, si erreur il y a tu fais
un


DROP TABLE avant et tu relances ton export, si t as pas d erreurs, tu
continue comme d'hab.


"FFO" a écrit dans le message de
news:
Aprés vérification effectivement j'utilise un driver ODBC pour envoyer
une



table ACCESS vers une base Oracle


Sauf erreur de ma part, une base ODBC n'existe pas en tant que
telle.




ODBC est un driver qui permet de se connecter à une base de
différent




type :
MySQL, SQL Server, Dbase etc...

D'ou ma question, est ce que la base de destination est une base
Access




ou
pas.

"FFO" a écrit dans le message de
news:
La table est réalisée par le déroulement de plusieurs actions que
la





macros
déroule dans la base ACCESS que j'entreprends d'exporter vers une
base





ODBC
avec l'action ultime



Tu exportes t'as tables vers ACCESS qd même ?

"FFO" a écrit dans le message de
news:
A l'échéance de Macros la dernière action commande l'export
d'une







table
vers
une base 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
Merci pour votre concours
























Avatar
Nobodyisperfect
Bonjour FFO,

Quand tu parles de macro, ce sont des macros commandes ou du VBA.. En
VBA et en langage ADO, il y a bien du BeginTrans, CommitTrans et cie..
N'ayant plus fait de programmation depuis un certain temps, voire un temps
certain....

C'est pour vérifier si la table que tu veux atteindre soit libre et à
partir de là, tu peux lancer la proc

@+
Olivier
Avatar
G.Genier
Euh, oui j'ai pris pas comme postulat que tu parlais de VBA.

Je répond un peu à la place de FFO, désolé.
C'est pas de savoir si la table est libre ou pas, mais si elle existe ou
pas.
Je pense qu'on peut récupérer la liste des table de la db Oracle, et en
bouclant sur la liste des tables onsaura si elle existe ou pas.
Mais je pense qu'en therme de tps de traitement, ma proposition est plus
rapide, après c'est une question de choix.

Parce qu'avec le BeginTrans, CommitTrans, tu devras qd même capturer
l'erreur et si la table existe on fait quoi ? Un rollback, mais ça avance à
rien, il faut d'abord détruire la table :p


Cordialement;

"Nobodyisperfect" a écrit dans le message de
news:%
Bonjour FFO,

Quand tu parles de macro, ce sont des macros commandes ou du VBA.. En
VBA et en langage ADO, il y a bien du BeginTrans, CommitTrans et cie..
N'ayant plus fait de programmation depuis un certain temps, voire un temps
certain....

C'est pour vérifier si la table que tu veux atteindre soit libre et à
partir de là, tu peux lancer la proc

@+
Olivier




Avatar
FFO
Je dois avouer que VBA n'est pas ma tasse de thé
Si toute fois c'est la meilleur voir la seule solution je suis pret à
l'adopter mais j'aurais besoin de votre coup de main, je ne demande qu'à
apprendre
A ce jour je travaille pour gagner du temps à 95% avec les modeleurs
utilisateur pour réaliser mes tables, requètes et Macros dans lesquelles je
liste toutes les actions à réaliser selon un ordre bien établi pour concevoir
des tables sous access que j'exporte vers des bases Oracle en vu de leur
intégration dans des applications qui nous sont propres
Je dois avouer qu'à ce jour cette manière d'opérer m'apporte grandement
satisfaction car j'obtiens des résultats trés satisfaisant en un minimum de
temps sachant que c'est une pièce d'un puzzle beaucoup plus important dans
lequel je fait intervenir des macros Excel et des requètes SQL
Mais si l'on veux avoir une vision généraliste pour réaliser ce genre de
proget on ne peux s'investir dans un domaine plus spécialisé comme le VBA
d'access préférant la simplicité de l'aide utilisateur pour un gain de temps
Il va de soit que dans le cas qui me préoccupe j'atteinds peut être les
limites de ma conception et peut être dois je exceptionnellement faire une
incursion dans ce secteur
Je suis donc à votre écoute mais il faut me prendre comme un débutant pour
mener à bien les manipulations à mettre en place

Je vous remercie beaucoup pour votre concours


Euh, oui j'ai pris pas comme postulat que tu parlais de VBA.

Je répond un peu à la place de FFO, désolé.
C'est pas de savoir si la table est libre ou pas, mais si elle existe ou
pas.
Je pense qu'on peut récupérer la liste des table de la db Oracle, et en
bouclant sur la liste des tables onsaura si elle existe ou pas.
Mais je pense qu'en therme de tps de traitement, ma proposition est plus
rapide, après c'est une question de choix.

Parce qu'avec le BeginTrans, CommitTrans, tu devras qd même capturer
l'erreur et si la table existe on fait quoi ? Un rollback, mais ça avance à
rien, il faut d'abord détruire la table :p


Cordialement;

"Nobodyisperfect" a écrit dans le message de
news:%
Bonjour FFO,

Quand tu parles de macro, ce sont des macros commandes ou du VBA.. En
VBA et en langage ADO, il y a bien du BeginTrans, CommitTrans et cie..
N'ayant plus fait de programmation depuis un certain temps, voire un temps
certain....

C'est pour vérifier si la table que tu veux atteindre soit libre et à
partir de là, tu peux lancer la proc

@+
Olivier









1 2