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]RecordSet baseado em variavel

    avatar
    EliasSantos
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 36
    Registrado : 01/10/2011

    [Resolvido]RecordSet baseado em variavel Empty [Resolvido]RecordSet baseado em variavel

    Mensagem  EliasSantos 14/8/2018, 03:47

    Boa Noite a todos!

    Tenho pouca experiência com VBA

    Estou usando um código do mestre Avelino para exportar para um arquivo do word, mas está dando erro na parte que preenche uma tabela quando tento atribuir uma variável nesta parte do código:

         strsql = "SELECT COD,NOMES,ID,CPF,AG,CTA_CORRENTE FROM TB_SIAFE_ASPLAN_SUB "
         strsql = strsql & "WHERE COD = 2;"      <<<<< Se eu escrevo o valor do campo COD nesta linha, funciona normalmente:

         Set rs = CurrentDb.OpenRecordset(strsql, 8)

         Do While Not rs.EOF
       
             With .ActiveDocument.Tables(1)
                 With .rows.Last
                     .Cells(1).Range.Text = rs!NOMES
                     .Cells(2).Range.Text = rs!ID
                     .Cells(3).Range.Text = rs!CPF          'Format(rs!ValorDoc, "Currency")
                     .Cells(4).Range.Text = rs!AG
                     .Cells(5).Range.Text = rs!CTA_CORRENTE
                 End With
                 rs.MoveNext
                If Not rs.EOF Then .rows.Add
             End With
         Loop
         rs.Close
         Set rs = Nothing

    Mas se tento usar a variável, que é um campo numérico no form da erro:
         Dim INDICE
         INDICE = Me.COD

         strsql = "SELECT COD,NOMES,ID,CPF,AG,CTA_CORRENTE FROM TB_SIAFE_ASPLAN_SUB "
         strsql = strsql & "WHERE COD = INDICE;"


    O erro ocorre nesta linha:
    Set rs = CurrentDb.OpenRecordset(strsql, 8)

    Erro 3061
    Parâmetros insuficiêntes. Eram esperados 1.

    Desde já agradeço pela ajuda
    livio.sfranca
    livio.sfranca
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 150
    Registrado : 09/01/2018

    [Resolvido]RecordSet baseado em variavel Empty Re: [Resolvido]RecordSet baseado em variavel

    Mensagem  livio.sfranca 14/8/2018, 13:00

    Bom dia Elias,

    Você não pode misturar string (textos) com variáveis ao escrever o código, deve separá-las com "&".

    strsql = strsql & "WHERE COD=" & INDICE

    Espero que ajude.
    avatar
    EliasSantos
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 36
    Registrado : 01/10/2011

    [Resolvido]RecordSet baseado em variavel Empty Re: [Resolvido]RecordSet baseado em variavel

    Mensagem  EliasSantos 14/8/2018, 13:11


    Muito obrigado, Livio!

    Agora funcionou perfeitamente.

    Vou continuar estudando o VBA
    livio.sfranca
    livio.sfranca
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 150
    Registrado : 09/01/2018

    [Resolvido]RecordSet baseado em variavel Empty Re: [Resolvido]RecordSet baseado em variavel

    Mensagem  livio.sfranca 14/8/2018, 13:22

    Obrigado pelo retorno. O fórum agradece!

    Conteúdo patrocinado


    [Resolvido]RecordSet baseado em variavel Empty Re: [Resolvido]RecordSet baseado em variavel

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 19/4/2024, 06:12