En Access 2000 VBA j'ai besoin de lier des tables Oracle.=20
J'utilise l'instruction DoCmd.TransfertDatabase=20
acLink, "Base de donn=E9es ODBC", "ODBC;DSN etc etc "
Mon probl=E8me est qu'Access envoie un =E9cran avec une=20
question : S=E9lectionner un identificateur unique=20
d'enregistrement avec la liste des champs de la table=20
locale. Pas terrible dans un batch! Qu'est-ce que je dois=20
faire pour =E9viter ce type de message ou bien quelles=20
instructions pour renseigner et ainsi l'=E9viter.
J'ai essay=E9 avec acImport mais comme je boucle sur x=20
tables Oracle que je r=E9cup=E8re toujours sous nom de=20
table "Toto" en local mon .mdb explose car il grossit =E0=20
chaque base Oracle import=E9e m=EAme sous le m=EAme nom et le=20
DoCmd.DeleteObject acTable, "Toto" avant ni change rien.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Xavier HUE
Bonjour CFlo,
J'ai souvent rencontré le même problème en liant des fichiers AS/400. Ceci est dû au fait qu'Access à besoin d'une clé primaire pour gérer les tables en mise à jour ou ajout.
Tes tables Oracle ont-elles une clé primaire?
A défaut, peut être en désactivant les messages envoyés par Access:
Mais dans le cas, les tables liées seront en lecture seule.
Cordialement.
Bonjour CFlo,
J'ai souvent rencontré le même problème en liant des
fichiers AS/400. Ceci est dû au fait qu'Access à besoin
d'une clé primaire pour gérer les tables en mise à jour ou
ajout.
Tes tables Oracle ont-elles une clé primaire?
A défaut, peut être en désactivant les messages envoyés
par Access:
J'ai souvent rencontré le même problème en liant des fichiers AS/400. Ceci est dû au fait qu'Access à besoin d'une clé primaire pour gérer les tables en mise à jour ou ajout.
Tes tables Oracle ont-elles une clé primaire?
A défaut, peut être en désactivant les messages envoyés par Access:
Mais dans le cas, les tables liées seront en lecture seule.
Cordialement.
Merci.
Les tables Oracle n'ont pas de clé primaire et je ne peux pas en créer une. Le gestionnaire de la base ne veut pas les créer!!!
J'ai essayé le setWarnings False mais ça ne règle pas le problème.
Je vais tenter la piste Supprimer la table/Changer de base/Fermer la base/Compacter la base/Ouvrir la base/Aller dans la base...quelle galère. Je suis preneur de toute autre meilleur idée.
-----Message d'origine----- Bonjour CFlo,
J'ai souvent rencontré le même problème en liant des fichiers AS/400. Ceci est dû au fait qu'Access à besoin d'une clé primaire pour gérer les tables en mise à jour ou
ajout.
Tes tables Oracle ont-elles une clé primaire?
A défaut, peut être en désactivant les messages envoyés par Access:
Mais dans le cas, les tables liées seront en lecture seule.
Cordialement. .
Merci.
Les tables Oracle n'ont pas de clé primaire et je ne peux
pas en créer une. Le gestionnaire de la base ne veut pas
les créer!!!
J'ai essayé le setWarnings False mais ça ne règle pas le
problème.
Je vais tenter la piste Supprimer la table/Changer de
base/Fermer la base/Compacter la base/Ouvrir la
base/Aller dans la base...quelle galère. Je suis preneur
de toute autre meilleur idée.
-----Message d'origine-----
Bonjour CFlo,
J'ai souvent rencontré le même problème en liant des
fichiers AS/400. Ceci est dû au fait qu'Access à besoin
d'une clé primaire pour gérer les tables en mise à jour
ou
ajout.
Tes tables Oracle ont-elles une clé primaire?
A défaut, peut être en désactivant les messages envoyés
par Access:
Les tables Oracle n'ont pas de clé primaire et je ne peux pas en créer une. Le gestionnaire de la base ne veut pas les créer!!!
J'ai essayé le setWarnings False mais ça ne règle pas le problème.
Je vais tenter la piste Supprimer la table/Changer de base/Fermer la base/Compacter la base/Ouvrir la base/Aller dans la base...quelle galère. Je suis preneur de toute autre meilleur idée.
-----Message d'origine----- Bonjour CFlo,
J'ai souvent rencontré le même problème en liant des fichiers AS/400. Ceci est dû au fait qu'Access à besoin d'une clé primaire pour gérer les tables en mise à jour ou
ajout.
Tes tables Oracle ont-elles une clé primaire?
A défaut, peut être en désactivant les messages envoyés par Access:
Mais dans le cas, les tables liées seront en lecture seule.
Cordialement. .
Xavier HUE
Bonjour CFLo,
Peut être quelque chose comme ce qui suit alors (extrait d'une routine que j'utilise pour recréer des tables attachées)
Dim BaseCible As Database Dim TDF As TableDef 'Objet TableDef à créer
'Création de la table 'Table ODBC Set BaseCible = CurrentDB Set TDF = BaseCible.CreateTableDef(NomTableInterne) TDF.Connect = "ODBC;DSN=" & NomDataSource & ";DATABASE=" TDF.Name = NomTableInterne TDF.SourceTableName = NomTableExterne (par exemple DBLIB.DBPRODP0 pour un fichier AS/400)
'Ajouter Définition de la nouvelle Table dans la collection BaseCible.TableDefs.Append TDF
TDF.Close BaseCible.Close Set TDF = Nothing Set BaseCible = Nothing
Tu n'auras pas le message qui te gêne. Je n'ai pas testé cet extrait modifié.
Tu peux également t'inspirer des exemples présents dans les archives du forum: http://minilien.com/?cf9UyyhrNf
Cordialement.
Bonjour CFLo,
Peut être quelque chose comme ce qui suit alors (extrait
d'une routine que j'utilise pour recréer des tables
attachées)
Dim BaseCible As Database
Dim TDF As TableDef 'Objet TableDef à
créer
'Création de la table
'Table ODBC
Set BaseCible = CurrentDB
Set TDF = BaseCible.CreateTableDef(NomTableInterne)
TDF.Connect = "ODBC;DSN=" & NomDataSource & ";DATABASE="
TDF.Name = NomTableInterne
TDF.SourceTableName = NomTableExterne (par exemple
DBLIB.DBPRODP0 pour un fichier AS/400)
'Ajouter Définition de la nouvelle Table dans la
collection
BaseCible.TableDefs.Append TDF
TDF.Close
BaseCible.Close
Set TDF = Nothing
Set BaseCible = Nothing
Tu n'auras pas le message qui te gêne.
Je n'ai pas testé cet extrait modifié.
Tu peux également t'inspirer des exemples présents dans
les archives du forum: http://minilien.com/?cf9UyyhrNf
Peut être quelque chose comme ce qui suit alors (extrait d'une routine que j'utilise pour recréer des tables attachées)
Dim BaseCible As Database Dim TDF As TableDef 'Objet TableDef à créer
'Création de la table 'Table ODBC Set BaseCible = CurrentDB Set TDF = BaseCible.CreateTableDef(NomTableInterne) TDF.Connect = "ODBC;DSN=" & NomDataSource & ";DATABASE=" TDF.Name = NomTableInterne TDF.SourceTableName = NomTableExterne (par exemple DBLIB.DBPRODP0 pour un fichier AS/400)
'Ajouter Définition de la nouvelle Table dans la collection BaseCible.TableDefs.Append TDF
TDF.Close BaseCible.Close Set TDF = Nothing Set BaseCible = Nothing
Tu n'auras pas le message qui te gêne. Je n'ai pas testé cet extrait modifié.
Tu peux également t'inspirer des exemples présents dans les archives du forum: http://minilien.com/?cf9UyyhrNf