IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Attacher les tables d'une base SQL server 2000


Sujet :

VBA Access

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 71
    Par défaut Attacher les tables d'une base SQL server 2000
    Bonjour,

    je voudrais automatiser l'attache des tbales d'une base SQL serveur dans Access 2003.

    J'ai trouver la procédure suivante sur microsoft :
    Pour créer une requête SQL directe pour lister et pour attacher toutes les tables sur un SQL Server, procédez comme suit :
    1. Créez une nouvelle requête qui n'est pas fondée sur une table.
    2. Dans le menu Requête, choisissez Spécifique SQL et choisissez Transfert.
    3. Dans la fenêtre Requête SQL directe, tapez la ligne suivante :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT name FROM sysobjects Where type = 'U';

    REMARQUE : si le SQL Server que vous utiliserez a été installé avec le respect de casse, vous pouvez doit taper "Nom" et "u" en majuscules.
    4. Dans le menu Affichage, choisissez Propriétés. Vous entrez un complet ODBC connecte la chaîne dans la propriété ODBCConnectStr ou choisit le bouton Générer pour sélectionner une source de données ODBC. Ci-dessous trouve qu'un exemple d'un ODBC valide connecte la chaîne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ODBCConnectStr : ODBC DSN = opus; UID = jean; PWD = steeler DATABASE = pubs
    5. Exécutez la requête pour vous assurer qu'elle renvoie une colonne appelée Name qui affiche la liste des tables sur le SQL Server.
    6. Enregistrez la requête comme SQL_Tables et puis fermez-le.
    7. Créez un nouveau module et puis entrez la ligne suivante dans la section Déclarations :
    8. Entrez le code suivant du module.

    REMARQUE : dans le code exemple suivant, un trait de soulignement (_) à la fin de la ligne est utilisé comme du caractère de continuité de ligne. Supprimez ce trait de soulignement en fin de ligne lors de la reprogrammation dans Access Basic.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Function attach_all ()
              Dim DB As Database
              Dim RS As Recordset
              Dim QD As QueryDef
     
              Set DB = DBEngine.Workspaces(0).Databases(0)
              ' Set the QueryDef variable to the pass-through query.
              Set QD = DB.OpenQueryDef("sql_tables")
              Set RS = DB.OpenRecordset(QD.name, DB_OPEN_SNAPSHOT)
     
              Do Until RS.EOF
                  DoCmd TransferDatabase A_ATTACH, "<Sql database>", _
                       QD.connect, A_TABLE, RS!Name, RS!Name
                  RS.MoveNext
              Loop
     
              RS.Close
              QD.Close
     
          End Function
    9. Pour tester la fonction, choisissez Affichage à partir de la fenêtre Immédiat, tapez la ligne suivante dans la fenêtre Immédiat et puis appuyez sur ENTRÉE :

    ? attach_all()

    Toutes les tables sur le SQL Server seront attachées à la base de données courante. Le volume de fois de laquelle nécessite ce processus dépend du nombre de tables sur le SQL Server.

    Le problème est quand je lance la fonction j'obtiens une erreur (voir copie ecran).

    Merci de votre aide.
    Images attachées Images attachées  

Discussions similaires

  1. [AC-2003] Attacher les tables d'une base sécurisée
    Par samloba dans le forum Sécurité
    Réponses: 4
    Dernier message: 08/10/2011, 23h38
  2. Réponses: 2
    Dernier message: 06/08/2008, 17h50
  3. Copie de table sur une base SQL Server 2005
    Par stephyugh dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 09/04/2008, 13h30
  4. Droits sur les vues d'une base SQL server 2000
    Par mioux dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 30/04/2007, 16h13
  5. extraire une table d'une base sql server 2000
    Par MAJIK_ENIS dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 21/04/2006, 22h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo