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

    [Resolvido]Update em modo VBA usando QueryDef não atualiza

    Compartilhe

    leandrombmb
    Novato
    Novato

    Respeito às Regras 100%

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

    [Resolvido]Update em modo VBA usando QueryDef não atualiza

    Mensagem  leandrombmb em Qua 08 Abr 2015, 17: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: Ter 28 Mar 2017, 11:07