PASSAR CONTEUDO DO FORM PARA OUTRO FORM

ADHEL 28/01/2010 09:17:36
#332990
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.
SINKERTEC 28/01/2010 09:22:25
#332992


Cara..parece simples demais pra ser vdd.mas

Form2.Text1 = Form1.Text1

Seria isso?
ADHEL 28/01/2010 09:37:25
#332994
Olá amigo SINKERTEC

Desculpe, já tinha tentado desta forma,esqueci de postar.
Desta forma tb não dá.
LEANDRO 28/01/2010 09:40:04
#332995
Resposta escolhida
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
SINKERTEC 28/01/2010 09:46:13
#332998

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
SINKERTEC 28/01/2010 11:02:19
#333019

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
ADHEL 29/01/2010 09:49:16
#333127
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
LEANDRO 29/01/2010 09:56:50
#333128
Como você carrega o ListItems do FrmConOrc ?
ADHEL 29/01/2010 10:06:08
#333129
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
LEANDRO 29/01/2010 10:51:27
#333146
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
ADHEL 29/01/2010 12:36:45
#333162
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.




Página 1 de 2 [11 registro(s)]
Tópico encerrado , respostas não são mais permitidas