Tenho um form de pedidos e na parte que temos que preencher com os dados do cliente, temos um botão para abrir um form de pesquiza de clientes igual ao que vemos no link do macoratti:
Acontece que quando, no form de pesquiza, quando cliko em selecionar o registro após ter escolhido, me retona registro = 0. Porem, se eu colocar um breakpoint no código antes de fechar o código ai a variavel registro, tanto no form de pesquisa quanto no form de peidos, esta com o valor correto, mas se eu insistir e forçar a execução após o breakpoint, o valor da variavel é zerada.
segue os códigos:
Pedidos.vb
Imports MySql.Data.MySqlClient
Public Class Pedidos
Dim accDb As New DBConnection
Dim registro As Integer
Dim dr As DataRow
Dim dt As DataTable
Dim ds As DataSet = Nothing
Private Sub bcliente_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bcliente.Click
Dim dialogo As New frmClientes
dialogo.ShowDialog()
If dialogo.DialogResult = Windows.Forms.DialogResult.OK Then
Dim tabela As String = "Clientes"
Dim sql As String = "Select * from " & tabela & " where clienteID = '" & registro & "'"
ds = accDb.ExecuteDS(sql, tabela)
dt = ds.Tables(tabela)
dr = dt.Rows(registro)
codigo.Text = dr("clienteID")
cliente.Text = dr("nome")
registro = dr("clienteID")
Else
MsgBox("Não foi selecionado nenhum cliente.")
codigo.Text = ""
cliente.Text = ""
End If
End Sub
End Class
frmClientes.vb
Imports MySql.Data.MySqlClient
Public Class frmClientes
Dim accDb As New DBConnection
Dim ped As New Pedidos
Dim registro As Integer
Dim dr As DataRow
Dim dt As DataTable
Dim ds As DataSet = Nothing
Dim tabela As String = "Clientes"
Private Sub mostracolunas()
DGWClientes.Columns.Item(0).HeaderText = "ID"
DGWClientes.Columns.Item(1).HeaderText = "CPF_CNPJ"
DGWClientes.Columns.Item(2).HeaderText = "NOME"
DGWClientes.Columns.Item(3).HeaderText = "ENDEREÇO"
DGWClientes.Columns.Item(4).HeaderText = "E-MAIL"
DGWClientes.Columns.Item(5).HeaderText = "ATIVO"
DGWClientes.Columns.Item(6).HeaderText = "DATA"
DGWClientes.Columns.Item(7).HeaderText = "TIPO"
DGWClientes.Columns.Item(5).Visible = False
DGWClientes.Columns.Item(7).Visible = False
End Sub
Private Sub frmClientes_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim sql As String = "Select * from " & tabela & " where ativo='S'"
ds = accDb.ExecuteDS(sql, tabela)
DGWClientes.DataSource = ds.Tables(0).DefaultView
mostracolunas()
End Sub
Private Sub P_Nome_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles P_Nome.TextChanged
Try
Dim sql As String = "Select * from " & tabela & " where ativo='S' and nome like '" & P_Nome.Text & "%'"
ds = accDb.ExecuteDS(sql, tabela)
DGWClientes.DataSource = ds.Tables(0).DefaultView
Catch ex As Exception
MessageBox.Show("Erro: " & ex.Message, "Sem conexão", MessageBoxButtons.OK, MessageBoxIcon.Error)
Exit Sub
End Try
End Sub
Private Sub Selecionar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Selecionar.Click
Dim linha As Integer = DGWClientes.CurrentRow.Index
registro = DGWClientes.Item("clienteID", linha).Value.ToString
DialogResult = System.Windows.Forms.DialogResult.OK
Close()
End Sub
End Class
Ah, só uma observação:
Quando estoui depuirando o código, na linha
Pergunta
Carlos Rocha
Ola.
Tenho um form de pedidos e na parte que temos que preencher com os dados do cliente, temos um botão para abrir um form de pesquiza de clientes igual ao que vemos no link do macoratti:
http://www.macoratti.net/08/06/vbn_psv2.htm
Acontece que quando, no form de pesquiza, quando cliko em selecionar o registro após ter escolhido, me retona registro = 0. Porem, se eu colocar um breakpoint no código antes de fechar o código ai a variavel registro, tanto no form de pesquisa quanto no form de peidos, esta com o valor correto, mas se eu insistir e forçar a execução após o breakpoint, o valor da variavel é zerada.
segue os códigos:
Pedidos.vb
frmClientes.vb Ah, só uma observação: Quando estoui depuirando o código, na linhaA parte System.Windows.Forms.DialogResult.OK, da resultado ok e a parte DialogResult já da Null.
Como pode um resultado ok entregar null para a variavel?
Editado por Carlos RochaLink para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados