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]Retorno de consulta utilizando recordset e field

    avatar
    leandrombmb
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Retorno de consulta utilizando recordset e field Empty [Resolvido]Retorno de consulta utilizando recordset e field

    Mensagem  leandrombmb 31/3/2015, 05:46

    Boa noite ! Sou iniciante em VBA, podem me ajudar?

    Tenho uma tabela conforme abaixo:

    id data de nascimento idade
    1 11/07/1980
    4 22/03/1984
    6 23/05/1992
    10 23/05/2003
    11 01/05/2012

    Criei uma consulta que traz todos os valores. (id, data de nascimento, idade)

    Tenho uma função “calculo_de_idade(Date) as integer”

    Preciso pegar todas as datas e passar pela função, pegar o resultado e guardar na tabela no campo idade respectivamente.
    Fiz este código, mas está dando erro "438, O objeto não suporta esta propriedade ou método (Erro 438)

    Public Sub Substitui()
    Dim db As DAO.Database
    Dim rst As DAO.Recordset
    Dim fld As DAO.Field
    Dim strSQL As String

    Set db = CurrentDb()

    strSQL = "SELECT Tb_Cadt_Familia.Cod_Faml, Tb_Cadt_Familia.[Data de Nascimento], Tb_Cadt_Familia.Idade_inscrito FROM Tb_Cadt_Familia;"

    Set rst = db.OpenRecordset(strSQL, dbOpenDynaset)

    rst.MoveFirst
    Do Until rst.EOF
    For Each fld In rst.Fields
    rst.Edit
    fld.Tb_Cadt_Familia.Idade_inscrito = idade_completa((fld.Tb_Cadt_Familia.[Data de Nascimento]))
    rst.Update
    Next fld
    rst.MoveNext
    Loop
    rst.Close
    Set rst = Nothing
    End Sub

    Grato;
    Leandro
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Retorno de consulta utilizando recordset e field Empty Re: [Resolvido]Retorno de consulta utilizando recordset e field

    Mensagem  JPaulo 31/3/2015, 11:38

    Assim;

    Código:
    Public Sub Substitui()
    Dim rst As DAO.Recordset
    Dim fld As DAO.Field
    Dim strSQL As String


    strSQL = "SELECT * FROM Tb_Cadt_Familia"

    Set rst = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)

    If rst.RecordCount = 0 Then Exit Sub

    rst.MoveLast
    rst.MoveFirst
        Do Until rst.EOF
            For Each fld In rst.Fields
            rst.Edit
            rst!Idade = calculo_de_idade(rst![Data de Nascimento])
            rst.Update
            Next fld
        rst.MoveNext
        Loop
    rst.Close: Set rst = Nothing
    End Sub


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Retorno de consulta utilizando recordset e field Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Retorno de consulta utilizando recordset e field Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Retorno de consulta utilizando recordset e field Folder_announce_new Instruções SQL como utilizar...
    avatar
    leandrombmb
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Retorno de consulta utilizando recordset e field Empty Resolvido - Retorno de consulta utilizando recordset e field

    Mensagem  leandrombmb 31/3/2015, 13:43

    Bom dia Amigo !
    Muito obrigado...
    Deus te abençoe


    Estou muito feliz, agradeço pela ajuda, tenho que integrar o programa hoje. No meu programa a função calculava a idade assim que você digitasse a data de nascimento. O problema que depois, um dia a pessoa ia fazer aniversário, e a idade iria ficar desatualizada. Agora vou configurar para que assim que abrir o programa roda esta query. Este exemplo pode ajudar muita gente que está começando...

    Jesus disse:E eu vos digo a vós: Pedi, e dar-se-vos-á; buscai, e achareis; batei, e abrir-se-vos-á;
    Porque qualquer que pede recebe; e quem busca acha; e a quem bate abrir-se-lhe-á.

    Lucas 11:9-10

    Se você tiver um tempinho,poderia me explicar o código um pouco, grato.

    Leandro

    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Retorno de consulta utilizando recordset e field Empty Re: [Resolvido]Retorno de consulta utilizando recordset e field

    Mensagem  JPaulo 31/3/2015, 14:20

    Obrigado pelo retorno o forum agradece;

    Código comentado;

    Public Sub Substitui()
    Dim rst As DAO.Recordset
    Dim fld As DAO.Field
    Dim strSQL As String

    'Faz um select a todos os campos da tabela
    strSQL = "SELECT * FROM Tb_Cadt_Familia"
    'Abre o recordset do SQL acima
    Set rst = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)
    'Se não encontrar registros, morre aqui
    If rst.RecordCount = 0 Then Exit Sub
    'Se encontrar, vai para o ultimo e volta ao primeiro
    rst.MoveLast
    rst.MoveFirst
    Do Until rst.EOF
    For Each fld In rst.Fields
    rst.Edit
    'Faz um update ao campo Idade, chamando a função de Calcular pelo campo Data de Nascimento
    rst!Idade = calculo_de_idade(rst![Data de Nascimento])
    rst.Update
    Next fld
    rst.MoveNext
    Loop
    rst.Close: Set rst = Nothing
    End Sub


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Retorno de consulta utilizando recordset e field Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Retorno de consulta utilizando recordset e field Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Retorno de consulta utilizando recordset e field Folder_announce_new Instruções SQL como utilizar...
    avatar
    leandrombmb
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Retorno de consulta utilizando recordset e field Empty Retorno de consulta utilizando recordset e field

    Mensagem  leandrombmb 31/3/2015, 14:58

    Obrigado, Posso dizer que são vários recordset, e cada recordest possui um field, em cada field têm todos os campos de um registro, faz um loop para varrer do primeiro ao último field e outro loop para varrer todos os recordset.
    Preciso de estudar mais esta bibliotecas para entender as coleções.

    Grato.

    Conteúdo patrocinado


    [Resolvido]Retorno de consulta utilizando recordset e field Empty Re: [Resolvido]Retorno de consulta utilizando recordset e field

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 27/4/2024, 05:16