Entre para seguir isso  
Seguidores 0

VB.NET - Atualizar Banco de Dados Access... =$

2 posts neste tópico

Postado

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...

------------------------------------------------------------------------------------------------------------------

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Postado

Oi, tenta algo assim... boa sorte...!!!

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

SUA_FUNCAO()

End Sub

Sub SUA_FUNCAO()

'Define a conexão, a string SQL, o DataSet, o BindingSource e o TableAdapter

Dim conn As New OleDbConnection(conexao)

Dim SQL As String

Dim dsSUA_TABELA As New DataSet()

SQL = "SELECT SUA_TABELA.CAMPO1, SUA_TABELA.CAMPO2, SUA_TABELA.CAMPO3 FROM SUA_TABELA"

Dim AdapterSUA_TABELA As New OleDbDataAdapter(SQL, conn)

Dim BindingSourceSUA_TABELA As New BindingSource

'Preenche o Adapter com o DataSet e a Table

AdapterSUA_TABELA.Fill(dsCLIENTES, "SUA_TABELA")

'Define o DataView com todos os dados (sem filtro)

DataViewSUA_TABELA = New DataView(dsSUA_TABELA.Tables("SUA_TABELA"))

BindingSourceSUA_TABELA.DataSource = dsSUA_TABELA

BindingSourceSUA_TABELA.DataMember = "SUA_TABELA"

'Abre a conexão

conn.Open()

'Define a origem de dados dos controles

SEU_BindingNavigator.BindingSource = BindingSourceSUA_TABELA

TextBox1.DataBindings.Add("Text", BindingSourceSUA_TABELA, "CAMPO1")

TextBox2.DataBindings.Add("Text", BindingSourceSUA_TABELA, "CAMPO2")

TextBox2.DataBindings.Add("Text", BindingSourceSUA_TABELA, "CAMPO3")

'Fecha a conexão

conn.Close()

End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!


Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.


Entrar Agora
Entre para seguir isso  
Seguidores 0