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]Importacao de aquivo DBF

    avatar
    Eneas
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 123
    Registrado : 04/01/2012

    [Resolvido]Importacao de aquivo DBF Empty [Resolvido]Importacao de aquivo DBF

    Mensagem  Eneas 4/7/2012, 23:41

    Ola pessoal.
    Estou com um problema aqui, eu importei um arquivo DBF pela opção do access (na guia importacao) porém, vi que os campos com casas decimais foram arredondados para mais ou para menos. Então, resolvi fazer a importação via VBA mas, ocorreu o mesmo problema. Estou usando o seguinte codigo:

    Código:
     Private Sub btImporta_Click()
          On Error Resume Next
          DoCmd.TransferDatabase acImport, "dBASE IV", "C:\RelT", acTable, "movpro.dbf", "MovPro", False
          DoCmd.TransferDatabase acImport, "dBASE IV", "C:\RelT", acTable, "regsai.dbf", "RegSai", False
      End Sub


    Já troquei o "dBase para III" e nada (realmente eh dBase IV)o pior, que ao abrir o DBF diretamente no Excell está certinho os campos e suas devidas casas decimais.

    Então peço ajuda aos nobres companheiros para ajudar-me nessa pendenga... rsrsrs

    Obrigado.
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Importacao de aquivo DBF Empty Re: [Resolvido]Importacao de aquivo DBF

    Mensagem  criquio 5/7/2012, 03:12

    Já tentou alterar o tipo de campo e as casas decimais dos mesmos na tabela?


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    Eneas
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 123
    Registrado : 04/01/2012

    [Resolvido]Importacao de aquivo DBF Empty Re: [Resolvido]Importacao de aquivo DBF

    Mensagem  Eneas 5/7/2012, 15:22

    Grande Criquio, prazer em ver vc respondendo.

    Então, pior que quando eu clico no botao, ele já traz o campo como Duplo e Casas Decimais Automatico e mesmo q eu mude, o valor ainda continua arredondado.

    O que fiz até agora, é abrir o DBF no Excell e depois importar do Excell para a tabela, mas, isso dá muito trabalho e quero que faça automaticamente (DBF para Access).


    Estou enviando os arquivos para ver se tem alguma ideia.

    Obrigado mestre.
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Importacao de aquivo DBF Empty Re: [Resolvido]Importacao de aquivo DBF

    Mensagem  criquio 6/7/2012, 13:58

    Faltou colocar uma cópia do banco Acccess para vermos como os campos estão na tabela dele.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    Eneas
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 123
    Registrado : 04/01/2012

    [Resolvido]Importacao de aquivo DBF Empty Re: [Resolvido]Importacao de aquivo DBF

    Mensagem  Eneas 6/7/2012, 14:41

    Então, é que ficou meio grandinho ai nao estava conseguindo postar, ae deixei poucos registros para obtermos um teste...

    Já aproveitando, como eu poderia estar importando determinadas linhas do DBF, ex. tenho a tabela de produtos onde há o campo
    da filial (CODFIL) e quero importar somente as linhas que contenha a filial 02 (codfil = 2).

    E Cliquio obrigado mais uma vez pela atencao bom mestre.
    Anexos
    [Resolvido]Importacao de aquivo DBF Attachmenttestedbf.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (70 Kb) Baixado 11 vez(es)
    avatar
    Eneas
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 123
    Registrado : 04/01/2012

    [Resolvido]Importacao de aquivo DBF Empty Re: [Resolvido]Importacao de aquivo DBF

    Mensagem  Eneas 9/7/2012, 12:19

    Alguem pode me ajudar?
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Importacao de aquivo DBF Empty Re: [Resolvido]Importacao de aquivo DBF

    Mensagem  criquio 9/7/2012, 21:13

    Já que consegue importar certinho do Excel, pode tentar enviar para uma planilha xlsx, salvar essa planilha e importar para o banco. Para isso, pode criar um xlsx vazio para servir de modelo com o nome de Auxiliar.xlsx por exemplo. Esse arquivo servirá de modelo para ser criado outro xlsx com os dados do dbf chamado Tabela.xlsx no meu exemplo. Ao chamar a função, será verificado se existe a Tabela.xlsx. Se existir, apaga. Caso exista a tabela já, ela tambem será excluída para que seja gerada a nova tabela:

    Código:
    Dim dExcel As Excel.Application, tb As Object

    DoCmd.Hourglass True

    Me.lblAviso.Caption = "Preparando dados para importação"

    For Each tb In CurrentDb.TableDefs
        If tb.Name = "MovPro" Then
            DoCmd.DeleteObject acTable, "MovPro"
        End If
    Next

    If Len(Dir(CurrentProject.Path & "\Tabela.xlsx", vbArchive)) > 0 Then
        Kill CurrentProject.Path & "\Tabela.xlsx"
    End If

        Set dExcel = CreateObject("Excel.Application")

            dExcel.workbooks.Add CurrentProject.Path & "\Auxiliar.xlsx"
            dExcel.Visible = False
            dExcel.Worksheets("Plan1").Activate

        With dExcel.ActiveSheet.ListObjects.Add(SourceType:=0, Source:=Array("OLEDB;Provider=Microsoft.ACE.OLEDB.12.0;Password="""";User ID=Admin;Data Source=C:\Caminho\;Mode=Share Deny Write;Extended Properties="""";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:D", "atabase Password="""";Jet OLEDB:Engine Type=18;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Glo", "bal Bulk Transactions=1;Jet OLEDB:New Database Password="""";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=Fal", "se;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;Jet OLEDB:Sup", "port Complex Data=False"), Destination:=Range("$A$1")).QueryTable
            .CommandType = xlCmdTable
            .CommandText = Array("movpro")
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .BackgroundQuery = True
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .PreserveColumnInfo = True
            .SourceDataFile = "C:\Caminho\movpro.dbf"
            .ListObject.DisplayName = "Tabela_movpro"
            .Refresh BackgroundQuery:=False
        End With

            dExcel.ActiveWorkbook.SaveAs CurrentProject.Path & "\Tabela.xlsx"

    Me.lblAviso.Caption = "Importando dados. Aguarde..."

        DoCmd.TransferSpreadsheet acImport, 10, "MovPro", CurrentProject.Path & "\Tabela.xlsx", True, ""

    Me.lblAviso.Caption = "Dados importados."

            dExcel.Application.Quit
            Set dExcel = Nothing
    DoCmd.Hourglass False
    Fiz para uma tabela. É só adaptar.

    O lblAviso é um label que coloquei no meu exemplo para informar ao usuário o que está sendo feito, para que ele não pense que o aplicativo parou de funcionar.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    Eneas
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 123
    Registrado : 04/01/2012

    [Resolvido]Importacao de aquivo DBF Empty Re: [Resolvido]Importacao de aquivo DBF

    Mensagem  Eneas 9/7/2012, 22:01

    Criquio, fiquei feliz em ver a sua resposta. Copiei os códigos que vc me enviou, vou estuda-los certinho.
    Mas, quando estou executando, está dando a msg.:

    "Erro de compilacao"
    "O tipo definido pelo usuario nao foi definido."

    Está apontando para a linha de declaraçao da variavel (Dim dExcel As Excel.Application, tb As Object)

    Obrigado pela sua atençao.
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Importacao de aquivo DBF Empty Re: [Resolvido]Importacao de aquivo DBF

    Mensagem  criquio 9/7/2012, 22:11

    É preciso marcar a referência "Microsoft Excel xx.x Object Library", aonde xx.x é a versão do seu Office. No meu caso, estou utilizando a 2007. Portanto, é 12.0.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    Eneas
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 123
    Registrado : 04/01/2012

    [Resolvido]Importacao de aquivo DBF Empty Re: [Resolvido]Importacao de aquivo DBF

    Mensagem  Eneas 10/7/2012, 13:29

    Criquio, mto obrigado, mas, fiz tudo certinho o q me passou, até fez a importação mas, nao sei o pq importou ainda com os valores arredondados.

    Acho q é zica do meu access rsrsrsrs.

    Enfim, ainda nao deu certo.

    Obrigado.
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Importacao de aquivo DBF Empty Re: [Resolvido]Importacao de aquivo DBF

    Mensagem  criquio 10/7/2012, 15:06

    Aqui funcionou tudo certinho, sem arredondar. Talvez tenha alguns dados que sejam mesmo "redondos", ou não? Se não, quando você importa para o Excel de dentro de uma planilha e depois importa de dentro do Access, funciona normal? E o xlsx exportado do Access para a planilha fica normal ou fica "redondo"?


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    Eneas
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 123
    Registrado : 04/01/2012

    [Resolvido]Importacao de aquivo DBF Empty Re: [Resolvido]Importacao de aquivo DBF

    Mensagem  Eneas 10/7/2012, 20:52

    Criquio, entao isso q é estranho, se eu pegar o DBF e abrir com o Excell, ele vem com os valores ok (nao arredondados) e se eu pegar esse arquivo do excell e importar no access, vem certinho tambem, se eu exportar para do access para o excell ele tambem vai com o valor correto. O problema estah somente ao importar do DBF diretamente para o Access.

    Coisa muito estranha... Será que eh alguma referencia tambem?

    Valeu pelas respostas Criquio.
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Importacao de aquivo DBF Empty Re: [Resolvido]Importacao de aquivo DBF

    Mensagem  criquio 10/7/2012, 21:09

    Mas a função que passei acima não importa direto do dfb não. Ela pega o arquivo xlsx modelo, coloca os dados nesse arquivo, salva ele com o nome de Tabela.xlsx e depois importa desse arquivo Tabela.xlsx para o Access. É nessa parte que eu pergunto se os dados vem com as casas decimais para o Access ou se vem arredondado.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    Eneas
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 123
    Registrado : 04/01/2012

    [Resolvido]Importacao de aquivo DBF Empty Re: [Resolvido]Importacao de aquivo DBF

    Mensagem  Eneas 10/7/2012, 21:51

    A tah desculpe eu nao entender a pergunta anterior, entao, apos eu executar com as alterações que vc me pediu, eu percebi q na tabela.xlsx os valores sao arredondados tambem. e no access tambem foi arrendondado.

    Muito estranho isso tudo.

    Valeu.
    Obrigado mais uma vez grande Criquio.
    avatar
    Eneas
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 123
    Registrado : 04/01/2012

    [Resolvido]Importacao de aquivo DBF Empty Re: [Resolvido]Importacao de aquivo DBF

    Mensagem  Eneas 17/7/2012, 21:00

    Criquio, no seu teste, usando os primeiros código q postei, importou com os valores arredondados ou nao?
    Só para saber se o problema pode ser nesse access. Outra coisa, o access q uso aki eh o 2007, o seu tb é?

    Valeu Criquio.

    Conteúdo patrocinado


    [Resolvido]Importacao de aquivo DBF Empty Re: [Resolvido]Importacao de aquivo DBF

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 10:32