none
Trabalhar com o BindingNavigator VB.NET totalmente como faço? RRS feed

  • Pergunta

  • Boa noite a todos!

    Eu não estou sabendo liberar  os textbox para eu poder digitar os novos dados, pois quando clico em "+" addnewItem do Bindingnavigator não acontece nada ou seja não apaga os dados já contidos nos mesmo, eu gostaria que ao clicar no "+" os campos limpassem para eu poder realizar tal operação e outra não sei como usar o saveitem. O código que estou usando é o seguinte:

    Imports System
    Imports System.Collections.Generic
    Imports System.ComponentModel
    Imports System.Data
    Imports System.Data.OleDb
    Imports System.Drawing
    Imports System.Drawing.Drawing2D
    Imports System.Drawing.Text
    Imports System.Math
    Imports System.Windows.Forms
    
    Public Class FrmCadClien
       Dim tblClientes As DataTable, tblContClientes As DataTable
       Dim lCampo As DataRow
       Private bsMasterClientes As New BindingSource()
       Private bsChildClientes As New BindingSource()
    
       Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
          If (m.Msg = WM_SYSCOMMAND AndAlso m.WParam.ToInt32() = SC_MOVE) OrElse (m.Msg = WM_NCLBUTTONDOWN AndAlso m.WParam.ToInt32() = HTCAPTION) Then
             Return
          Else
             MyBase.WndProc(m)
          End If
       End Sub
    
       Private Sub FrmCadClien_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
          Me.Dispose()
    
       End Sub
    
       Private Sub frmPedidos_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
          Dim oRAngle As Rectangle = New Rectangle(0, 0, Me.Width, Me.Height)
          Dim oGradientBrush As Brush = New Drawing.Drawing2D.LinearGradientBrush(oRAngle, Color.LightGreen, Color.Black, Drawing.Drawing2D.LinearGradientMode.Vertical)
          e.Graphics.FillRectangle(oGradientBrush, oRAngle)
          Exit Sub
       End Sub
    
       Private Sub FmCadClien_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    
          Try
    
             gMensagem = "Carregando as Grids Iniciais"
             DtGridCliente.AutoGenerateColumns = False
             DtGridContCliente.AutoGenerateColumns = False
    
             DtGridCliente.DataSource = bsMasterClientes
             DtGridContCliente.DataSource = bsChildClientes
    
             gMensagem = "Coletando Dados para carregar o Form"
             Carrega_Dados()
    
             gMensagem = "Passando campos para controles"
             txtNomeRazaoSocial.DataBindings.Add("Text", Me.bsMasterClientes, "RazaoSocialNome")
             TxtEnd.DataBindings.Add("Text", Me.bsMasterClientes, "Endereco")
             TxtNumCasa.DataBindings.Add("Text", Me.bsMasterClientes, "NumCasa")
             TxtAp.DataBindings.Add("Text", Me.bsMasterClientes, "Apartamento_Casa")
             dtpDataCadastro.DataBindings.Add("Value", Me.bsMasterClientes, "DataCadastro")
             TxtBloco_Quadra.DataBindings.Add("Text", Me.bsMasterClientes, "Bloco_Quadra")
             txtBairroCli.DataBindings.Add("Text", Me.bsMasterClientes, "Bairro")
             mskCepCli.DataBindings.Add("Text", Me.bsMasterClientes, "CEP")
             txtReferencia_Observ.DataBindings.Add("Text", Me.bsMasterClientes, "Referencia_Observ")
             mskTaxaEntrega.DataBindings.Add("text", Me.bsMasterClientes, "TaxaEntrega")
             mskUltimaCompra.DataBindings.Add("Text", Me.bsMasterClientes, "UltimaCompra")
             Exit Sub
    
          Catch ex As Exception
             MsgBox(ex.Message & vbNewLine & gMensagem, MsgBoxStyle.Critical, "ERRO: Abrindo Form")
          End Try
    
       End Sub
    
       Private Sub Carrega_Dados()
          Dim data As New DataSet()
    
          Try
    
             data.Locale = System.Globalization.CultureInfo.InvariantCulture
    
             If gCN.State = ConnectionState.Open Then gCN.Close()
             gCN.Open()
    
             gMensagem = "Adicionar dados da tabela Relacao para o DataSet."
             gSQL = "Select RazaoSocialNome, Endereco, NumCasa, Bloco_Quadra, Apartamento_Casa, Referencia_Observ, CEP, Bairro, DataCadastro, TaxaEntrega, Codigo, " _
                  & " FlagCliente, FlagPessoaFisica, UltimaCompra from Relacao"
             Dim MasterDataAdapter As New OleDb.OleDbDataAdapter(gSQL, gCN)
             MasterDataAdapter.TableMappings.Add("Table", "Relacao")
             MasterDataAdapter.Fill(data, "Relacao")
    
             gMensagem = "Adicionar dados da tabela RelacaoContato para o DataSet."
             gSQL1 = "Select Telefone, Email, Codigo from RelacaoContato"
             Dim DetailsDataAdapter As New OleDb.OleDbDataAdapter(gSQL1, gCN)
             DetailsDataAdapter.Fill(data, "RelacaoContato")
    
             gMensagem = "Estabelecer uma relação entre as duas tabelas."
             Dim Relação As New DataRelation("Relacao_RelacaoContato", data.Tables("Relacao").Columns("Codigo"), data.Tables("RelacaoContato").Columns("Codigo"), True)
             data.Relations.Add(Relação)
    
             gMensagem = "Vincular o conector de dados mestre para a tabela Relacao."
             bsMasterClientes.DataSource = data
             bsMasterClientes.DataMember = "Relacao"
    
             gMensagem = "Vincular o conector de dados detalhes para o conector de dados mestre, " & vbNewLine _
                       & "usando o nome DataRelation para filtrar as informações no " & vbNewLine _
                       & "Detalhes tabela com base na linha atual na tabela mestre."
             bsChildClientes.DataSource = bsMasterClientes
             bsChildClientes.DataMember = "Relacao_RelacaoContato"
    
             gMensagem = "Conectar Navegador aos Dados"
             bnClientes.BindingSource = bsMasterClientes
    
             Exit Sub
    
          Catch ex As Exception
             MsgBox(ex.Message & vbNewLine & gMensagem, MsgBoxStyle.Critical, "ERRO: Relacionamento de Tabelas")
          End Try
    
       End Sub
    
       Private Sub btnFechar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFechar.Click
          Me.Close()
       End Sub
    
       Private Sub BindingNavigatorAddNewItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BindingNavigatorAddNewItem.Click
    
          Try
    
             bsMasterClientes.EndEdit()
             'Call Habilita_Campos()
    
             Exit Sub
    
          Catch ex As Exception
             MsgBox(ex.Message & vbNewLine & gMensagem, MsgBoxStyle.Critical, "ERRO: Incluindo Registro")
          End Try
    
       End Sub
    
       Private Sub Habilita_Campos()
    
          Try
    
             gMensagem = "Limpando campos do Form"
    
             txtNomeRazaoSocial.Clear()
             TxtEnd.Clear()
             TxtNumCasa.Clear()
             TxtAp.Clear()
             txtBairroCli.Clear()
             TxtBloco_Quadra.Clear()
             txtCondominio.Clear()
             mskCepCli.Clear()
             txtReferencia_Observ.Clear()
             mskUltimaCompra.Clear()
             dtpDataCadastro.Value = Format(Now, "dd/MM/yyyy")
    
             gMensagem = "Habilitando campos do Form"
             txtNomeRazaoSocial.ReadOnly = False
             TxtEnd.ReadOnly = False
             TxtNumCasa.ReadOnly = False
             TxtAp.ReadOnly = False
             txtBairroCli.ReadOnly = False
             TxtBloco_Quadra.ReadOnly = False
             txtCondominio.ReadOnly = False
             mskCepCli.ReadOnly = False
             txtReferencia_Observ.ReadOnly = False
    
             Exit Sub
    
          Catch ex As Exception
             MsgBox(ex.Message & vbNewLine & gMensagem, MsgBoxStyle.Critical, "Erro: Habilitando Campos")
          End Try
    
       End Sub
    
       Private Sub txtNomeRazaoSocial_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtNomeRazaoSocial.KeyDown
    
          If e.KeyCode = Keys.Enter Then
             If txtNomeRazaoSocial.Text = String.Empty Then
                MsgBox("Nome/Razão Social com preenchimento obrigatório!", MsgBoxStyle.Information, "AVISO")
                txtNomeRazaoSocial.Focus()
                Exit Sub
             End If
             SendKeys.Send("{TAB}") : Exit Sub
          End If
    
       End Sub
    
       Private Sub BindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BindingNavigatorSaveItem.Click
    
          Try
    
             gMensagem = "Consistencia de Dados"
             If txtNomeRazaoSocial.Text = String.Empty Then
                MsgBox("Campo Nome/Razao Social com preenchimento obrigatório")
                txtNomeRazaoSocial.Focus()
                Exit Sub
             End If
    
             If rdbFisica.Checked = False AndAlso rdbJuridica.Checked = False Then
                MsgBox("Trata-se de pessoa Física ou Jurídica?", MsgBoxStyle.Question, "OPS...")
                Exit Sub
             End If
    
             If rdbClientes.Checked = False Then
                MsgBox("Por favor informe o cadastro!", MsgBoxStyle.Exclamation, "ATENÇÃO")
                Exit Sub
             End If
    
             If TxtEnd.Text = String.Empty Then
                MsgBox("Campo Endereço com preenchimento obrigatório!", MsgBoxStyle.Information, "ATENÇÃO")
                TxtEnd.Focus()
                Exit Sub
             End If
    
             gSQL = "Insert INTO Relacao(RazaoSociaNome, Endereco, NumCasa, Bloco_Quadra, Apartamento_Casa, Referencia_Observ, CEP, Bairro, DataCadastro, Nasc_Dia_Mes, " _
                  & " FlagCliente, FlagPessoaFisica) Values('" & txtNomeRazaoSocial.Text & "', '" & TxtEnd.Text & "', '" & TxtNumCasa.Text & "', '" & TxtBloco_Quadra.Text & "', " _
                  & TxtAp.Text & "', '" & txtReferencia_Observ.Text & "', '" & mskCepCli.Text & "', '" & txtBairroCli.Text & "', '" & CDate(dtpDataCadastro.Value) & "', '" _
                  & mskTaxaEntrega.Text & "', " & True & ", " & IIf(rdbClientes.Checked = True, rdbClientes.Checked, rdbJuridica.Checked) & ")"
             gCMD = New OleDbCommand(gSQL, gCN)
             gCMD.ExecuteNonQuery()
    
             Carrega_Dados()
             Exit Sub
    
          Catch ex As Exception
             MsgBox(ex.Message & vbNewLine & gMensagem, MsgBoxStyle.Critical, "Erro: Adicionando Regitro")
          Finally
             Carrega_Dados()
          End Try
    
       End Sub
    
       Private Sub TxtEnd_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TxtEnd.GotFocus
          TxtEnd.SelectAll()
       End Sub
    
       Private Sub TxtEnd_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TxtEnd.KeyDown
    
          If e.KeyCode = Keys.Enter Then
             If TxtEnd.Text = String.Empty Then
                MsgBox("Campo Endereço com preenchimento obrigatório!", MsgBoxStyle.Exclamation, "AVISO")
                TxtEnd.Focus()
                Exit Sub
             End If
    
             If Not Verificar(TxtEnd.Text) Then
                MsgBox("Registro não localizado na tabela!", MsgBoxStyle.Exclamation, "ATENÇÃO")
                TxtEnd.Clear()
                TxtEnd.Focus()
                Exit Sub
             Else
                panLocalizaEndereco.Visible = True
                panLocalizaEndereco.BringToFront()
                panLocalizaEndereco.Location = New Point(16, 56)
                TxtEnd.Clear()
                dgvLocalizaEndereco.Focus()
             End If
          End If
    
       End Sub
    
       Private Function Verificar(ByVal pParametro As String) As Boolean
    
          If gCN.State = ConnectionState.Open Then gCN.Close()
          gCN.Open()
    
          gSQL = "Select * from Enderecos where Endereco Like '%" & pParametro & "%' order by Endereco"
          gCMD = New OleDbCommand(gSQL, gCN)
          gDtR = gCMD.ExecuteReader
    
          If Not gDtR.HasRows Then
             Return False
             Exit Function
          End If
    
          Do While gDtR.Read
             gMensagem = "Preenchendo Grid de Resultados das busca"
             dgvLocalizaEndereco.Rows.Add(gDtR.Item("Logr"), gDtR.Item("Trat"), gDtR.Item("Endereco"), gDtR.Item("Intervalo"), gDtR.Item("Bairro"), gDtR.Item("TxEntrega"))
          Loop
    
          Return True
    
       End Function
    
       Private Sub dgvLocalizaEndereco_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles dgvLocalizaEndereco.MouseDoubleClick
    
          TxtEnd.Text = Trim(dgvLocalizaEndereco.CurrentRow.Cells(0).Value.ToString()) & " " & Trim(dgvLocalizaEndereco.CurrentRow.Cells(1).Value.ToString()) & " " & dgvLocalizaEndereco.CurrentRow.Cells(2).Value.ToString()
          txtBairroCli.Text = dgvLocalizaEndereco.CurrentRow.Cells(4).Value.ToString()
          mskTaxaEntrega.Text = dgvLocalizaEndereco.CurrentRow.Cells(5).Value.ToString()
    
          dgvLocalizaEndereco.Rows.Clear()
          panLocalizaEndereco.SendToBack()
          panLocalizaEndereco.Visible = False
    
       End Sub
    
       Private Sub Criar_Tabela()
    
          Try
    
             If gCN.State = ConnectionState.Open Then gCN.Close()
             gCN.Open()
    
             gMensagem = "Criando a Tabela temporária"
             gSQL = "Select Identificação, Codigo, CodContato, Descricao, DDD, Telefone, Ramal, EMail, Fax, Obs " _
                  & "INTO tbTMPRelContact From RelacaoContato Where 1 = 0"
             gCMD = New OleDbCommand(gSQL, gCN)
             gDtR = gCMD.ExecuteReader
             gDtR.Close()
    
             If gCN.State = ConnectionState.Open Then gCN.Close()
             gCN.Open()
    
             gMensagem = "Selecionando Dados"
             gSQL = "Select RLCON.Codigo as CodCon, RLCON.CodContato as CodCont, RLCON.Descricao as Descri, RLCON.DDD as DDDCont, RLCON.Telefone as Fone, RLCON.Ramal as RaCont, RLCON.Email as E_M, RLCON.Fax as FaxCont, RLCON.Obs as ObsCont, RLCLI.Codigo as CodCli " _
                  & "From RelacaoContato as RLCON, Relacao as RLCLI Where RLCON.Codigo = RLCLI.Codigo order by RLCON.Codigo asc"
             gCMD = New OleDbCommand(gSQL, gCN)
             gDtR = gCMD.ExecuteReader
    
             If gDtR.HasRows Then
    
                gMensagem = "Inserindo na Tabela Temp"
                Do While gDtR.Read
    
                   gSQL1 = "INSERT INTO tbTMPRelContact(Codigo, CodContato, Descricao, DDD, Telefone, Ramal, EMail, Fax, Obs) " _
                         & "VALUES(" & gDtR.Item("CodCon") & ", '" & gDtR.Item("CodCont") & "','" & gDtR.Item("Descri") & "','" _
                         & gDtR.Item("DDDCont") & "','" & gDtR.Item("Fone") & "','" & gDtR.Item("RaCont") & "','" & gDtR.Item("E_M") & "','" _
                         & gDtR.Item("FaxCont") & "','" & gDtR.Item("ObsCont") & "')"
                   gCMD = New OleDbCommand(gSQL1, gCN)
                   gCMD.ExecuteNonQuery()
    
                Loop
                gDtR.Close()
                gCMD.Dispose()
                gSQL1 = Nothing
    
             Else
                MsgBox("Não há registros na Tabela", MsgBoxStyle.Critical, "ERRO: Consulta sem dados")
                Exit Sub
             End If
    
          Exit Sub
    
          Catch ex As Exception
             MsgBox(ex.Message & vbNewLine & gMensagem, MsgBoxStyle.Critical, "ERRO: Criando e Povoando Nova Table")
          End Try
    
       End Sub
    
    End Class

    E o form é este:

    A quem puder ajudar-me fico imensamente grato!

    Att.


    Dilson J. Hasselmann Desenvolvedor VB.NET

    quarta-feira, 19 de fevereiro de 2014 22:37

