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]Erro ao passar parâmetro para função

    everton3x
    everton3x
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 46
    Registrado : 29/01/2012

    [Resolvido]Erro ao passar parâmetro para função Empty [Resolvido]Erro ao passar parâmetro para função

    Mensagem  everton3x 17/9/2014, 15:16

    Bom dia colegas:

    Estou recebendo erros relacionado ao tipo de um argumento passado para uma função.

    Chamo a função Import, aparece o erro "Tipo incompatível de argumento ByRef", e no editor do VBA aparece marcada em amarelo a linha "Public Sub Import(strSourceDir As String, arrFiles() As String, strOutputDir As String, intOutputFormat As Integer)" e aparece selecionado a última variável file da linha "SaveLog "Importação terminada para " & file, ImportFile(strSourceDir, file)".

    Se eu altero a linha "SaveLog "Importação terminada para " & file, ImportFile(strSourceDir, file)" para

    Código:
    SaveLog "Importação terminada para " & file, ImportFile(strSourceDir, ByVal file)

    então, ocorre o erro "Tipos incompatíveis".

    Se eu verifico o tipo da variável file dentro do for each, ele retorna String, o que é compatível com o tipo exigido pelo argumento strFile em ImportFile.

    Abaixo o código completo.

    Código:

    Public Sub Import(strSourceDir As String, arrFiles() As String, strOutputDir As String, intOutputFormat As Integer)
    Dim strOutputFormat As String

    SaveLog "Iniciando a conversão dos arquivos", True
    SaveLog "Diretório fonte dos arquivos do PAD: " & strSourceDir, True
    SaveLog "Diretório de saída dos dados: " & strOutputDir, True

    Select Case intOutputFormat
        Case 1
            strOutputFormat = "CSV"
        Case 2
            strOutputFormat = "Excel"
        Case 3
            strOutputFormat = "Access"
    End Select

    SaveLog "Formato de saída dos dados: " & strOutputFormat, True

    For Each files In arrFiles
        SaveLog files & " selecionado para importação", True
    Next


    For Each file In arrFiles
        SaveLog "Importação terminada para " & file, ImportFile(strSourceDir, file)
    Next

    End Sub

    Public Function ImportFile(strSourceDir As String, strFile As String)

    ImportFile = True
    End Function



    .................................................................................
    Everton da Rosa
    Win11 Pro x64 + Microsoft 365
    everton3x
    everton3x
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 46
    Registrado : 29/01/2012

    [Resolvido]Erro ao passar parâmetro para função Empty Re: [Resolvido]Erro ao passar parâmetro para função

    Mensagem  everton3x 17/9/2014, 15:28

    Que coisa. Se tivesse pesquisado mais 5 minutos não precisaria postar.

    Solucionei alterando o tipo de strFile para Variante na função ImportFile

    Código:
    Public Function ImportFile(strSourceDir As String, strFile As Variant)


    .................................................................................
    Everton da Rosa
    Win11 Pro x64 + Microsoft 365

      Data/hora atual: 22/11/2024, 00:05