Usuário com melhor resposta
VB 2010 Access Database Botões Anterior e Próximo

Pergunta
-
Tenho um formulário com uma caixa de texto e duas maskedboxes. Nelas aparecem o nome, o celular e telefone que estão armazenados em um registro do bando de dados Access 2007.
O banco de dados tem os campos Código (numeração automática), Nome, Telefone e Celular.
Ao carregar o formulário, são mostrados os dados na caixa de texto e nas makedboxes referentes ao registro ordenado por nome em ordem alfabética.
Gostaria que, ao clicar nos botões próximo e anterior, fossem mostrados os conteúdos do próximo registro e do registro anterior, respectivamente.
Sou iniciante em programação e peço que me enviem os códigos referentes aos botões próximo e anterior.
Por enquanto, meu código está assim:
Imports System.Data.OleDb
Public Class frmAgenda
Private Sub frmAgenda_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Dim con As New OleDbConnection
con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source='|DataDirectory|\Banco de Agenda.accdb'"
con.Open()
Dim comando As New OleDbCommand
comando.CommandText = "SELECT TOP 1 * FROM tb_dados ORDER BY Nome"
comando.CommandType = CommandType.Text
comando.Connection = con
Dim leitor As OleDbDataReader
leitor = comando.ExecuteReader()
leitor.Read()
Me.txtNome.Text = leitor("Nome").ToString
Me.mskCelular.Text = leitor("Celular").ToString
Me.mskTelefone.Text = leitor("Telefone").ToString
End Sub
Private Sub btnProximo_Click(sender As System.Object, e As System.EventArgs) Handles btnProximo.Click
Dim con As New OleDbConnection
con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source='|DataDirectory|\Banco de Agenda.accdb'"
Dim comando As New OleDbCommand
End Sub
Private Sub btnAnterior_Click(sender As System.Object, e As System.EventArgs) Handles btnAnterior.Click
Dim con As New OleDbConnectioncon.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source='|DataDirectory|\Banco de Agenda.accdb'"
Dim comando As New OleDbCommand
End Sub
End Class
Respostas
-
Através da video aula 24 do curso Visual Basic Avançado da Treinamentos TI, aprendi que o código fica da seguinte forma:
Private Sub btnProximo_Click(sender As System.Object, e As System.EventArgs) Handles btnProximo.Click
Me.Tb_dadosBindingSource.MoveNext()
End Sub
Private Sub btnAnterior_Click(sender As System.Object, e As System.EventArgs) Handles btnAnterior.Click
Me.Tb_dadosBindingSource.MovePrevious()
End Sub
- Marcado como Resposta anderson ferreira diniz sexta-feira, 23 de dezembro de 2011 04:31
Todas as Respostas
-
Usa bindingsource. Vais ter de alimentar o seu bindigsource com ainformacao que vem do teu select.
Este control, tem propiedades como, movenext, movelast ect, ect....
Seu codigo vai ficar assim, o teu leitor tem de ser public, declara no teu form, encima:
Dim Ligar_Text As New BindingSource
Private Sub frmAgenda_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Dim con As New OleDbConnection
con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source='|DataDirectory|\Banco de Agenda.accdb'"
con.Open()
Dim comando As New OleDbCommand
comando.CommandText = "SELECT TOP 1 * FROM tb_dados ORDER BY Nome"
comando.CommandType = CommandType.Text
comando.Connection = con
Dim Dt as New DataSet
Dim leitor As New OledbDataadpter
leitor.Fill(DT)
Ligar_Text.DataSource = DT
Me.txtNome.DataDingind.Add("Text", leitor, "Nome", True)
Faz com o resto do control
End Sub
Agora no teu Botao
Ligar_Text.MoveNext()
One word frees us of all the weight and pain of life: that word is love. -
-
Olá Anderson,
Veja o exemplo que coloquei neste link: https://skydrive.live.com/#cid=7DECE45BBF0DB70F&id=7DECE45BBF0DB70F!660
Ele se chama WindowsPreviousNext.zip
[]s!
Fernando Henrique Inocêncio Borba Ferreira
while(alive){ this.WriteCode(); }
Blog: http://ferhenriquef.wordpress.com/
Twitter: @ferhenrique -
-
Através da video aula 24 do curso Visual Basic Avançado da Treinamentos TI, aprendi que o código fica da seguinte forma:
Private Sub btnProximo_Click(sender As System.Object, e As System.EventArgs) Handles btnProximo.Click
Me.Tb_dadosBindingSource.MoveNext()
End Sub
Private Sub btnAnterior_Click(sender As System.Object, e As System.EventArgs) Handles btnAnterior.Click
Me.Tb_dadosBindingSource.MovePrevious()
End Sub
- Marcado como Resposta anderson ferreira diniz sexta-feira, 23 de dezembro de 2011 04:31