none
Como atualizar um Campo em subformulário em Folha de Dados? RRS feed

  • Pergunta

  • Eu tenho um programinha em Access com dois formulários: F_Principal e F_Subform, onde tem um campo chamado: txt_Mensage (campo texto) e um outro chamado: txtDtCont (campo data), com o seguinte código:

    Private Sub txtDtCont_AfterUpdate()
            Dim sProxDataContato As Date
            Dim sDataAtual As Date
            Dim sDataFinalVigencia As Date
                       
            
                  
            'Data atual do sistema
            sDataAtual = Date
           
            'Data do Testbox Proximo Contato
            sProxDataContato = txtDtCont.value
            
            'Data do Testbox Final da Vigência
            sDataFinalVigencia = txtDtFinalVigencia.value
                         
            'If sDataFinalVigencia > sProxDataContato Then
            
            'With txtMensage
                'Me.txtMensage.SetFocus
                'Me("txtMensage") = "ENCERRADO"
                            
            'End With
                 
            'Se a Data for Maior que a data atual
            If sProxDataContato < sDataAtual Then
               
            With txtMensage
                    
                Me.txtMensage.SetFocus
                Me("txtMensage") = "VENCIDO"
                         
                               
            End With
                
           ElseIf sProxDataContato > sDataAtual Then
               
            With txtMensage
                
                Me.txtMensage.SetFocus
                Me("txtMensage") = sProxDataContato - sDataAtual & " " & "DIAS PARA VENCER"
                         
                
            End With
         
            
        End If
    End Sub

    Onde se a data (txtDtCont) for maior que a data atual (do sistema) o título estará "Vencido", se for menor, estará "ENCERRADO", e funciona muito bem, SÓ QUE NÃO ATUALIZA QUANDO ABRE O FORMULÁRIO. 
    [FLASH_VIDEO]  [/FLASH_VIDEO] [IMG]C:\Users\Luciano\Desktop\Nova pasta\F_Principal.bmp[/IMG]
     [IMG]C:\Users\Luciano\Desktop\Nova pasta\F_Subform.bmp[/IMG]

    Já tentei de Tudo, mas não consigo atualizar o campo: txt_Mensage, na folha de dados, quando abro o formulários, apenas se clicar no campo data do txtDtCont. Alguém sabe como eu consigo atualizar os dados, em cascata, de um campo que esteja numa folha de dados. Pesquisei em diversos sites e não encontrei uma solução.
    sexta-feira, 16 de março de 2018 01:45

Todas as Respostas

  • Se for no Access, você vai precisar de um select (código em SQL) para trazer o dado para o formulário. No Excel seria assim:

    Private Sub UserForm_Initialize()
    Me.TextBox1.Text = Plan1.Range("A1").Value
    End Sub
    Não dá para mexer com Access VBA sem manjar muito de SQL.


    A melhor forma de agradecer e votar como util e / ou marcar como resposta. Anderson Diniz diniabr2011@gmail.com


    domingo, 18 de março de 2018 17:17
  • Muito obrigado pela resposta, mas é em Access 2003. Tem como postar um exemplo "hipotético" de como seria esse Select?
    sábado, 24 de março de 2018 12:42
  • Dim sqlQuery As New ADODB.Recordset
    Set sqlQuery = db.Execute("SELECT TaskDetails From TASK WHERE TASK.CustomerID='" & txtCustomerID & "'")
     
    If Not sqlQuery.EOF Then
        txtDetails.Text = sqlQuery("TaskDetails")
    End If


    A melhor forma de agradecer e votar como util e / ou marcar como resposta. Anderson Diniz diniabr2011@gmail.com

    sábado, 24 de março de 2018 21:48
  • https://www.youtube.com/results?search_query=access+vba+select+query+

    A melhor forma de agradecer e votar como util e / ou marcar como resposta. Anderson Diniz diniabr2011@gmail.com

    sábado, 24 de março de 2018 21:52