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

Access Discussion :

TransferSpreadSheet et ADODB.Command en VB6


Sujet :

Access

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2002
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 41
    Points : 31
    Points
    31
    Par défaut TransferSpreadSheet et ADODB.Command en VB6
    Bonjour,

    Voilà mon pb de base : je suis dans une appli VB6 où je travaille sur une DB Access et je cherche à importer une feuille Excel dans ma base Access.

    On va me dire : c'est simple il y a TransferSpreadSheet.
    C'est vrai qu'en VBA sous Access, il suffirait de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, nomTable, ficXLS, True, ""
    Mais je suis en VB6, je travaille avec ADODB et je n'arrive pas à exécuter ma commande TransferSpreadsheet

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        Set cmdAMOA = New ADODB.Command
     
        cmdAMOA.ActiveConnection = cnx_AMOA
        cmdAMOA.CommandText = "TransferSpreadsheet"
        cmdAMOA.CommandType = adCmdStoredProc
     
        Set paramAMOA1 = cmdAMOA.CreateParameter("paramAMOA1", _
                adInteger, adParamInput, , acImport)
        cmdAMOA.Parameters.Append paramAMOA1
        ' je passe les autres params .... 
     
        ADODB.Execute
    Résultat sur le "Execute" j'ai :

    Le moteur Microsoft Jet ne peut pas trouver la table ou la requête source 'transferSpreadSheet'. Assurez-vous qu'elle existe ou qu'elle est correctement orthographiée.
    J'ai également essayé au hasard DoCmd.TransferSpreadSheet : même résultat.

    Qui a une idée sur le pb ?

    merci.
    Sergio

  2. #2
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonjour,

    CommandText ne peut contenir qu'une instruction SQL, un nom de table, de requête ou de procédure stoquée.

    TransferSpreadSheet est une méthode de Access.Application.DoCmd.

    Moi j'essaierais comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Dim ACCapp as Object ' (ou as Access.Application)
     
    Set ACCapp = GetObject("Chemin\Base.mdb")
    ACCapp.DoCmd.TransferSpreadSheet ...
     
    Set ACCapp=Nothing
    A moins qu' Access.Application ne soit pas disponible sur le PC.
    Dans ce cas il faut ouvrir une connexion ADO sur le fichier Excel et un recordset sur l'onglet et remplir la table Access ligne par ligne.

    A+

Discussions similaires

  1. ADODB.Command utiliser une sub d'un module Access
    Par didoboy dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 15/09/2009, 14h51
  2. [VBA][ACC2000]ADODB.Command trop petit
    Par OrangeBox dans le forum VBA Access
    Réponses: 1
    Dernier message: 01/07/2007, 22h08
  3. commandes windows VB6
    Par melek_net dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 02/03/2007, 22h06
  4. Procédures stockées : EXEC vs ADODB.command
    Par glidez dans le forum ASP
    Réponses: 2
    Dernier message: 13/12/2005, 10h59
  5. [VB6]ADODB Command, recuperer l'info d'un RollBack
    Par Mouse dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 19/05/2003, 16h26

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