RESULTADO DE BUSCA EM OUTRO FORM
Pessoal...
Como faço para abrir outro formulario contendo nele o resultado de uma busca no BD ?
Meu objetivo é que o 1º Form fique inacessÃvel enquanto o outro estiver aberto... no VB-6 faz-se assim: [Ô]Form2.Show vbModal[Ô].
Fiz assim:
Até que abre, porém no primeiro acesso as caixas estão vazias... aà quando faço a 2ª busca, as caixas aparecem preenchidas com os resultados da 1ª busca e assim sucessivamente...
Quando deixo apenas o [Ô]Infos.Show()[Ô], funciona beleza, porém permite o acesso ao 1º Form...
alguém tem uma solução para isso ?
Como faço para abrir outro formulario contendo nele o resultado de uma busca no BD ?
Meu objetivo é que o 1º Form fique inacessÃvel enquanto o outro estiver aberto... no VB-6 faz-se assim: [Ô]Form2.Show vbModal[Ô].
Fiz assim:
Public Sub BuscaID()
Dim vUser As String = InputBox([Ô]Informe o Nome do Usuário[Ô], [Ô]ATENÇÂO ![Ô], [Ô][Ô])
Dim Conn As OleDbConnection = New OleDbConnection([Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=[Ô] & Application.StartupPath & [Ô]\bd1.mdb[Ô])
Dim Da As OleDbDataAdapter = New OleDbDataAdapter([Ô]select * from table1 where Nome=[ô][Ô] & vUser & [Ô][ô][Ô], Conn)
Dim Ds As DataSet = New DataSet
Try
Conn.Open()
Da.Fill(Ds, [Ô]table1[Ô])
Infos.ShowDialog() [ô] Infos é o nome do 2º Form;
Infos.lb_id.Text = Ds.Tables([Ô]table1[Ô]).Rows(0).Item(0).ToString
Infos.txt_nome.Text = Ds.Tables([Ô]table1[Ô]).Rows(0).Item(1).ToString
Infos.txt_cidade.Text = Ds.Tables([Ô]table1[Ô]).Rows(0).Item(2).ToString
Catch ex As Exception
MsgBox([Ô]O Erro encontrado foi:[Ô] & vbCrLf & ex.Message)
Finally
Conn.Close()
End Try
End Sub
Até que abre, porém no primeiro acesso as caixas estão vazias... aà quando faço a 2ª busca, as caixas aparecem preenchidas com os resultados da 1ª busca e assim sucessivamente...
Quando deixo apenas o [Ô]Infos.Show()[Ô], funciona beleza, porém permite o acesso ao 1º Form...
alguém tem uma solução para isso ?
[ô] Passe esses dados como parâmetros para o form Infos
Public Sub BuscaID()
Dim vUser As String = InputBox([Ô]Informe o Nome do Usuário[Ô], [Ô]ATENÇÂO ![Ô], [Ô][Ô])
Dim Conn As OleDbConnection = New OleDbConnection([Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=[Ô] & Application.StartupPath & [Ô]\bd1.mdb[Ô])
Dim Da As OleDbDataAdapter = New OleDbDataAdapter([Ô]select * from table1 where Nome=[ô][Ô] & vUser & [Ô][ô][Ô], Conn)
Dim Ds As DataSet = New DataSet
Try
Conn.Open()
Da.Fill(Ds, [Ô]table1[Ô])
Dim ID As String = Ds.Tables([Ô]table1[Ô]).Rows(0).Item(0).ToString
Dim Nome As String = Ds.Tables([Ô]table1[Ô]).Rows(0).Item(1).ToString
Dim Cidade As String = Ds.Tables([Ô]table1[Ô]).Rows(0).Item(2).ToString
Dim Info As New Infos(ID, Nome, Cidade)
Info.ShowDialog()
Catch ex As Exception
MsgBox([Ô]O Erro encontrado foi:[Ô] & vbCrLf & ex.Message)
Finally
Conn.Close()
End Try
End Sub
Public Class Infos
[ô] No contrutor da classe adicione esses parâmetros
Public Sub New(ByVal pID As String, ByVal pNome As String, ByVal pCidade As String)
[ô] This call is required by the Windows Form Designer.
InitializeComponent()
[ô] Add any initialization after the InitializeComponent() call.
Me.lb_id.Text = pID
Me.txt_nome.Text = pNome
Me.txt_cidade.Text = pCidade
End Sub
[ô] Limpe os campos ao fechar o formulário
Private Sub Infos_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
Me.lb_id.Text = String.Empty
Me.txt_nome.Text = String.Empty
Me.txt_cidade.Text = String.Empty
End Sub
End Class
Ou limpe as caixas antes
Public Sub BuscaID()
Dim vUser As String = InputBox([Ô]Informe o Nome do Usuário[Ô], [Ô]ATENÇÂO ![Ô], [Ô][Ô])
Dim Conn As OleDbConnection = New OleDbConnection([Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=[Ô] & Application.StartupPath & [Ô]\bd1.mdb[Ô])
Dim Da As OleDbDataAdapter = New OleDbDataAdapter([Ô]select * from table1 where Nome=[ô][Ô] & vUser & [Ô][ô][Ô], Conn)
Dim Ds As DataSet = New DataSet
Try
Conn.Open()
Da.Fill(Ds, [Ô]table1[Ô])
Infos.lb_id.Text = [Ô][Ô]
Infos.txt_nome.Text = [Ô][Ô]
Infos.txt_cidade.Text = [Ô][Ô]
Infos.ShowDialog() [ô] Infos é o nome do 2º Form;
Infos.lb_id.Text = Ds.Tables([Ô]table1[Ô]).Rows(0).Item(0).ToString
Infos.txt_nome.Text = Ds.Tables([Ô]table1[Ô]).Rows(0).Item(1).ToString
Infos.txt_cidade.Text = Ds.Tables([Ô]table1[Ô]).Rows(0).Item(2).ToString
Catch ex As Exception
MsgBox([Ô]O Erro encontrado foi:[Ô] & vbCrLf & ex.Message)
Finally
Conn.Close()
End Try
End Sub
Public Sub BuscaID()
Dim vUser As String = InputBox([Ô]Informe o Nome do Usuário[Ô], [Ô]ATENÇÂO ![Ô], [Ô][Ô])
Dim Conn As OleDbConnection = New OleDbConnection([Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=[Ô] & Application.StartupPath & [Ô]\bd1.mdb[Ô])
Dim Da As OleDbDataAdapter = New OleDbDataAdapter([Ô]select * from table1 where Nome=[ô][Ô] & vUser & [Ô][ô][Ô], Conn)
Dim Ds As DataSet = New DataSet
Try
Conn.Open()
Da.Fill(Ds, [Ô]table1[Ô])
Infos.lb_id.Text = [Ô][Ô]
Infos.txt_nome.Text = [Ô][Ô]
Infos.txt_cidade.Text = [Ô][Ô]
Infos.ShowDialog() [ô] Infos é o nome do 2º Form;
Infos.lb_id.Text = Ds.Tables([Ô]table1[Ô]).Rows(0).Item(0).ToString
Infos.txt_nome.Text = Ds.Tables([Ô]table1[Ô]).Rows(0).Item(1).ToString
Infos.txt_cidade.Text = Ds.Tables([Ô]table1[Ô]).Rows(0).Item(2).ToString
Catch ex As Exception
MsgBox([Ô]O Erro encontrado foi:[Ô] & vbCrLf & ex.Message)
Finally
Conn.Close()
End Try
End Sub
@ MITSUEDA : => Não funcionou...
@ JONATHANSTECKER : => Nossa cara ! tudo isso só para apresentar um resultado de uma pesquisa em outro Form
fazia isso brincando no VB-6 ,
Mas valeu cara ! funcionou beleza
@ JONATHANSTECKER : => Nossa cara ! tudo isso só para apresentar um resultado de uma pesquisa em outro Form
fazia isso brincando no VB-6 ,
Mas valeu cara ! funcionou beleza
Tente alterar essa parte do seu código.
[txt-color=#e80000] Infos.ShowDialog() [ô] Infos é o nome do 2º Form;
Infos.lb_id.Text = Ds.Tables([Ô]table1[Ô]).Rows(0).Item(0).ToString
Infos.txt_nome.Text = Ds.Tables([Ô]table1[Ô]).Rows(0).Item(1).ToString
Infos.txt_cidade.Text = Ds.Tables([Ô]table1[Ô]).Rows(0).Item(2).ToString[/txt-color]
Por esta :
[txt-color=#e80000] Infos.ShowDialog() [ô] Infos é o nome do 2º Form;
Infos.lb_id.Text = Ds.Tables([Ô]table1[Ô]).Rows(0).Item(0).ToString
Infos.txt_nome.Text = Ds.Tables([Ô]table1[Ô]).Rows(0).Item(1).ToString
Infos.txt_cidade.Text = Ds.Tables([Ô]table1[Ô]).Rows(0).Item(2).ToString[/txt-color]
Por esta :
Dim f as Form
f= new infos
f.lb_id.text = bla.bla.bla.
f.txt_nome.text = bla.bla.bla
f.txt_cidade.text = bla.bla.lba.
f.showDialog()
Tente assim então
Public Sub BuscaID()
Dim vUser As String = InputBox([Ô]Informe o Nome do Usuário[Ô], [Ô]ATENÇÂO ![Ô], [Ô][Ô])
Using conn As OleDbConnection = New OleDbConnection([Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=[Ô] & Application.StartupPath & [Ô]\bd1.mdb[Ô])
Try
conn.Open()
Dim sql As String = ([Ô]select * from table1 where Nome=[ô][Ô] & vUser & [Ô][ô][Ô])
Dim cmd As OleDbCommand = New OleDbCommand(sql, conn)
Dim Da As OleDbDataAdapter = New OleDbDataAdapter(cmd)
Dim dt As DataTable = New DataTable
Da.Fill(dt)
Infos.ShowDialog() [ô] Infos é o nome do 2º Form;
Infos.lb_id.Text = dt.Rows(0).Item(0).ToString
Infos.txt_nome.Text = dt.Rows(0).Item(1).ToString
Infos.txt_cidade.Text = dt.Rows(0).Item(2).ToString
Catch ex As Exception
MsgBox([Ô]O Erro encontrado foi:[Ô] & vbCrLf & ex.Message)
Finally
conn.Close()
End Try
End Using
End Sub
Public Sub BuscaID()
Dim vUser As String = InputBox([Ô]Informe o Nome do Usuário[Ô], [Ô]ATENÇÂO ![Ô], [Ô][Ô])
Using conn As OleDbConnection = New OleDbConnection([Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=[Ô] & Application.StartupPath & [Ô]\bd1.mdb[Ô])
Try
conn.Open()
Dim sql As String = ([Ô]select * from table1 where Nome=[ô][Ô] & vUser & [Ô][ô][Ô])
Dim cmd As OleDbCommand = New OleDbCommand(sql, conn)
Dim Da As OleDbDataAdapter = New OleDbDataAdapter(cmd)
Dim dt As DataTable = New DataTable
Da.Fill(dt)
Infos.ShowDialog() [ô] Infos é o nome do 2º Form;
Infos.lb_id.Text = dt.Rows(0).Item(0).ToString
Infos.txt_nome.Text = dt.Rows(0).Item(1).ToString
Infos.txt_cidade.Text = dt.Rows(0).Item(2).ToString
Catch ex As Exception
MsgBox([Ô]O Erro encontrado foi:[Ô] & vbCrLf & ex.Message)
Finally
conn.Close()
End Try
End Using
End Sub
Opa agora acho que entendi, o que você que é passar parametros para o 2 Form
Eu estava pensado que você estava querendo o contrario
Ai desse jeito que o Jonathan falou e o FoxMan resolve
Abraço
Eu estava pensado que você estava querendo o contrario
Ai desse jeito que o Jonathan falou e o FoxMan resolve
Abraço
Desculpa discordar... mas não acho que seja [Ô]tudo isso[Ô], exitem N maneiras de se passar parâmetros, eu lhe apresentei uma delas. (E detalhado)
Este código abaixo é basicamente o mesmo que o seu, a única diferença é que no construtor do formulário Infos está sendo adicionado os parâmetros recebidos nos controles.
Obs.: Este código é exatamente o mesmo que eu havia postado anteriormente, porém mais simplificado.
Este código abaixo é basicamente o mesmo que o seu, a única diferença é que no construtor do formulário Infos está sendo adicionado os parâmetros recebidos nos controles.
Public Sub BuscaID()
Dim vUser As String = InputBox([Ô]Informe o Nome do Usuário[Ô], [Ô]ATENÇÂO ![Ô], [Ô][Ô])
Dim Conn As OleDbConnection = New OleDbConnection([Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=[Ô] & Application.StartupPath & [Ô]\bd1.mdb[Ô])
Dim Da As OleDbDataAdapter = New OleDbDataAdapter([Ô]select * from table1 where Nome=[ô][Ô] & vUser & [Ô][ô][Ô], Conn)
Dim Ds As DataSet = New DataSet
Try
Conn.Open()
Da.Fill(Ds, [Ô]table1[Ô])
Dim Info As New Infos(Ds.Tables([Ô]table1[Ô]).Rows(0).Item(0).ToString, Ds.Tables([Ô]table1[Ô]).Rows(0).Item(1).ToString, Ds.Tables([Ô]table1[Ô]).Rows(0).Item(2).ToString)
Info.ShowDialog()
Catch ex As Exception
MsgBox([Ô]O Erro encontrado foi:[Ô] & vbCrLf & ex.Message)
Finally
Conn.Close()
End Try
End Sub
Public Class Infos
Public Sub New(ByVal pID As String, ByVal pNome As String, ByVal pCidade As String)
InitializeComponent()
Me.lb_id.Text = pID
Me.txt_nome.Text = pNome
Me.txt_cidade.Text = pCidade
End Sub
End Class
Obs.: Este código é exatamente o mesmo que eu havia postado anteriormente, porém mais simplificado.
Pessoal, obrigado mesmo !
JONATHANSTECKER : Eu não reclamei não cara ! fiquei apenas surpreso com os detalhes que temos de ter para que o script rode beleza !
Obrigado a todos !
JONATHANSTECKER : Eu não reclamei não cara ! fiquei apenas surpreso com os detalhes que temos de ter para que o script rode beleza !
Obrigado a todos !
Tópico encerrado , respostas não são mais permitidas