Estou desenvolvendo, pela primeira vez, um sistema de busca em VB.Net e Access...
O sistema é simples, porém, não consigo fazer as informações do banco de dados correrem nos Texts. :blink:
São 4 TextBox, o banco está conectado, mas só aparece a primeira linha do Banco, ele não prosegue a leitura de "próximo" e "anterior" nem "primeiro" e "ultimo".
Já estou vesga... :blink:
Revirei os materiais do Marcoratti do avesso, mas sempre dá pane...
O controle dos botões eu fiz com BindingContext...
Segue abaixo o código, se alguém puder, me ajude, pleaseee...
Imports System.Data.OleDb
Imports System.IO
Imports System.Drawing
Public Class Form3
Inherits System.Windows.Forms.Form
Dim RecordCount As Integer
Dim Position As Integer
Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ControleDataSet.Clear()
'Preenche o DataSet
Me.CadArquivosTableAdapter.Fill(Me.ControleDataSet.CadArquivos)
'Vincula os Controles
Me.txtAssunto.DataBindings.Add("Text", Me.ControleDataSet.CadArquivos, "Assunto")
Me.txtDescricao.DataBindings.Add("Text", Me.ControleDataSet.CadArquivos, "Descricao")
Me.txtArquivo.DataBindings.Add("Text", Me.ControleDataSet.CadArquivos, "Arquivo")
Me.txtGaveta.DataBindings.Add("Text", Me.ControleDataSet.CadArquivos, "Gaveta")
'Adiciona o Handles para o Evento Click
AddHandler Me.btnProximo.Click, AddressOf Validacao
AddHandler Me.btnAnterior.Click, AddressOf Validacao
AtualizaLabel()
End Sub
Private Sub Validacao(ByVal sender As System.Object, ByVal e As System.EventArgs)
'Obtem a quatidade de registros
RecordCount = Me.BindingContext(Me.ControleDataSet.CadArquivos).Count
'Obtem a posicao atual
Position = Me.BindingContext(Me.ControleDataSet.CadArquivos).Position
'Verifica se existem registros
If RecordCount <= 1 Then
Me.btnProximo.Enabled = False
Me.btnAnterior.Enabled = False
AtualizaLabel()
End If
'Analisa se podemos voltar
If sender.Equals(Me.btnAnterior) Then
If RecordCount > 1 Then
Me.BindingContext(Me.ControleDataSet.CadArquivos).Position -= 1
Else
Me.btnAnterior.Enabled = False
End If
End If
'Analisa se podemos avancar
If sender.Equals(Me.btnProximo) Then
Me.BindingContext(Me.ControleDataSet.CadArquivos).Position += 1
Else
Me.btnProximo.Enabled = False
End If
'Obtem a nova posicao
Position = Me.BindingContext(Me.ControleDataSet.CadArquivos).Position + 1
'Recalcula os status dos botoes de navegacao
If RecordCount = Position Then
btnProximo.Enabled = False
Else
btnProximo.Enabled = True
End If
If Position = 1 Then
btnAnterior.Enabled = False
Else
btnAnterior.Enabled = True
End If
'Atualiza o label e mostra a posicao atual
AtualizaLabel()
End Sub
Private Sub AtualizaLabel()
RecordCount = Me.BindingContext(Me.ControleDataSet.CadArquivos).Count
Position = Me.BindingContext(Me.ControleDataSet.CadArquivos).Position
If RecordCount <= 1 Then
lblPosicao.Text = "Sem Registro"
Else
lblPosicao.Text = "Registro " & Position & " de " & RecordCount
End If
End Sub
Private Sub Form3_Unload()
End Sub
Private Sub Form3_Activate()
End Sub
Private Sub Form3_Deactivate()
End Sub
Private Sub CadastrarNovoArquivoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CadastrarNovoArquivoToolStripMenuItem.Click
Form1.Show()
Me.Hide()
End Sub
Private Sub FazerNovaBuscaToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FazerNovaBuscaToolStripMenuItem.Click
Form2.Show()
Me.Hide()
End Sub
Private Sub SairToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SairToolStripMenuItem.Click
Dim Sair As String
Dim Cancel As Integer
Sair = MsgBox("Tem certeza de que deseja sair do sistema?", MsgBoxStyle.Exclamation + vbYesNo, "::: Controle de Arquivos :::")
If Sair = vbYes Then
End
Else
Cancel = True
End If
End Sub
Private Sub Form3_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
If MessageBox.Show("Tem certeza de que deseja sair do sistema?", "Closing", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.No Then
e.Cancel() = True
Else
End
End If
End Sub
Private Sub lklAlterar_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles lklAlterar.LinkClicked
Form4.Show()
Me.Hide()
End Sub
Private Sub lklExcluir_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles lklExcluir.LinkClicked
'Confirmar exclusao de registro
Dim Resp As Integer
Resp = MsgBox("Tem certeza que deseja excluir este registro?", MessageBoxButtons.YesNo, "::: Controle de Arquivos :::")
If Resp = vbYes Then
Me.BindingContext(ControleDataSet, "CadArquivos").RemoveAt(Me.BindingContext(ControleDataSet, "CadArquivos").Position)
End If
End Sub
Private Sub txtAssunto_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAssunto.TextChanged
End Sub
Private Sub btnProximo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnProximo.Click
'Incrementa a propriedade Position property do objeto BindingContext para mover um registro para frente.
Me.BindingContext(ControleDataSet, "CadArquivos").Position += 1
End Sub
Private Sub btnAnterior_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAnterior.Click
'Decrementa a propriedade Position property do objeto BindingContext para mover um registro para trás.
Me.BindingContext(ControleDataSet, "CadArquivos").Position -= 1
End Sub
Private Sub btninicio_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btninicio.Click
Me.BindingContext(ControleDataSet, "CadArquivos").Position = 0
End Sub
Private Sub btnfim_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnfim.Click
Me.BindingContext(ControleDataSet, "CadArquivos").Position = Me.BindingContext(ControleDataSet, "CadArquivos").Count - 1
End Sub
End Class
Pergunta
little_angel
Boa tarde...
Estou desenvolvendo, pela primeira vez, um sistema de busca em VB.Net e Access...
O sistema é simples, porém, não consigo fazer as informações do banco de dados correrem nos Texts. :blink:
São 4 TextBox, o banco está conectado, mas só aparece a primeira linha do Banco, ele não prosegue a leitura de "próximo" e "anterior" nem "primeiro" e "ultimo".
Já estou vesga... :blink:
Revirei os materiais do Marcoratti do avesso, mas sempre dá pane...
O controle dos botões eu fiz com BindingContext...
Segue abaixo o código, se alguém puder, me ajude, pleaseee...
Não consigo identificar o erro.. :unsure:
Mas imagino que esteja uma lambança só... rsrs...
------------------------------------------------------------------------------------------------------------------
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.