Boa noite,
A macro busca o código do produto colocado na caixa de combinação e preenche as caixas de texto descrição, linha e seguimento. Ela precisa estar associada dois eventos:
- “Texto modificado” do controle txtCódigo.
- “Após alteração do registro” formulário MainForm.
.
Um consideração que faço é que com o código você verá que é desnecessário armazenar a descrição, a linha e o seguimento na tabela Lançamento. Na verdade, não faz sentido repetir o armazenamento destes dados para cada vez que o produto aparecer num lançamento se eles já existem na tabela Produtos.
.
Sub PreencherCampos()
Dim oForm as Object, oCodigo as Object, oDescricao as Object
Dim oLinha as Object, oSeguimento as Object, oConexao as Object
Dim oSQL as Object, oResultado as Object
Dim sCodigo as String, sSQL as String
oForm = ThisComponent.Drawpage.Forms.getByName("MainForm")
oCodigo = oForm.getByName("txtCódigo")
oDescricao = oForm.getByName("txtDescrição")
oLinha = oForm.getByName("txtLinha")
oSeguimento = oForm.getByName("txtSeguimento")
On Error goto TratarErro
oConexao = oForm.ActiveConnection
oSQL = oConexao.createStatement()
sCodigo = oCodigo.Text
sSQL = "SELECT ""Descricao"", ""Linha"", ""Segmento"" FROM ""Produtos"" WHERE ""Codigo"" = '" & sCodigo & "'"
oResultado = oSQL.executeQuery( sSQL )
oResultado.Next
oDescricao.Text = oResultado.getString(1)
oLinha.Text = oResultado.getString(2)
oSeguimento.Text = oResultado.getString(3)
Exit Sub
TratarErro:
oDescricao.text = ""
oLinha.text = ""
oSeguimento.text = ""
End Sub
.
Arquivo com a macro: meu_banco_macro.odb
.
Atte,