Olá, gostaria de saber como escrever no BASIC uma macro para importar os campos de uma tabela ou consulta para os campos de uma caixa de diálogo, similar ao código abaixo:
Function AlterarDados()
'On Error Goto Sair
Dim oPlan as Object, oDBC as Object, oBD as Object, oConexao as Object, oDeclaracao as Object
Dim sProtocolo as String, sData as String, sUsuario as String, sCadastro as String
Dim sNProcesso as String, sLocalizacao as String, sDocumento as String, sNomeTabela as String, sCampos as String
Dim sValores as String, sSQL as String, sBanco as String
dfData = dlg.getControl("dfData")
sData = dfData.Text
lbUsuario = dlg.getControl("lbUsuario")
sUsuario = lbUsuario.Text
lbCadastro = dlg.getControl("lbCadastro")
sCadastro = lbCadastro.Text
tfNProcesso = dlg.getControl("tfNProcesso")
sNProcesso = tfNProcesso.Text
tfLocalizacao = dlg.getControl("tfLocalizacao")
sLocalizacao = tfLocalizacao.Text
cbDocumento = dlg.getControl("cbDocumento")
sDocumento = cbDocumento.Text
sNomeTabela = """Protocolo"""
sCampos = """Data"",""Usuario"",""Cadastro"",""NProcesso"",""Localizacao"",""Documento"""
sValores = "'" & sData & "','" & sUsuario & "','" & sCadastro & "','" & sNProcesso & "','" & sLocalizacao & "','" & sDocumento & "'"
sSQL = "UPDATE " & sNomeTabela & " SET (" & sCampos & ") WHERE ""NProcesso"" = " & sNProcesso
oDesc.Text = oResultado.getString(1) 'este sSQL não é correto
' Obter a conexão ao Banco Defeitos
sBanco = "Distribuição" 'O banco PRECISA estar registrado.
oDBC = createUnoService("com.sun.star.sdb.DatabaseContext")
If Not oDBC.hasByName(sBanco) Then
Msgbox "É preciso registrar o banco '" & sBanco & "' antes de prosseguir.",64
Exit Function
End If
oBD = oDBC.getByName(sBanco)
oConexao = oBD.getConnection("","")
' Executar o SQL
oDeclaracao = oConexao.createStatement()
oDeclaracao.executeUpdate(sSQL)
'oResultado = oSQL.executeQuery( sSQL )
'oResultado.Next
' Fechar a conexão e liberar a memória
oDeclaracao.close()
oConexao.close()
oDeclaracao = Nothing
oConexao = Nothing
MsgBox "Dados salvos na tabela '" & sNomeTabela & "'!",0
End Function