Access - VBA assegnare valore a un Campo

google-plus Scritto da . Postato in Access

Access - Assegnare un valore a un campo con VBA

Mettiamo di avere una Maschera con sottomaschera (dove vengono effettivamente visualizzati i dati) e un campo riepilogativo sotto di essa:dato di riepilogo

Nella Maschera principale è presente una casella di testo, nella quale immettere una data come filtro.
In base alla data inserita come dato di Input, in seguito alla pressione di un Bottone (anch'esso presente sulla Maschera principale), la sottomaschera deve essere aggiornata con i dati corrispondenti al filtro che vogliamo applicare e con essa anche il dato riepilogativo.

Poiché i dati riepilogativi devono essere presenti anche quando la Form viene caricata per la prima volta, richiamiamo l'evento Form_Load() e al suo interno scriviamo quanto segue:

Private Sub Form_Load()
    'data da casella di testo datainit se non vi è nulla il valore é 01/01/1900
    data_1 = CStr(IIf(IsDate(Me.Form.txtDataInit.Value), Me.Form.txtDataInit.Value, "01/01/1900"))
    
    SQL = "SELECT Sum([tbl_mezzo]![Costo_Giorno]*[tbl_attivita]![Qnt_mezzo])" & _
    " FROM tbl_attivita INNER JOIN tbl_mezzo ON tbl_attivita.ID_Mezzo = tbl_mezzo.ID_Mezzo" & _
    " WHERE tbl_attivita.Data Between #" & data_1 & "# And #" & data_2 & "#;"
    
    'Dichiarazione del Recordset
    Dim RecDati As New ADODB.Recordset
    'Tipo apertura del recordset
    RecDati.LockType = adLockOptimistic
    RecDati.CursorType = adOpenDynamic
    RecDati.CursorLocation = adUseClient
    
    'Eseguo la query:
    RecDati.Open SQL, CurrentProject.Connection

    'Verifico che l'oggetto recordset  ha un record e lo assegno all'etichetta
    If RecDati.RecordCount > 0 Then
    'Popolo la casella di testo del numero contatti per territorio
        Me.txt_Costo_tot_mezzi.Value = RecDati.Fields(0).Value
    'Chiudo il Recordset
        RecDati.Close
    End If
End Sub

Ora, assegnamo al Bottone filtro l'evento su click. All'interno dell'evento richiamiamo l'evento Form_Load come da immagine. Codice:

Form_Load

 Questo farà si che il codice contenuto in Form_Load sia richiamato appena si fa click sul Bottone nella Maschera principale, applicando così il filtro anche alla casella di testo che contiene il dato di riepilogo.vba data conversion


Se hai gradito l'articolo, condividilo, basta un click!

Aggiungi commento


Codice di sicurezza
Aggiorna

  • logo prontopro
  • logo boutique serramento
  • koilab japan and tropical fish farm
  • Trasloco economico - gruppo Arco Traslochi
  • logo flash pulizie
  • logo revolution
  • logo planetkoi small
  • logo finiture
  • ick logo template
  • montaggio mobili trento

Realizzato da: Daniele Gagliardi
Viale Monache 3 - 38062 Arco - TN
- Contattami -

Per essere più facile ed intuitivo, il blog fa uso dei cookie, piccole porzioni di dati che consentono di capire come gli utenti navighino e ne visualizzino le pagine. I cookie non registrano alcuna informazione personale sull'utente ed eventuali dati identificabili non verranno memorizzati.