Usuário com melhor resposta
Trabalhar com o BindingNavigator VB.NET totalmente como faço?

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
Respostas
-
- Marcado como Resposta Giovani Cr sexta-feira, 28 de fevereiro de 2014 18:19
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
-
- Marcado como Resposta Giovani Cr sexta-feira, 28 de fevereiro de 2014 18:19