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

    [Resolvido]Importação de arquivos não aceita caracteres acentuados e especiais como cedilha

    avatar
    Fernando.Naque
    Novato
    Novato

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 15/06/2011

    [Resolvido]Importação de arquivos não aceita caracteres acentuados e especiais como cedilha Empty [Resolvido]Importação de arquivos não aceita caracteres acentuados e especiais como cedilha

    Mensagem  Fernando.Naque 16/2/2018, 19:13

    Boa tarde!

    Tenho uma rotina que utilizo para importação de dados, mas durante a importação alguns caracteres não são reconhecidos. Pesquisei e vi que tem relação com o código de paginação, mas não consegui revolver o problema.
    Alguns erros apresentados:

    Matuzal,m = Matuzalém
    SÆo Pedro = São Pedro

    Segue o código utilizado:

    Código:
    Public Function AbriRC()

    ' Requer referencia a Microsoft Office 11 Object Library
       On Error GoTo PROC_ERR
       
       Dim fd As FileDialog
       Set fd = Application.FileDialog(msoFileDialogFilePicker)
       
       fd.Title = "Selecione o arquivo base de Protocolo"
       fd.Filters.Add "Base GIS", "*.dbf, *.xlsx", 1

       fd.Show
       
       If (fd.SelectedItems.Count > 0) Then
           '------inicio importação excel para sincronização
           Dim strPathFile As String, strFile As String, strPath As String
           Dim strTable As String
           Dim FileName As String
           Dim Dir1 As String
           'Dim blnHasFieldNames As Boolean
           Dim db As DAO.Database
           Dim tbl As DAO.TableDef
           Dim cpo As DAO.Field
           Dim nbTypeFile As Integer
           'blnHasFieldNames = True
           Dir1 = Left(fd.SelectedItems(1), (Len(fd.SelectedItems(1)) - Len(strFile)))
           strPathFile = fd.SelectedItems(1)
           strPath = CurrentProject.Path
           strTable = "FromDBF"
           strFile = Dir(fd.SelectedItems(1))
           nbTypeFile = InStr(1, Right(strFile, 5), ".") 'Tipo de Arquivos (1=DBF 2=Excel)
                       
           'MsgBox Left(fd.SelectedItems(1), (Len(fd.SelectedItems(1)) - Len(strFile) - 1)) & " / " & strFile ' Teste
               
                 
           'apaga temporarios
           'DoCmd.RunSQL "Delete * from [FromDBF]"
            DoCmd.DeleteObject acTable, strTable

           
           'On Error Resume Next
                   
           'importa para tabela local temporária
           'Formato XLSX ACRESCETAR A TABELA EXISTENTE
           'DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, strTable, strPathFile, blnHasFieldNames
           
           
                   
           'Formato DBF Importando dados
           DoCmd.TransferDatabase TransferType:=acImport, DatabaseType:="dBASE III", DatabaseName:=Left(fd.SelectedItems(1), (Len(fd.SelectedItems(1)) - Len(strFile) - 1)), ObjectType:=acTable, Source:=strFile, Destination:=strTable
           
           'Executando Consultas Criar Tabela e inserindo as chaves primárias
           DoCmd.SetWarnings (WarbingsOff)
           DoCmd.OpenQuery "CriarTalhao", acViewNormal, acEdit
           CurrentDb.Execute ("Alter Table BaseTalhao ADD COLUMN cd_id1 AutoIncrement;")
           DoCmd.OpenQuery "CriarParcelas", acViewNormal, acEdit
           CurrentDb.Execute ("Alter Table BaseParcelas ADD COLUMN cd_id2 AutoIncrement;")
           DoCmd.SetWarnings (WarbingsOn)
               
           
                     
           'Formato CSV
           
           'DoCmd.TransferText TransferType:=acImportDelim, _
                   TableName:="strTable", hasfieldnames:=True, FileName:=strPathFile
           'DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, strTable, strPathFile, blnHasFieldNames
           
           'sql verifica existentes e marca com não novo
           'DoCmd.OpenQuery "xls01marcaExistentes", acViewNormal, acEdit
           'sql atualiza existentes
           'DoCmd.OpenQuery "xls02AtualizaExistentes", acViewNormal, acEdit
           'sql lança novos no ficheiro funcionarios
           'DoCmd.OpenQuery "xls03LancaNovos", acViewNormal, acEdit
           
           MsgBox "Operação concluída.", vbInformation, ""
           
           
           'apaga temporarios
           'DoCmd.RunSQL "Delete * from [Dados Coletor]"
           
       Else
           MsgBox "Não foi escolhido nenhum ficheiro", vbInformation, ""
       End If
       
    PROC_EXIT:
       Exit Function
       
    PROC_ERR:
       DoCmd.Hourglass False
       If Err.Number = 3011 Then
          LocalXML = ""
          MsgBox ("Ficheiro inválido. Verifique se no nome do arquivo existe espaços em branco, algum caractere especial (- / _ & @) ou se o formato do arquivo está correto.")
          'Cria uma tabela
          Set db = CurrentDb
          Set tbl = db.CreateTableDef("FromDBF")
          Set cpo = tbl.CreateField("cData", dbDate)
          tbl.Fields.Append cpo
          db.TableDefs.Append tbl
          db.TableDefs.Refresh
             
       Else
           MsgBox Err.Description
       End If
       Resume PROC_EXIT
       

    End Function

    SO - Win10 - Access 2016
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7956
    Registrado : 05/11/2009

    [Resolvido]Importação de arquivos não aceita caracteres acentuados e especiais como cedilha Empty Re: [Resolvido]Importação de arquivos não aceita caracteres acentuados e especiais como cedilha

    Mensagem  Alexandre Neves 16/2/2018, 20:12

    Boa noite,
    Tente importar através de DAO/ADO. Poderá ultrapassar a situação (não tenho certeza)


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    Fernando.Naque
    Novato
    Novato

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 15/06/2011

    [Resolvido]Importação de arquivos não aceita caracteres acentuados e especiais como cedilha Empty Re: [Resolvido]Importação de arquivos não aceita caracteres acentuados e especiais como cedilha

    Mensagem  Fernando.Naque 16/2/2018, 22:31

    Testando a aplicação em uma outra maquina sendo a unica diferença o office ser 64 bits não ocorre o problema.

    Então acredito que o problema não esteja no código.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7956
    Registrado : 05/11/2009

    [Resolvido]Importação de arquivos não aceita caracteres acentuados e especiais como cedilha Empty Re: [Resolvido]Importação de arquivos não aceita caracteres acentuados e especiais como cedilha

    Mensagem  Alexandre Neves 17/2/2018, 12:24

    Bom dia,
    Mesmo que seja do sistema, pode ser que pelo DAO/ADO ultrapasse.


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    Fernando.Naque
    Novato
    Novato

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 15/06/2011

    [Resolvido]Importação de arquivos não aceita caracteres acentuados e especiais como cedilha Empty Re: [Resolvido]Importação de arquivos não aceita caracteres acentuados e especiais como cedilha

    Mensagem  Fernando.Naque 19/2/2018, 13:08

    Entendi Alexandre!
    Tem algum post sobre DAO/ADO pois não sei como fazer essa alteração no código.
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7242
    Registrado : 15/03/2013

    [Resolvido]Importação de arquivos não aceita caracteres acentuados e especiais como cedilha Empty Re: [Resolvido]Importação de arquivos não aceita caracteres acentuados e especiais como cedilha

    Mensagem  ahteixeira 19/2/2018, 18:10

    avatar
    Fernando.Naque
    Novato
    Novato

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 15/06/2011

    [Resolvido]Importação de arquivos não aceita caracteres acentuados e especiais como cedilha Empty Re: [Resolvido]Importação de arquivos não aceita caracteres acentuados e especiais como cedilha

    Mensagem  Fernando.Naque 20/2/2018, 01:00

    Alexandre

    A ideia é essa mesmo, mas meu arquivo de importação esta em DBF e não em TXT.

    O objeto Stream(ADO) possui metodos para trabalhar com arquivos DBF?


    Última edição por Fernando.Naque em 20/2/2018, 02:40, editado 1 vez(es)
    avatar
    Fernando.Naque
    Novato
    Novato

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 15/06/2011

    [Resolvido]Importação de arquivos não aceita caracteres acentuados e especiais como cedilha Empty Re: [Resolvido]Importação de arquivos não aceita caracteres acentuados e especiais como cedilha

    Mensagem  Fernando.Naque 20/2/2018, 02:29

    Conforme mencionei anteriormente isso não ocorre em todas as máquinas.

    Consultando o link:
    msdn.microsoft.com/en-us/library/bb177605(v=office.12).aspx  [Não são permitidos links externos]
    Copiar link e colar no navegado

    Com isso verifiquei que a máquina onde gera o erro não estava com a inicialização para Dbase

    Criei um arquivo reg para inserir as informações no registro e corrigiu vários caracteres alguns ainda passam mas a maioria dos problemas foi solucionado.

    Via código para arquivos DBF não consegui a solução.

    As informações inseridas no registro para o Access 2016 e S.O Windows 10 via arquivo .reg em anexo.
    Anexos
    [Resolvido]Importação de arquivos não aceita caracteres acentuados e especiais como cedilha AttachmentAccessEngine.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (3 Kb) Baixado 7 vez(es)
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7242
    Registrado : 15/03/2013

    [Resolvido]Importação de arquivos não aceita caracteres acentuados e especiais como cedilha Empty Re: [Resolvido]Importação de arquivos não aceita caracteres acentuados e especiais como cedilha

    Mensagem  ahteixeira 20/2/2018, 13:00

    Olá Fernando,
    Efetivamente o meu post anterior não se aplica.
    A sugestão do Alexandre Neves carece de teste e poderá ser uma alternativa.
    Relativamente à sugestão da Microsoft isso deve-se por ter sido removido o acesso a base de dados DBF salvo o erro a partir da versão 2013 ou 2016.

    Estou no celular e não encontro, mas tenho uma ideia que a situação pode ser resolvida com a alteração no registry da codificaçao.
    Já vi isso em qualquer lado e poderá resolver.

    Vou tentar encontrar.

    Abraço a todos
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7242
    Registrado : 15/03/2013

    [Resolvido]Importação de arquivos não aceita caracteres acentuados e especiais como cedilha Empty Re: [Resolvido]Importação de arquivos não aceita caracteres acentuados e especiais como cedilha

    Mensagem  ahteixeira 21/2/2018, 23:35

    Olá Fernando,

    Encontrei, é alterar de "OEM" para "ANSI", veja no tópico abaixo:
    https://www.maximoaccess.com/t29628-resolvidocaracteres-estranhos-tabela-dbf-vinculada-ii

    Teste e ficamos aguardar retorno,

    Abraço
    avatar
    Fernando.Naque
    Novato
    Novato

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 15/06/2011

    [Resolvido]Importação de arquivos não aceita caracteres acentuados e especiais como cedilha Empty Re: [Resolvido]Importação de arquivos não aceita caracteres acentuados e especiais como cedilha

    Mensagem  Fernando.Naque 23/2/2018, 20:39

    O problema foi resolvido. Gerei o arquivo DBF novamente e os erros não ocorreram mais.


    Última edição por Fernando.Naque em 23/2/2018, 22:10, editado 1 vez(es)
    avatar
    Fernando.Naque
    Novato
    Novato

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 15/06/2011

    [Resolvido]Importação de arquivos não aceita caracteres acentuados e especiais como cedilha Empty Re: [Resolvido]Importação de arquivos não aceita caracteres acentuados e especiais como cedilha

    Mensagem  Fernando.Naque 23/2/2018, 21:52

    Muito obrigado Alexandre Neves e Ahteixeira pela atenção e dedicação! cheers bounce
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7242
    Registrado : 15/03/2013

    [Resolvido]Importação de arquivos não aceita caracteres acentuados e especiais como cedilha Empty Re: [Resolvido]Importação de arquivos não aceita caracteres acentuados e especiais como cedilha

    Mensagem  ahteixeira 23/2/2018, 23:59

    Olá Fernando,

    Obrigado pelo retorno, o fórum agradece.

    Abraço a todos

      Data/hora atual: 14/6/2021, 07:50