Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

faelwan

[Resolvido] Formulario relacionado com varios outros formulários

Recommended Posts

Bom, pessoal toh desenvolvendo um sistema em que vários formulários

chamam o msm formulário, e este por sua vez altera uma caixa de texto do formulário

q o chamou.

 

Trata-se de uma interface para localizar clientes. No cadastro de uma compra, o usuário clica em um botão que chama esse tal formulário que mostra todos os cliente em uma listbox, e uma caixa de texto para filtrar a lista. Ao encontrar o cliente o usuario clica em um botão que executa mais o menos o procedimento - frmCad_Compra.txtCod_Cliente=vcodigo

Sendo frmCad_Compra o nome do formulário e txtCod_Cliente o nome da textbox.

A rotina funciona perfeitamente, entretanto preciso desse formulariozinho de busca em diversos outros formulários que contenha texbox chamada txtCod_Cliente, impossibilitando que eu utilize a referencia frmCad_Compra.

 

Ouvi dizer que deveria manipular variáveis do tipo form, mas nunca ouvi falar sobre elas.

 

Se alguém conhecer alguma forma de solucionar esse problema, agradeço se puder me ajudar.

Um Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha só, você não é o primeiro que vejo com esse tipo de dúvida, e sinceramente, não encontrei ninguém que achou uma solução prática.

 

Mas tenho uma gambiarra que pode ser feita.

 

Quando você chamar esse formulariozinho para a consulta de clientes, jogo no tag dele o nome do furmulário atual no qual se encontra.

 

Ai quando você tiver que voltar do formulariozinho para o formulário anterior que estava, utilize um if, dizendo "se frmzinho.tag = form1 faça form1.show senão se frmzinho.tag = form2 faça form2.show

 

Bom, não é algo bonito mas é funcional.

 

Falou...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao entendi muito bem...

mas vamos lá..

Tenta fazer um array com os seus formulários do tipo Form.

Depois pra cada formulário desse array você faz

for i=0 to UBound(ARRAY)
  For Each ctr in ARRAY(VARIAVEL)
   if(ctr.Name = "txt_seutext")Then
   'agora faz
   end if
  next
NExt

Se você quiser procurar um controle dentro dos forms esse, acho que, é o caminho.

 

Só que eu não consegui fazer

Dim Aarray(0 to 10) as Form
Aarray(0) = Form1 'aki deu erro
Não sei por que deu erro ali...

 

Mas tenta ae cara... qualquer coisa só falar :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao entendi muito bem...

mas vamos lá..

Tenta fazer um array com os seus formulários do tipo Form.

Depois pra cada formulário desse array você faz

for i=0 to UBound(ARRAY)
  For Each ctr in ARRAY(VARIAVEL)
   if(ctr.Name = "txt_seutext")Then
   'agora faz
   end if
  next
NExt

Se você quiser procurar um controle dentro dos forms esse, acho que, é o caminho.

 

Só que eu não consegui fazer

Dim Aarray(0 to 10) as Form
Aarray(0) = Form1 'aki deu erro
Não sei por que deu erro ali...

 

Mas tenta ae cara... qualquer coisa só falar :)

Então Scorpio, eu já tentei fazer isso antes. Mas me parece que declarar uma variável como sendo form você só consegue usar no próprio form que está, não podendo declarar outros nela. Por isso te deu erro.

 

Eu já tentei declará-la como publica, mas ele nem sequer aceita. O pior de tudo é que, mesmo que você tivesse apenas um formulário aberto e tentasse comparar assim "if form1.visible = true then", ele também não funciona, pois para todos dá true, pois quando faz a verificação, ele abre o form.

 

Sendo assim, foi por isso que acabei chegando naquela "gambi" que fiz, hehehe...

 

Bom, talvez exista algum outro jeito, só postei para dizer que o erro que deu para você é normal, rs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ae pessoal, me baseando no que disse nosso amigo Cláudio Neto, mudei um pokinho e fiz do meu jeito:

 

-Criei uma variável no "formzinho" chamada vform do tipo string.

-No botão de cada formulário, o que chama o formzinho, coloquei a instrução:

frmLocalizaCliente.vform=frmCad_Compra.name
onde frmLocalizaCliente é o formzinho, vform é a variável que vai guardar o nome do form que chamou o formzinho e Cad_Compra o form que está chamando o formzinho.

rsrs complexo!

 

-Dessa forma, no formzinho quando precisava chamar a textbox

no form q o havia chamado, fiz um if :

 

if vform="frmCad_Compra" then
frmCad_Compra.txtCodCli = vcodigo
else if vform="frmPromocoes" then
frmCad_Promocoes.txtCodCli = vcodigo
end if

E assim por diante!

Funcionou legalzinho! Vlws pessoal! Um Abrax

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.