Respostas

Todas as Respostas

  • Boa noite a todos!

    Eu não estou sabendo liberar  os textbox para eu poder digitar os novos dados, pois quando clico em "+" addnewItem do Bindingnavigator não acontece nada ou seja não apaga os dados já contidos nos mesmo, eu gostaria que ao clicar no "+" os campos limpassem para eu poder realizar tal operação e outra não sei como usar o saveitem. O código que estou usando é o seguinte:

    Imports System
    Imports System.Collections.Generic
    Imports System.ComponentModel
    Imports System.Data
    Imports System.Data.OleDb
    Imports System.Drawing
    Imports System.Drawing.Drawing2D
    Imports System.Drawing.Text
    Imports System.Math
    Imports System.Windows.Forms
    
    Public Class FrmCadClien
       Dim tblClientes As DataTable, tblContClientes As DataTable
       Dim lCampo As DataRow
       Private bsMasterClientes As New BindingSource()
       Private bsChildClientes As New BindingSource()
    
       Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
          If (m.Msg = WM_SYSCOMMAND AndAlso m.WParam.ToInt32() = SC_MOVE) OrElse (m.Msg = WM_NCLBUTTONDOWN AndAlso m.WParam.ToInt32() = HTCAPTION) Then
             Return
          Else
             MyBase.WndProc(m)
          End If
       End Sub
    
       Private Sub FrmCadClien_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
          Me.Dispose()
    
       End Sub
    
       Private Sub frmPedidos_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
          Dim oRAngle As Rectangle = New Rectangle(0, 0, Me.Width, Me.Height)
          Dim oGradientBrush As Brush = New Drawing.Drawing2D.LinearGradientBrush(oRAngle, Color.LightGreen, Color.Black, Drawing.Drawing2D.LinearGradientMode.Vertical)
          e.Graphics.FillRectangle(oGradientBrush, oRAngle)
          Exit Sub
       End Sub
    
       Private Sub FmCadClien_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    
          Try
    
             gMensagem = "Carregando as Grids Iniciais"
             DtGridCliente.AutoGenerateColumns = False
             DtGridContCliente.AutoGenerateColumns = False
    
             DtGridCliente.DataSource = bsMasterClientes
             DtGridContCliente.DataSource = bsChildClientes
    
             gMensagem = "Coletando Dados para carregar o Form"
             Carrega_Dados()
    
             gMensagem = "Passando campos para controles"
             txtNomeRazaoSocial.DataBindings.Add("Text", Me.bsMasterClientes, "RazaoSocialNome")
             TxtEnd.DataBindings.Add("Text", Me.bsMasterClientes, "Endereco")
             TxtNumCasa.DataBindings.Add("Text", Me.bsMasterClientes, "NumCasa")
             TxtAp.DataBindings.Add("Text", Me.bsMasterClientes, "Apartamento_Casa")
             dtpDataCadastro.DataBindings.Add("Value", Me.bsMasterClientes, "DataCadastro")
             TxtBloco_Quadra.DataBindings.Add("Text", Me.bsMasterClientes, "Bloco_Quadra")
             txtBairroCli.DataBindings.Add("Text", Me.bsMasterClientes, "Bairro")
             mskCepCli.DataBindings.Add("Text", Me.bsMasterClientes, "CEP")
             txtReferencia_Observ.DataBindings.Add("Text", Me.bsMasterClientes, "Referencia_Observ")
             mskTaxaEntrega.DataBindings.Add("text", Me.bsMasterClientes, "TaxaEntrega")
             mskUltimaCompra.DataBindings.Add("Text", Me.bsMasterClientes, "UltimaCompra")
             Exit Sub
    
          Catch ex As Exception
             MsgBox(ex.Message & vbNewLine & gMensagem, MsgBoxStyle.Critical, "ERRO: Abrindo Form")
          End Try
    
       End Sub
    
       Private Sub Carrega_Dados()
          Dim data As New DataSet()
    
          Try
    
             data.Locale = System.Globalization.CultureInfo.InvariantCulture
    
             If gCN.State = ConnectionState.Open Then gCN.Close()
             gCN.Open()
    
             gMensagem = "Adicionar dados da tabela Relacao para o DataSet."
             gSQL = "Select RazaoSocialNome, Endereco, NumCasa, Bloco_Quadra, Apartamento_Casa, Referencia_Observ, CEP, Bairro, DataCadastro, TaxaEntrega, Codigo, " _
                  & " FlagCliente, FlagPessoaFisica, UltimaCompra from Relacao"
             Dim MasterDataAdapter As New OleDb.OleDbDataAdapter(gSQL, gCN)
             MasterDataAdapter.TableMappings.Add("Table", "Relacao")
             MasterDataAdapter.Fill(data, "Relacao")
    
             gMensagem = "Adicionar dados da tabela RelacaoContato para o DataSet."
             gSQL1 = "Select Telefone, Email, Codigo from RelacaoContato"
             Dim DetailsDataAdapter As New OleDb.OleDbDataAdapter(gSQL1, gCN)
             DetailsDataAdapter.Fill(data, "RelacaoContato")
    
             gMensagem = "Estabelecer uma relação entre as duas tabelas."
             Dim Relação As New DataRelation("Relacao_RelacaoContato", data.Tables("Relacao").Columns("Codigo"), data.Tables("RelacaoContato").Columns("Codigo"), True)
             data.Relations.Add(Relação)
    
             gMensagem = "Vincular o conector de dados mestre para a tabela Relacao."
             bsMasterClientes.DataSource = data
             bsMasterClientes.DataMember = "Relacao"
    
             gMensagem = "Vincular o conector de dados detalhes para o conector de dados mestre, " & vbNewLine _
                       & "usando o nome DataRelation para filtrar as informações no " & vbNewLine _
                       & "Detalhes tabela com base na linha atual na tabela mestre."
             bsChildClientes.DataSource = bsMasterClientes
             bsChildClientes.DataMember = "Relacao_RelacaoContato"
    
             gMensagem = "Conectar Navegador aos Dados"
             bnClientes.BindingSource = bsMasterClientes
    
             Exit Sub
    
          Catch ex As Exception
             MsgBox(ex.Message & vbNewLine & gMensagem, MsgBoxStyle.Critical, "ERRO: Relacionamento de Tabelas")
          End Try
    
       End Sub
    
       Private Sub btnFechar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFechar.Click
          Me.Close()
       End Sub
    
       Private Sub BindingNavigatorAddNewItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BindingNavigatorAddNewItem.Click
    
          Try
    
             bsMasterClientes.EndEdit()
             'Call Habilita_Campos()
    
             Exit Sub
    
          Catch ex As Exception
             MsgBox(ex.Message & vbNewLine & gMensagem, MsgBoxStyle.Critical, "ERRO: Incluindo Registro")
          End Try
    
       End Sub
    
       Private Sub Habilita_Campos()
    
          Try
    
             gMensagem = "Limpando campos do Form"
    
             txtNomeRazaoSocial.Clear()
             TxtEnd.Clear()
             TxtNumCasa.Clear()
             TxtAp.Clear()
             txtBairroCli.Clear()
             TxtBloco_Quadra.Clear()
             txtCondominio.Clear()
             mskCepCli.Clear()
             txtReferencia_Observ.Clear()
             mskUltimaCompra.Clear()
             dtpDataCadastro.Value = Format(Now, "dd/MM/yyyy")
    
             gMensagem = "Habilitando campos do Form"
             txtNomeRazaoSocial.ReadOnly = False
             TxtEnd.ReadOnly = False
             TxtNumCasa.ReadOnly = False
             TxtAp.ReadOnly = False
             txtBairroCli.ReadOnly = False
             TxtBloco_Quadra.ReadOnly = False
             txtCondominio.ReadOnly = False
             mskCepCli.ReadOnly = False
             txtReferencia_Observ.ReadOnly = False
    
             Exit Sub
    
          Catch ex As Exception
             MsgBox(ex.Message & vbNewLine & gMensagem, MsgBoxStyle.Critical, "Erro: Habilitando Campos")
          End Try
    
       End Sub
    
       Private Sub txtNomeRazaoSocial_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtNomeRazaoSocial.KeyDown
    
          If e.KeyCode = Keys.Enter Then
             If txtNomeRazaoSocial.Text = String.Empty Then
                MsgBox("Nome/Razão Social com preenchimento obrigatório!", MsgBoxStyle.Information, "AVISO")
                txtNomeRazaoSocial.Focus()
                Exit Sub
             End If
             SendKeys.Send("{TAB}") : Exit Sub
          End If
    
       End Sub
    
       Private Sub BindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BindingNavigatorSaveItem.Click
    
          Try
    
             gMensagem = "Consistencia de Dados"
             If txtNomeRazaoSocial.Text = String.Empty Then
                MsgBox("Campo Nome/Razao Social com preenchimento obrigatório")
                txtNomeRazaoSocial.Focus()
                Exit Sub
             End If
    
             If rdbFisica.Checked = False AndAlso rdbJuridica.Checked = False Then
                MsgBox("Trata-se de pessoa Física ou Jurídica?", MsgBoxStyle.Question, "OPS...")
                Exit Sub
             End If
    
             If rdbClientes.Checked = False Then
                MsgBox("Por favor informe o cadastro!", MsgBoxStyle.Exclamation, "ATENÇÃO")
                Exit Sub
             End If
    
             If TxtEnd.Text = String.Empty Then
                MsgBox("Campo Endereço com preenchimento obrigatório!", MsgBoxStyle.Information, "ATENÇÃO")
                TxtEnd.Focus()
                Exit Sub
             End If
    
             gSQL = "Insert INTO Relacao(RazaoSociaNome, Endereco, NumCasa, Bloco_Quadra, Apartamento_Casa, Referencia_Observ, CEP, Bairro, DataCadastro, Nasc_Dia_Mes, " _
                  & " FlagCliente, FlagPessoaFisica) Values('" & txtNomeRazaoSocial.Text & "', '" & TxtEnd.Text & "', '" & TxtNumCasa.Text & "', '" & TxtBloco_Quadra.Text & "', " _
                  & TxtAp.Text & "', '" & txtReferencia_Observ.Text & "', '" & mskCepCli.Text & "', '" & txtBairroCli.Text & "', '" & CDate(dtpDataCadastro.Value) & "', '" _
                  & mskTaxaEntrega.Text & "', " & True & ", " & IIf(rdbClientes.Checked = True, rdbClientes.Checked, rdbJuridica.Checked) & ")"
             gCMD = New OleDbCommand(gSQL, gCN)
             gCMD.ExecuteNonQuery()
    
             Carrega_Dados()
             Exit Sub
    
          Catch ex As Exception
             MsgBox(ex.Message & vbNewLine & gMensagem, MsgBoxStyle.Critical, "Erro: Adicionando Regitro")
          Finally
             Carrega_Dados()
          End Try
    
       End Sub
    
       Private Sub TxtEnd_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TxtEnd.GotFocus
          TxtEnd.SelectAll()
       End Sub
    
       Private Sub TxtEnd_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TxtEnd.KeyDown
    
          If e.KeyCode = Keys.Enter Then
             If TxtEnd.Text = String.Empty Then
                MsgBox("Campo Endereço com preenchimento obrigatório!", MsgBoxStyle.Exclamation, "AVISO")
                TxtEnd.Focus()
                Exit Sub
             End If
    
             If Not Verificar(TxtEnd.Text) Then
                MsgBox("Registro não localizado na tabela!", MsgBoxStyle.Exclamation, "ATENÇÃO")
                TxtEnd.Clear()
                TxtEnd.Focus()
                Exit Sub
             Else
                panLocalizaEndereco.Visible = True
                panLocalizaEndereco.BringToFront()
                panLocalizaEndereco.Location = New Point(16, 56)
                TxtEnd.Clear()
                dgvLocalizaEndereco.Focus()
             End If
          End If
    
       End Sub
    
       Private Function Verificar(ByVal pParametro As String) As Boolean
    
          If gCN.State = ConnectionState.Open Then gCN.Close()
          gCN.Open()
    
          gSQL = "Select * from Enderecos where Endereco Like '%" & pParametro & "%' order by Endereco"
          gCMD = New OleDbCommand(gSQL, gCN)
          gDtR = gCMD.ExecuteReader
    
          If Not gDtR.HasRows Then
             Return False
             Exit Function
          End If
    
          Do While gDtR.Read
             gMensagem = "Preenchendo Grid de Resultados das busca"
             dgvLocalizaEndereco.Rows.Add(gDtR.Item("Logr"), gDtR.Item("Trat"), gDtR.Item("Endereco"), gDtR.Item("Intervalo"), gDtR.Item("Bairro"), gDtR.Item("TxEntrega"))
          Loop
    
          Return True
    
       End Function
    
       Private Sub dgvLocalizaEndereco_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles dgvLocalizaEndereco.MouseDoubleClick
    
          TxtEnd.Text = Trim(dgvLocalizaEndereco.CurrentRow.Cells(0).Value.ToString()) & " " & Trim(dgvLocalizaEndereco.CurrentRow.Cells(1).Value.ToString()) & " " & dgvLocalizaEndereco.CurrentRow.Cells(2).Value.ToString()
          txtBairroCli.Text = dgvLocalizaEndereco.CurrentRow.Cells(4).Value.ToString()
          mskTaxaEntrega.Text = dgvLocalizaEndereco.CurrentRow.Cells(5).Value.ToString()
    
          dgvLocalizaEndereco.Rows.Clear()
          panLocalizaEndereco.SendToBack()
          panLocalizaEndereco.Visible = False
    
       End Sub
    
       Private Sub Criar_Tabela()
    
          Try
    
             If gCN.State = ConnectionState.Open Then gCN.Close()
             gCN.Open()
    
             gMensagem = "Criando a Tabela temporária"
             gSQL = "Select Identificação, Codigo, CodContato, Descricao, DDD, Telefone, Ramal, EMail, Fax, Obs " _
                  & "INTO tbTMPRelContact From RelacaoContato Where 1 = 0"
             gCMD = New OleDbCommand(gSQL, gCN)
             gDtR = gCMD.ExecuteReader
             gDtR.Close()
    
             If gCN.State = ConnectionState.Open Then gCN.Close()
             gCN.Open()
    
             gMensagem = "Selecionando Dados"
             gSQL = "Select RLCON.Codigo as CodCon, RLCON.CodContato as CodCont, RLCON.Descricao as Descri, RLCON.DDD as DDDCont, RLCON.Telefone as Fone, RLCON.Ramal as RaCont, RLCON.Email as E_M, RLCON.Fax as FaxCont, RLCON.Obs as ObsCont, RLCLI.Codigo as CodCli " _
                  & "From RelacaoContato as RLCON, Relacao as RLCLI Where RLCON.Codigo = RLCLI.Codigo order by RLCON.Codigo asc"
             gCMD = New OleDbCommand(gSQL, gCN)
             gDtR = gCMD.ExecuteReader
    
             If gDtR.HasRows Then
    
                gMensagem = "Inserindo na Tabela Temp"
                Do While gDtR.Read
    
                   gSQL1 = "INSERT INTO tbTMPRelContact(Codigo, CodContato, Descricao, DDD, Telefone, Ramal, EMail, Fax, Obs) " _
                         & "VALUES(" & gDtR.Item("CodCon") & ", '" & gDtR.Item("CodCont") & "','" & gDtR.Item("Descri") & "','" _
                         & gDtR.Item("DDDCont") & "','" & gDtR.Item("Fone") & "','" & gDtR.Item("RaCont") & "','" & gDtR.Item("E_M") & "','" _
                         & gDtR.Item("FaxCont") & "','" & gDtR.Item("ObsCont") & "')"
                   gCMD = New OleDbCommand(gSQL1, gCN)
                   gCMD.ExecuteNonQuery()
    
                Loop
                gDtR.Close()
                gCMD.Dispose()
                gSQL1 = Nothing
    
             Else
                MsgBox("Não há registros na Tabela", MsgBoxStyle.Critical, "ERRO: Consulta sem dados")
                Exit Sub
             End If
    
          Exit Sub
    
          Catch ex As Exception
             MsgBox(ex.Message & vbNewLine & gMensagem, MsgBoxStyle.Critical, "ERRO: Criando e Povoando Nova Table")
          End Try
    
       End Sub
    
    End Class

    E o form é este:

    A quem puder ajudar-me fico imensamente grato!

    Att.


    Dilson J. Hasselmann Desenvolvedor VB.NET

    E ai ninguem para dar pelo menos uma dica?

    Att.


    Dilson J. Hasselmann Desenvolvedor VB.NET

    sexta-feira, 21 de fevereiro de 2014 18:14
  • Seria o evento ItemAdded o que você precisa?

    Herbert Lausmann

    • Marcado como Resposta Giovani Cr sexta-feira, 28 de fevereiro de 2014 18:19
    sexta-feira, 21 de fevereiro de 2014 18:31