MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

    Update em modo VBA usando QueryDef não atualiza

    Compartilhe

    leandrombmb
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 31/03/2015

    Update em modo VBA usando QueryDef não atualiza

    Mensagem  leandrombmb em Qua 8 Abr - 12:26

    Boa tarde ! Sou novato... podem me ajudar?

    Tenho duas consultas pronta no access, aparte em vermelho não está atualizando, se tiverem um código mais resumido, aceito também.

    A primeira me traz quantos matriculados tem em uma familia

    _____________________________________________
    nome dela no access: "consulta de matriculados"
    SELECT DISTINCTROW Count(*) AS conte
    FROM Tb_Cadt_Familia INNER JOIN Tb_Cadt_Inscrito ON Tb_Cadt_Familia.[Cod_Faml] = Tb_Cadt_Inscrito.[Cod_Faml]
    WHERE (((Tb_Cadt_Familia.Cod_Faml)=[cod_familia]) AND ((Tb_Cadt_Inscrito.Matriculado)="Sim"));

    ____________________________________________________
    A segunda é uma consulta de atualizaçao:
    nome dela: "Atualiza grafico"
    UPDATE Tb_Cadt_Familia SET Tb_Cadt_Familia.Grafico_Familia_Sim_Não = [vlr]
    WHERE (((Tb_Cadt_Familia.Cod_Faml)=[result]));

    _____________________________________________________________
    no meu código vba, a parte da atualização não está funcionando:

    Public Sub grafico()

       Dim retorno_consulta  As Integer
       Dim atualizado As String
       
       
       Dim db As DAO.Database
       Dim qdfG As QueryDef
       Dim fld As DAO.Field
         
       Set db = CurrentDb
       
       Set qdfG = db.QueryDefs("consulta de matriculados")
       qdfG.Parameters("cod_familia") = 1
       Set dyn = qdfG.OpenRecordset
       For Each fld In dyn.Fields
       Debug.Print fld.Value
          retorno_consulta = fld.Value
          MsgBox "Quantos Matriculados ? " & retorno_consulta
    Next

    If (retorno_consulta > 0) Then
    atualizado = "Sim"
    Else
    atualizado = "Não"
    End If


    Set qdfG = db.QueryDefs("Atualiza grafico")
       qdfG.Parameters("vlr") = atualizado
       qdfG.Parameters("result") = 1

    End Sub

      Data/hora atual: Seg 5 Dez - 12:33