domingo, 28 de abril de 2013

Preenchendo textbox's em formulários desvinculados no Access

Iniciando pelas boas práticas de programação: nada mais lógico do que nomear um TextBox com o mesmo nome do campo da tabela obviamente respeitando os prefixos. Exemplo: no formulário o campo txt_nome recebe o valo do campo... nome! Tenho convivido com situações onde nem sempre isso ocorre. Campo como CNPJ tem variações e é carregado nos formulários em caixas de texto com nomes variados como txt_cnpj, txt_cpfcnpj, txt_cnpj_cli e por ai vai. Considerando que o boa prática foi respeitada, segue um código que preenche os campos de um formulário sem a necessidade de referenciá-los um a um. Escrevi o código para facilitar o dia a dia do desenvolvedor que sempre tem um pedido do tipo "é só acrescentar mais um campo...". Acrescentado o campo e o TextBox correspondente, nada é alterado no código. ;-)
Option Compare Database
Option Explicit

Private Sub Comando8_Click() 

    Dim nome_campo As String
    Dim nome_txt As String
    Dim campo_do_form As Control
    Dim formulario As Form

    ssql = "SELECT * FROM CLIENTES"
    Set rst = New ADODB.Recordset
    rst.Open ssql, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
    rst.MoveFirst

    Set formulario = Form_frm_teste      
    For Each campo_do_form In formulario
        nome_campo = Replace(campo_do_form.Name, "txt_", "")
        If Left(campo_do_form.Name, 3) = "txt" Then
            campo_do_form = rst.Fields(nome_campo).Value
        End If
    Next

    rst.Close
    Set rst = Nothing

End Sub

Nenhum comentário:

Pesquisar este blog

Arquivo do blog

Quem sou eu

Minha foto
Administrador de Empresas/Técnico em Processamento de Dados. Microsoft Office User Specialist - Excel Proficient. Pós-graduado em Business Intelligence.