MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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

2 participantes

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

    avatar
    M2013
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  M2013 22/10/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:

    http://support.microsoft.com/kb/295179/en-nos

    ("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
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  Avelino Sampaio 22/10/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


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso irrestrito ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    M2013
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  M2013 23/10/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
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  Avelino Sampaio 23/10/2014, 18:40

    Veja se as dicas 23 e 24 ajudam:

    http://www.usandoaccess.com.br/dicas/dicas-praticas-de-access-parte-3.asp




    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso irrestrito ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    M2013
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  M2013 23/10/2014, 18:57

    Valeu Avelino, sensacional ! Obrigado!

      Data/hora atual: 5/12/2022, 18:38