Notifications
Clear all

Transferir dados de um formulário para o outro

9 Posts
2 Usuários
0 Reactions
1,471 Visualizações
(@rilton)
Posts: 232
Reputable Member
Topic starter
 

Boa noite,

Mais uma vez, meus caros expert's, estou aqui pedindo ajuda de vc's.
Queria saber se tem como transferir os dados de uma formulário para o outro? No meu caso, tenho um formulário de precadastro e cadastro. no formulário precadastro tenho tres texbox uma de codigo, outra de descrição dos serviços e outra de situação.Também tem um botão escrito " clique aqui para programar essa atividade". queria quê ao clicar nesse botão, iria abrir o formulario de cadastro e os dados que estão na texbox txtdescricaoservicos fossem transferidos para o formulário que tem a mesma texbox (txtdescricaoservico) do formulario precadastro. Assim iria gerar um novo registro no formulário de cadastro com as informações contidas na texbox, faltando, somente, preencher os restantes dos dados no formulário cadastro.

obs: caso haja possibilidade dessa transferência, os dados da texbox txtdescricaoservico do formulario precadastro iriam permanecer no mesmo local. Na verdade é como se o registro fosse duplicado e movido para outro formulário.

Caso haja alguma parte sem esclarecimento, podem me perguntar que tentarei ser mais claro possível.
segue em anexo o arquivo.

 
Postado : 17/10/2012 9:40 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!
Não baixei seu anexo, consegue botar a cuca para funcionar?

Terá que adaptar!!

Private Sub Transf_Click() 
     
    Dim var_Test As String 
    Dim var_Outros As Integer 
     
    frm_Result.TextBox1 = var_Test
    frm_Result.Textbox2 = var_Outros
    frm_Form2.Show 
     
End Sub 
 
Postado : 18/10/2012 4:35 am
(@rilton)
Posts: 232
Reputable Member
Topic starter
 

alexandrevba, bom dia

Eu entendi sim, porém adptei ao meu formulário e não funcionou. a texbox não está transferindo o seu valor. devo de estar fazendo algo errado.
Private Sub Transf_Click()

Dim var_Test As String
Dim var_Outros As Integer

frmprecadastro.txtdescricaoservico = var_Test
frmcadastro.txtdescricaoservico = var_Outros
frmcadastro.Show

End Sub

também, queria que ao transferir os dados, o formulário que recebe o mesmo abrisse em modo de inserir registro.

 
Postado : 18/10/2012 8:12 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Experimente assim:
no FrmCadastro evento Private Sub UserForm_Initialize(), acrescente no final (antes do end sub):

......
    End With

If frmPrecadastro.Visible = True Then
    optNovo = True
    txtdescricaoservico.Value = frmPrecadastro.txtdescricaoservico.Value
End If

End Sub
 
Postado : 18/10/2012 12:26 pm
(@rilton)
Posts: 232
Reputable Member
Topic starter
 

Reinaldo, parabéns, mas uma vez vc me socorreu.

Se não for pedir muito, queria que me ajudasse em outra situação:
Bom eu queria tirar a numeração automatica no formulário frmCadastro, pois assim eu transferiria, também o código do userform precadastro para o outro formulário. Tentei fazer adpatações aqui, mais deu erro em tempo de execução e e propriedade value.
Caso saiba como mudar, ficarei grato.

 
Postado : 18/10/2012 1:03 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Para isso vc deve alterar primeiro na tabela access de autonum para numero. Depois vc pode alterar o programa que não deverá retornar erro

 
Postado : 18/10/2012 1:34 pm
(@rilton)
Posts: 232
Reputable Member
Topic starter
 

Perfeito, funcionou Reinaldo.
Como eu faço para o formulário de cadastro não aceitar o codigo repetido? por exemplo, já tenho em meus registros um cadastro de código 100, se por ventura eu cadastrar um novo registro com esse código 100, aparecerá uma msgbox dizendo que já exite um cadastro com esse numero.

 
Postado : 18/10/2012 8:35 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Rilton, não cheguei a ver sua planilha, mas você pode adaptar a Function de pesquisa do modelo abaixo :

Function para Pesquisa
viewtopic.php?f=28&t=2816

[]s

 
Postado : 18/10/2012 8:44 pm
(@rilton)
Posts: 232
Reputable Member
Topic starter
 

Mauro Coutinho,

Obrigado, mas no meu caso, o meu banco de dados fica no access, que no caso mudaria a lógica da programação em relação ao exemplo dado. Ou não?
Tenho pouco conhecimento em vba, ainda estou aprendendo. Sei que no meu caso deveria criar uma conexão com o banco de dados para depois executar a função , porém não sei como fazer isso (no tocante).

 
Postado : 19/10/2012 9:06 am