Decidi criar este tópico porque muita gente começa a ter disto na universidade/escola e é um ramo muito interessante. Além disso tou com um problema que ainda não consegui resolver
Tenho estado a fazer uma aplicação e decidi usar as tabcontrol para mostrar os forms ao longo de todo o programa.
O que eu tenho é:
Form 1 - Onde o programa estará sempre, este form contem 2 tabcontrol. Uma para o "Header" e outra para o "Body".
-No Header estarão os menus ao longo de todo o programa, sempre que pretendo mudar o menu adiciono uma TabPage e vou configurando assim o programa.
-No Body é onde está toda a informação que irei inserir na DB e ou mostrar os resultados de pesquisas à base de dados.
O problema é o seguinte:
Chega ao momento de inserir os valores para a base de dados e tenho o programa desta maneira:

No TabControl 1 tenho o Form5 que contem os botões para guardar todos dados na base de dados e no TabControl2 está aberto o Form4 onde insiro os valores a guardar na DB (nome, idade, e por aí fora).
O problema está que ao carregar no botão que se encontra no form5 (tabcontrol1) os valores ficam a nulo, não aparece nada, e se copiar o mesmo código para um botão no form4 o código funciona a 100%.
Já tentei o seguinte:
No momento em que carrego no botão acrescentar uma linha de código para atualizar os 2 forms - Não resultou.
Inserir um texto numa textbox em valor default para ver se o botão ia buscar pelo menos os dados iniciais.- Não resultou
Ao fazer leave na textbox guardar os dados numa variável pública e tentar inserir os dados através dessas variaveis - Não resultou
Substituir os forms por UserControl - Não resultou.
Alterar o código, e em vez de fazer a inserção dos valores apenas limpar a textbox (form4.textbox.text="") - Não resultou.
Estou a ficar sem ideias para o que possa fazer. Poderei até utilizar o botão dentro do form 4 em vez do form5, mas em termos de design ficaria melhor no botão do form5.
Obs: Dentro do form4 tenho duas GroupBox para separar os tipos de dados que estou a inserir, se no botão do form5 colocar:
msgbox(form4.groupbox1.text) aparece o titulo dessa groupbox, mas se por acaso colocar form4.textbox1.text não aparece valor nenhum, e como se a caixa de texto tivesse vazia apesar de ter valores lá dentro.
Desculpem a imagem amadora, mas fiz no paint para exemplificar melhor :cheesygrin:
Código que utilizo no botão:
Dim Msg As String
Dim Perg As String
Perg = "Pretende gravar o sócio?"
nome = TextBox2.Text
Msg = MsgBox(Perg, vbYesNo, "Sócios")
If Msg = vbNo Then
Else
MsgBox("O Sócio " & (Form5.nome) & " foi gravado com sucesso")
End If
(form5.nome é a variavel que guarda a fazer leave, no form4 funciona sem problemas mas no 5 já não funciona)
ou
Dim Msg As String
Dim Perg As String
Perg = "Pretende gravar o sócio?"
Msg = MsgBox(Perg, vbYesNo, "Sócios")
If Msg = vbNo Then
Else
MsgBox("O Sócio " & (Form4.textbox2.text) & " foi gravado com sucesso")
End If
Algum génio me quer dar umas luzes do que posso fazer?