GRVAR EM MODULOO

USUARIO.EXCLUIDOS 23/11/2006 20:10:07
#185999
ola pessoa..bom tenho um sistema com muitas telas e gostaria de fazer um modulo que service para todos as telas por que esta dando muito traballho digitar tudo e repetir novamente.
ESLEYSANCHES 23/11/2006 20:11:48
#186001
Resposta escolhida
Oque precisa ? quais códigos você não está afim de digitar de novo ?

De uma explicação mais detalhada !!

Abraços !!
USUARIO.EXCLUIDOS 23/11/2006 20:13:52
#186002
tipo nao que declarar no general , que fica assim

TabIdenti("Codigo") = txtcod.Text
TabIdenti("sexo") = Cbosexo.Text
TabIdenti("nome") = Txtnome.Text
TabIdenti("nasc") = Txtnasc.Text
TabIdenti("idade") = Txtidade.Text
TabIdenti("rg") = Txtrg.Text
TabIdenti("vinculo") = Cbovinculo.Text



gostaria de fazer um modulo que service para todas as telas gravar



ESLEYSANCHES 23/11/2006 20:27:36
#186003
Até pode mais olha só, as tabelas não são iguais ... oque te obrigaria a mudar os campos como Codigo, Sexo e etc...

a menos que você tenha todas as tabelas iguais, ae tem como sim !!

Abraços !!
VB6MASTER 24/11/2006 14:16:59
#186170
Acrescente em seu projeto um módulo .bas. Elabore uma função com os dados que deseja carregar.
Public Function CarregaDados
On Error Resume Next
'Se houver erro, p.ex., algum campo não exista na tela, passa para próxima linha.
TabIdenti("Codigo") = txtcod.Text
TabIdenti("sexo") = Cbosexo.Text
TabIdenti("nome") = Txtnome.Text
TabIdenti("nasc") = Txtnasc.Text
TabIdenti("idade") = Txtidade.Text
TabIdenti("rg") = Txtrg.Text
TabIdenti("vinculo") = Cbovinculo.Text
End Function

Dentro de cada formulário, chame a função ao abrir o form (p.ex.)
Private Sub Form1_Load()
Call CarregaDados
End Sub

USUARIO.EXCLUIDOS 25/11/2006 09:58:07
#186216
Cara, uma vez tava com muita pressa e fiz algo do tipo (só que era pra exibir), +/- assim:

Public Sub InsertAuto(ByVal frm As Form, ByVal RecSet As Recordset)
Dim Ctl as Control
On Error Resume Next
For Each Ctl In frm
If TypeOf Ctl Is TextBox Then
If Trim(Ctl.DataField) <> "" Then
RecSet(Ctl.DataField) = Ctl.Text
End If
End If
Next Ctl
End Sub


Daí vc tem que por na propriedade DataField de cada textbox, a qual campo ele pertence, tipo o datafield do txtcod será Codigo, e assim por diante...

Daí pra usar:
TabIdenti.AddNew
'ou
'TabIdenti.Edit
InsertAuto(Me, TabIdenti)
TabIdenti.Update


O mesmo código pode ser adaptado para exibir:
Public Sub ExibirAuto(ByVal frm As Form, ByVal RecSet As Recordset)
Dim Ctl as Control
On Error Resume Next
For Each Ctl In frm
If TypeOf Ctl Is TextBox Then
If Trim(Ctl.DataField) <> "" Then
Ctl.Text = RecSet(Ctl.DataField)
End If
End If
Next Ctl
End Sub


Qualquer dúvida poste...flw
Tópico encerrado , respostas não são mais permitidas