MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]RecordSet baseado em variavel

    Compartilhe

    EliasSantos
    Novato
    Novato

    Respeito às Regras 100%

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

    [Resolvido]RecordSet baseado em variavel

    Mensagem  EliasSantos em 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
    avatar
    livio.sfranca
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: [Resolvido]RecordSet baseado em variavel

    Mensagem  livio.sfranca em 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.

    EliasSantos
    Novato
    Novato

    Respeito às Regras 100%

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

    Re: [Resolvido]RecordSet baseado em variavel

    Mensagem  EliasSantos em 14/8/2018, 13:11


    Muito obrigado, Livio!

    Agora funcionou perfeitamente.

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

    Respeito às Regras 100%

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

    Re: [Resolvido]RecordSet baseado em variavel

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

    Obrigado pelo retorno. O fórum agradece!

      Data/hora atual: 22/10/2018, 11:27