MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Erro ao executar função no RunTime MsAccess 2013

    Compartilhe

    M2013
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 56
    Registrado : 07/06/2013

    [Resolvido]Erro ao executar função no RunTime MsAccess 2013

    Mensagem  M2013 em Qua 22 Out 2014, 13:05

    Prezados,

    Tenho um aplicativo que finalizei e que executa 100% sem erros na versão full do MsAccess 2010.
    Ao executá-lo no RunTime MsAccess 2013 , até o momento, recebi um erro ao executar
    "Set objaccess = CreateObject("Access.Application")" , o erro é " ocorreu erro {na função tal} o componente Activex não pode criar o objeto".

    Resumindo o pedaço da função:

    Dim NomeTabela, caminho
    caminho = DLookup("[Diretorio_instalação]", "tb_Configurações", "[Diretorio_instalação]")
    NomeTabela = "tbrealizadoTemp"

    Set objaccess = CreateObject("Access.Application")
    objaccess.NewCurrentDatabase caminho & "tbrealizadoTemp.accdb"
    objaccess.DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, NomeTabela, Forms![Frm_Importação]![Localização], True
    objaccess.Quit

    Bom as variáveis que indico caminho estão 'ok' , e o que acontece é a criação de um accdb e posteriormente a transferência dos dados de uma planilha (string no form frm_Importação) para esse banco. Na versão full tudo é executado perfeitamente.

    Pesquisando na microsoft cheguei ao seguinte:

    [Você precisa estar registrado e conectado para ver este link.]

    ("A chamada CreateObject não é compatível com o ambiente de tempo de execução, porque o tempo de execução do Access requer um arquivo a ser fornecido na linha de comando.")

    Há alguma alternativa para isso ? Já pesquisei bastante mas não encontrei.

    agradeço antecipadamente a atenção de todos

    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3348
    Registrado : 04/04/2010

    Re: [Resolvido]Erro ao executar função no RunTime MsAccess 2013

    Mensagem  Avelino Sampaio em Qua 22 Out 2014, 13:52

    Olá!

    Talvez tenha que utilizar o Shell() em conjunto com getObject(). Teste no versão full usando a extensão ACCDR que vc estará simulando a execução runtime

    Aguardamos


    .................................................................................
    ============ Quer aprender Access em alta velocidade ? ============

    || [Você precisa estar registrado e conectado para ver esta imagem.] Acesse o site UsandoAccess.com.br e veja um ótimo kit de ensino que tenho para você.

    ===========================================================

    M2013
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 56
    Registrado : 07/06/2013

    Erro ao executar função no RunTime MsAccess 2013

    Mensagem  M2013 em Qui 23 Out 2014, 18:01

    Avelino, obrigado pela resposta.

    Na verdade "Shell" etc.. colocada pela microsoft não se adapta ao que necessito. Contornei com uma gambiarra em "CreateDatabase" em vez do "CreateObject" e funcionou (criei uma tabela padrão(tborcadoTemp@) :

    ................................................................................................................................
       Dim ws As Workspace
       Dim db As Database
       Dim NomeTabela, ArquivoExiste, caminho
       
    Set ws = DBEngine.Workspaces(0)
    caminho = DLookup("[Diretorio_instalação]", "tb_Configurações", "[Diretorio_instalação]")

    Set db = ws.CreateDatabase(caminho & "tborcadoTemp.accdb", dbLangGeneral)

    DoCmd.TransferDatabase acExport, "Microsoft Access", caminho & "tborcadoTemp.accdb", acTable, "tborcadoTemp@", "tborcadoTemp", True
     
    db.Close
    Set db = Nothing

    DoCmd.TransferDatabase acLink, "Microsoft Access", caminho & "tborcadoTemp.accdb", acTable, "tborcadoTemp", "tborcadoTemp", False

    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "tborcadoTemp", Forms![Frm_Importação]![Localização], True

    .....................................................
    Mas me deparo com o cód. seguinte que tb uso "CreateObject" , para alterar o tipo de campos da tabela anexada. Daí tentei "ALTER TABLE" e executar mas não deu certo (não é possivel alterar tb anexadas!)
    cód com "Create"

    Dim MySQL_0, caminho As String
    Dim appAccess As Access.Application

    NomeTabela = "tborcadoTemp.accdb"
    caminho = DLookup("[Diretorio_instalação]", "tb_Configurações", "[Diretorio_instalação]")

    Set appAccess = CreateObject("Access.Application")
    appAccess.OpenCurrentDatabase strBancoExterno

    MySQL_0 = "ALTER TABLE tborcadoTemp ADD COLUMN Data_atu DATE;"
    appAccess.DoCmd.RunSQL MySQL_0
    Set appAccess = Nothing

    >>>>>> tentei
    Dim str, caminho As String
    caminho = DLookup("[Diretorio_instalação]", "tb_Configurações", "[Diretorio_instalação]")

    str = "ALTER TABLE tborcadoTemp ADD COLUMN Data_atu DATE;" <<<<<<<<<<
    CurrentProject.Connection.Execute str

    obrigado

    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3348
    Registrado : 04/04/2010

    Re: [Resolvido]Erro ao executar função no RunTime MsAccess 2013

    Mensagem  Avelino Sampaio em Qui 23 Out 2014, 18:40

    Veja se as dicas 23 e 24 ajudam:

    [Você precisa estar registrado e conectado para ver este link.]




    .................................................................................
    ============ Quer aprender Access em alta velocidade ? ============

    || [Você precisa estar registrado e conectado para ver esta imagem.] Acesse o site UsandoAccess.com.br e veja um ótimo kit de ensino que tenho para você.

    ===========================================================

    M2013
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 56
    Registrado : 07/06/2013

    Erro ao executar função no RunTime MsAccess 2013

    Mensagem  M2013 em Qui 23 Out 2014, 18:57

    Valeu Avelino, sensacional ! Obrigado!

      Data/hora atual: Ter 06 Dez 2016, 05:46