PASSAR CONTEUDO DO FORM PARA OUTRO FORM
Bom dia pessoal
Eu tenho dois forms
O primeiro é um formulário de consulta de orçamentos.O cliente entra em contato eu faço o orçamento e esse fica gravado.Só que o cliente pode demorar um pouco para dar a resposta.Depois de algum tempo ele avisa que o orçamento foi aprovado.
Eu pesquiso o Orçamento pelo numero e aparece na tela.
Agora que entra o x da questão.
Nesse formulário eu pretendo colocar um botão de comando chamado APROVADO.
Qdo clicasse nesse botão ele automaticamente abriria o meu segundo form chamado de Serviços e as informaçoes que até então estavam apenas no form de orçamentos passariam a existir tb no form de serviços.
Vou postar o conteudo do form de consulta de orçamentos que está funcionando corretamente.
Private Sub cmdPesquisar_Click()
Dim rsO As New Recordset
Dim item As ListItem
lstOrcamentos.ListItems.Clear
Set rsO = CONEXAO.Execute([Ô]SELECT * FROM Orcamentos WHERE NumOrc LIKE [ô]%[Ô] & txtNumOrc & [Ô]%[ô][Ô])
If Not rsO.EOF Then
txtCliente = rsO!Clientes
txtData = rsO!DataOrc
txtEndereco = rsO!Endereco
txtBairro = rsO!Bairro
txtTelefone = rsO!telefone
txtCidade = rsO!Cidade
txtContato = rsO!Contato
lblTotal = rsO!soma
lblTotal = Format(lblTotal, [Ô]currency[Ô])
Do Until rsO.EOF
Set item = lstOrcamentos.ListItems.Add(, , rsO([Ô]Codigo[Ô]))
item.SubItems(1) = rsO([Ô]Produto[Ô])
item.SubItems(2) = rsO([Ô]Precounitario[Ô])
item.SubItems(3) = rsO([Ô]Qte[Ô])
item.SubItems(4) = rsO([Ô]Total[Ô])
item.SubItems(4) = Format(item.SubItems(4), [Ô]Currency[Ô])
item.SubItems(2) = Format(item.SubItems(2), [Ô]Currency[Ô])
rsO.MoveNext
Loop
End If
End Sub
Existe essa possibilidade?
Os forms contém os mesmos objetos.A única coisa que muda é que no form de consulta existe o campo Número do Orçamento
E no form de serviços o campo Número do Serviço
Desde já muito obrigado pessoal.
Eu tenho dois forms
O primeiro é um formulário de consulta de orçamentos.O cliente entra em contato eu faço o orçamento e esse fica gravado.Só que o cliente pode demorar um pouco para dar a resposta.Depois de algum tempo ele avisa que o orçamento foi aprovado.
Eu pesquiso o Orçamento pelo numero e aparece na tela.
Agora que entra o x da questão.
Nesse formulário eu pretendo colocar um botão de comando chamado APROVADO.
Qdo clicasse nesse botão ele automaticamente abriria o meu segundo form chamado de Serviços e as informaçoes que até então estavam apenas no form de orçamentos passariam a existir tb no form de serviços.
Vou postar o conteudo do form de consulta de orçamentos que está funcionando corretamente.
Private Sub cmdPesquisar_Click()
Dim rsO As New Recordset
Dim item As ListItem
lstOrcamentos.ListItems.Clear
Set rsO = CONEXAO.Execute([Ô]SELECT * FROM Orcamentos WHERE NumOrc LIKE [ô]%[Ô] & txtNumOrc & [Ô]%[ô][Ô])
If Not rsO.EOF Then
txtCliente = rsO!Clientes
txtData = rsO!DataOrc
txtEndereco = rsO!Endereco
txtBairro = rsO!Bairro
txtTelefone = rsO!telefone
txtCidade = rsO!Cidade
txtContato = rsO!Contato
lblTotal = rsO!soma
lblTotal = Format(lblTotal, [Ô]currency[Ô])
Do Until rsO.EOF
Set item = lstOrcamentos.ListItems.Add(, , rsO([Ô]Codigo[Ô]))
item.SubItems(1) = rsO([Ô]Produto[Ô])
item.SubItems(2) = rsO([Ô]Precounitario[Ô])
item.SubItems(3) = rsO([Ô]Qte[Ô])
item.SubItems(4) = rsO([Ô]Total[Ô])
item.SubItems(4) = Format(item.SubItems(4), [Ô]Currency[Ô])
item.SubItems(2) = Format(item.SubItems(2), [Ô]Currency[Ô])
rsO.MoveNext
Loop
End If
End Sub
Existe essa possibilidade?
Os forms contém os mesmos objetos.A única coisa que muda é que no form de consulta existe o campo Número do Orçamento
E no form de serviços o campo Número do Serviço
Desde já muito obrigado pessoal.
Cara..parece simples demais pra ser vdd.mas
Form2.Text1 = Form1.Text1
Seria isso?
Olá amigo SINKERTEC
Desculpe, já tinha tentado desta forma,esqueci de postar.
Desta forma tb não dá.
Desculpe, já tinha tentado desta forma,esqueci de postar.
Desta forma tb não dá.
Talvez seja porque o outro Form não esta aberto.
Tente assim, Faça uma Variavel Global em algum lugar publico no seu projeto.
Quando você chamar o outro form passe este valor para a variavel, e quando der um Load no outro Form, pegue o valor da Variavel
Tente assim, Faça uma Variavel Global em algum lugar publico no seu projeto.
Quando você chamar o outro form passe este valor para a variavel, e quando der um Load no outro Form, pegue o valor da Variavel
Com ctz
O form n estando aberto..realmente n vai mesmo
O certo então seria criar variáveis publicas, normalmente num módulo, com os valores do form1....e qdo abrir o form2, jogar os valores das variáveis no form2
Boa sorte
Qdo vc clica no aprovado, significa que o registro ta setado
Sendo assim
Qdo abrir o outro form, basta jogar nele, os valores dos registros que deseja..
Assim dispensaria as variáveis
mais prático
Pessoal fiz a váriavel como vcs me aconselharam.
Os campos do textbox eles passam como desejado ,já os dados que estão no listview lstOrcamentos não.
Tentei de diversas formas a que chegou mais perto foi essa.
frmServicos.txtBairro.Text = frmConOrc.txtBairro.Text
frmServicos.cboCliente.Text = frmConOrc.txtCliente.Text
frmServicos.txtCidade.Text = frmConOrc.txtCidade.Text
frmServicos.txtTelefone.Text = frmConOrc.txtTelefone.Text
frmServicos.txtContato.Text = frmConOrc.txtContato.Text
frmServicos.txtEndereco.Text = frmConOrc.txtEndereco.Text
frmServicos.lstServicos.ListItems.Add(, , txtCodigo) = frmConOrc.lstOrcamentos.ListItems.Add(, , txtCodigo) é ESSA LINHA
Desse modo Não apresenta erro na tela só que onde era para aparecer os códigos dos produtos no listview não aparece nada.
Eu precisava fazer essa linha para depois fazer os subitems.
Obrigado a todos
Os campos do textbox eles passam como desejado ,já os dados que estão no listview lstOrcamentos não.
Tentei de diversas formas a que chegou mais perto foi essa.
frmServicos.txtBairro.Text = frmConOrc.txtBairro.Text
frmServicos.cboCliente.Text = frmConOrc.txtCliente.Text
frmServicos.txtCidade.Text = frmConOrc.txtCidade.Text
frmServicos.txtTelefone.Text = frmConOrc.txtTelefone.Text
frmServicos.txtContato.Text = frmConOrc.txtContato.Text
frmServicos.txtEndereco.Text = frmConOrc.txtEndereco.Text
frmServicos.lstServicos.ListItems.Add(, , txtCodigo) = frmConOrc.lstOrcamentos.ListItems.Add(, , txtCodigo) é ESSA LINHA
Desse modo Não apresenta erro na tela só que onde era para aparecer os códigos dos produtos no listview não aparece nada.
Eu precisava fazer essa linha para depois fazer os subitems.
Obrigado a todos
Como você carrega o ListItems do FrmConOrc ?
Leandro vou postar tudo
Private Sub cmdPesquisar_Click()
Dim rsO As New Recordset
Dim item As ListItem
lstOrcamentos.ListItems.Clear
Set rsO = CONEXAO.Execute([Ô]SELECT * FROM Orcamentos WHERE NumOrc LIKE [ô]%[Ô] & txtNumOrc & [Ô]%[ô][Ô])
If Not rsO.EOF Then
txtCliente = rsO!Clientes
txtData = rsO!DataOrc
txtEndereco = rsO!Endereco
txtBairro = rsO!Bairro
txtTelefone = rsO!telefone
txtCidade = rsO!Cidade
txtContato = rsO!Contato
lblTotal = rsO!soma
lblTotal = Format(lblTotal, [Ô]currency[Ô])
Do Until rsO.EOF
Set item = lstOrcamentos.ListItems.Add(, , rsO([Ô]Codigo[Ô]))
item.SubItems(1) = rsO([Ô]Produto[Ô])
item.SubItems(2) = rsO([Ô]Precounitario[Ô])
item.SubItems(3) = rsO([Ô]Qte[Ô])
item.SubItems(4) = rsO([Ô]Total[Ô])
item.SubItems(4) = Format(item.SubItems(4), [Ô]Currency[Ô])
item.SubItems(2) = Format(item.SubItems(2), [Ô]Currency[Ô])
rsO.MoveNext
Loop
End If
End Sub
Private Sub cmdPesquisar_Click()
Dim rsO As New Recordset
Dim item As ListItem
lstOrcamentos.ListItems.Clear
Set rsO = CONEXAO.Execute([Ô]SELECT * FROM Orcamentos WHERE NumOrc LIKE [ô]%[Ô] & txtNumOrc & [Ô]%[ô][Ô])
If Not rsO.EOF Then
txtCliente = rsO!Clientes
txtData = rsO!DataOrc
txtEndereco = rsO!Endereco
txtBairro = rsO!Bairro
txtTelefone = rsO!telefone
txtCidade = rsO!Cidade
txtContato = rsO!Contato
lblTotal = rsO!soma
lblTotal = Format(lblTotal, [Ô]currency[Ô])
Do Until rsO.EOF
Set item = lstOrcamentos.ListItems.Add(, , rsO([Ô]Codigo[Ô]))
item.SubItems(1) = rsO([Ô]Produto[Ô])
item.SubItems(2) = rsO([Ô]Precounitario[Ô])
item.SubItems(3) = rsO([Ô]Qte[Ô])
item.SubItems(4) = rsO([Ô]Total[Ô])
item.SubItems(4) = Format(item.SubItems(4), [Ô]Currency[Ô])
item.SubItems(2) = Format(item.SubItems(2), [Ô]Currency[Ô])
rsO.MoveNext
Loop
End If
End Sub
Dim rsO As New Recordset
Dim item As ListItem
lstOrcamentos.ListItems.Clear
Set rsO = CONEXAO.Execute([Ô]SELECT * FROM Orcamentos WHERE NumOrc LIKE [ô]%[Ô] & VARIAVELPUBLICA & [Ô]%[ô][Ô])
Do Until rsO.EOF
Set item = lstOrcamentos.ListItems.Add(, , rsO([Ô]Codigo[Ô]))
item.SubItems(1) = rsO([Ô]Produto[Ô])
item.SubItems(2) = rsO([Ô]Precounitario[Ô])
item.SubItems(3) = rsO([Ô]Qte[Ô])
item.SubItems(4) = rsO([Ô]Total[Ô])
item.SubItems(4) = Format(item.SubItems(4), [Ô]Currency[Ô])
item.SubItems(2) = Format(item.SubItems(2), [Ô]Currency[Ô])
rsO.MoveNext
Loop
End If
Aonde eu coloquei a variavelpublic, coloque o nome da sua variavel
Dim item As ListItem
lstOrcamentos.ListItems.Clear
Set rsO = CONEXAO.Execute([Ô]SELECT * FROM Orcamentos WHERE NumOrc LIKE [ô]%[Ô] & VARIAVELPUBLICA & [Ô]%[ô][Ô])
Do Until rsO.EOF
Set item = lstOrcamentos.ListItems.Add(, , rsO([Ô]Codigo[Ô]))
item.SubItems(1) = rsO([Ô]Produto[Ô])
item.SubItems(2) = rsO([Ô]Precounitario[Ô])
item.SubItems(3) = rsO([Ô]Qte[Ô])
item.SubItems(4) = rsO([Ô]Total[Ô])
item.SubItems(4) = Format(item.SubItems(4), [Ô]Currency[Ô])
item.SubItems(2) = Format(item.SubItems(2), [Ô]Currency[Ô])
rsO.MoveNext
Loop
End If
Aonde eu coloquei a variavelpublic, coloque o nome da sua variavel
Leandro
Ou vc não entendeu o que desejo ou eu não entendi sua explicação
Deve ser a segunda opção
Vamos lá
Recapitulando.
Eu tenho um form de Consultas de Orçamentos chamado frmConOrc
Nesse form existem textboxs e 1 listview chamado lstorcamentos.
Qdo coloco o numero do orçamento no campo e clico no botão pesquisar ele encontra todas as informações corretamente.Tantos nos textboxs quanto no listview lstOrcamentos.
Só que nesse mesmo form existe um botão de comando chamado APROVADO.
A minha intenção é que qdo eu clicar nesse botão abrirá um form de Serviços chamado frmservicos e as informações que constam no primeiro form irá automaticamente para este segundo form.
Foi qdo vc me orientou a criar uma váriavel global
E eis ela
frmServicos.txtBairro.Text = frmConOrc.txtBairro.Text
frmServicos.cboCliente.Text = frmConOrc.txtCliente.Text
frmServicos.txtCidade.Text = frmConOrc.txtCidade.Text
frmServicos.txtTelefone.Text = frmConOrc.txtTelefone.Text
frmServicos.txtContato.Text = frmConOrc.txtContato.Text
frmServicos.txtEndereco.Text = frmConOrc.txtEndereco.Text ESSA é A ULTIMA LINHA
Até aqui qdo clico no botão aprovado os dados que estão no textbox passam.Já nos que estão no listview não.
Lógico que está faltando a parte para o listview
Eu fiz desse jeito
frmServicos.lstServicos.ListItems.Add(, , txtCodigo) = frmConOrc.lstOrcamentos.ListItems.Add(, , txtCodigo) ESSA LINHA VAI ABAIXO DA ULTIMA
E infelizmente não deu.
Eu não entendi onde coloco o que vc postou.
Obrigado pela paciência.
Ou vc não entendeu o que desejo ou eu não entendi sua explicação
Deve ser a segunda opção
Vamos lá
Recapitulando.
Eu tenho um form de Consultas de Orçamentos chamado frmConOrc
Nesse form existem textboxs e 1 listview chamado lstorcamentos.
Qdo coloco o numero do orçamento no campo e clico no botão pesquisar ele encontra todas as informações corretamente.Tantos nos textboxs quanto no listview lstOrcamentos.
Só que nesse mesmo form existe um botão de comando chamado APROVADO.
A minha intenção é que qdo eu clicar nesse botão abrirá um form de Serviços chamado frmservicos e as informações que constam no primeiro form irá automaticamente para este segundo form.
Foi qdo vc me orientou a criar uma váriavel global
E eis ela
frmServicos.txtBairro.Text = frmConOrc.txtBairro.Text
frmServicos.cboCliente.Text = frmConOrc.txtCliente.Text
frmServicos.txtCidade.Text = frmConOrc.txtCidade.Text
frmServicos.txtTelefone.Text = frmConOrc.txtTelefone.Text
frmServicos.txtContato.Text = frmConOrc.txtContato.Text
frmServicos.txtEndereco.Text = frmConOrc.txtEndereco.Text ESSA é A ULTIMA LINHA
Até aqui qdo clico no botão aprovado os dados que estão no textbox passam.Já nos que estão no listview não.
Lógico que está faltando a parte para o listview
Eu fiz desse jeito
frmServicos.lstServicos.ListItems.Add(, , txtCodigo) = frmConOrc.lstOrcamentos.ListItems.Add(, , txtCodigo) ESSA LINHA VAI ABAIXO DA ULTIMA
E infelizmente não deu.
Eu não entendi onde coloco o que vc postou.
Obrigado pela paciência.
Tópico encerrado , respostas não são mais permitidas