Postada em 27/03/2012 21:58 hs
Vou aproveitar e deixar registrado o que fiz para futuras pesquisas de outros usuarios:
'cria a variavel de conexao Dim conexao As New ADODB.Connection 'cria a variavel da tabela Dim produto As New ADODB.Recordset Dim ExProd As Long 'cria a string SQL Dim sql As String
Private Sub cmdcancelar_Click() conexao.Close Set Rs = Nothing Unload Me End Sub
Private Sub cmdexcluir_Click() ExProd = Val(txtnome.Text)
'String para inserir a os itens na tabela sql = "Delete * From produto where nome ='" & txtnome & "'" 'verifica se a tabela esta sendo usada, se estiver ela fecha If produto.State = 1 Then produto.Close 'executa o comando SQL, usando a conexao conexao.Execute sql conexao.Close Rs.Close
End Sub
Private Sub Combo1_Click() 'isso Carrega os campos 'Esse código é só para preencher as textboxs com os valores das tabelas, Set Rs = New ADODB.Recordset sql = "select nome,preco,disponivel,tipo From produto Where nome='" sql = sql & Combo1.List(Combo1.ListIndex) & "'" Rs.Open sql, conexao, adOpenKeyset, adLockPessimistic txtnome.Text = Rs(0) txtpreco.Text = Rs(1) txtquantidade.Text = Rs(2) txttipo.Text = Rs(3) conexao.Execute sql 'Observe que sempre abro o banco, pego as informações e fecho o banco 'Se esse banco estiver no servidor, não terá problema com lentidão na conexão End Sub Private Sub Form_Load() 'abrir a conexao definida no módulo conexao.Open "Provider = Microsoft.Jet.OLEDB.4.0;Data Source =" & App.Path & "dbardb.mdb" Set Rs = New ADODB.Recordset Combo1.Clear 'limpa o combo para não duplicar 'Neste Exemplo estou selecionando vários campos da tabela mas no seu caso é apenas um campo sql = "SELECT nome FROM produto ORDER BY nome" Rs.Open sql, conexao, adOpenKeyset, adLockPessimistic 'Este loop adiciona todos os registros da tabela no combo Do While Not Rs.EOF Combo1.AddItem Rs(0) & "" Rs.MoveNext Loop Combo1.Refresh 'E importante fechar e destruir as váriaveis de acesso ao banco de dados, 'principalmente trabalhando em rede Rs.Close Set Rs = Nothing End Sub
|