DUVIA SOBRE MODULE

GESSINGER 26/04/2011 18:53:25
#372525
Olha só, se eu tiver 10 forms no meu projeto eu faço em cada um essa coneção:
como eu faço para colocar ela num modele, para eu apanas chamar a rotina nos form ?

(general)
dim conex as new adodb.connection
dim rs as new adodb.recordser

Private Sub Form_Load()
conex.Open [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\Wilton Lima\Meus documentos\Visual Basic\Acesso Access +Ado\base.mdb;Persist Security Info=False[Ô]
rs.Open [Ô]Select * from Tab order by Nome[Ô], conex, adOpenKeyset, adLockOptimistic

End Sub
GESSINGER 26/04/2011 20:25:12
#372530
é no meu caso, usando so esse codigo q eu te passei, so preciso chamar a rotina de coneção
Obs: da forma q eu passei, sel alteração...atraves de um module
MARCELO.TREZE 26/04/2011 21:43:16
#372536
Resposta escolhida
Gessinger faz assim

no Módulo

Global Conex As New ADODB.Connection

Public Function Conecta(ByVal Valor As Boolean)
If Conex.State = 1 Then
Conex.Close
Set Conex = Nothing
Valor = True
End If

If Valor = True Then
Conexao.Open [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\Wilton Lima\Meus documentos\Visual Basic\Acesso Access +Ado\base.mdb;Persist Security Info=False[Ô]
Else
Conex.Close
Set Conex = Nothing
End If

End Function


feito isso no módulo basta proceder da seguinte maneira nos forms

vc pode conectar no load do from pricncipal, e desconectar no unload do mesmo

então no load basta colocar

Conecta True

e no unload

Conecta False

quanto ao recorset vc pode continuar usando como estava ou seja, declarar no general do form e usar o rs.open
GESSINGER 26/04/2011 22:04:41
#372543
Treze Valew ta certinho so tem uma coisa q não consegui tipo, substitui o RS q eu usava por [Ô]Valor[Ô]
mas não ta carregando as txt, peço mais uma ajuda ?


Private Sub Form_Load()
Conecta True
txtTitulo.Text = Valor!Título
txtGenero.Text = Valor!Genero
txtPara.Text = Valor!Para
mskEmprestimo.Text = Valor!Data

End Sub

Private Sub Form_Unload(Cancel As Integer)
Conecta False

End Sub
MARCELO.TREZE 26/04/2011 22:31:19
#372548
seu código é ótimo ALEVALE.

postei apenas uma forma simples de como fazer usando a conexao que ele ja esta acostumado, nada impede dele usar a sua conexao.
GESSINGER 26/04/2011 22:44:57
#372553
Treze Valew ta certinho so tem uma coisa q não consegui tipo, substitui o RS q eu usava por [Ô]Valor[Ô]
mas não ta carregando as txt, peço mais uma ajuda ?


Private Sub Form_Load()
Conecta True
txtTitulo.Text = Valor!Título
txtGenero.Text = Valor!Genero
txtPara.Text = Valor!Para
mskEmprestimo.Text = Valor!Data

End Sub

Private Sub Form_Unload(Cancel As Integer)
Conecta False

End Sub

MARCELO.TREZE 26/04/2011 22:49:55
#372555
cade o recordset

não use valor pois este etá na função publica

vc deve usar assim

Dim RS As New ADODB.Recordset

Private Sub Form_Load()
Conecta True
RS.Open [Ô]Select * from Tab order by Nome[Ô], conex, adOpenKeyset, adLockOptimistic
txtTitulo.Text = RS!Título
txtGenero.Text = RS!Genero
txtPara.Text = RS!Para
mskEmprestimo.Text = RS!Data
End Sub

Private Sub Form_Unload(Cancel As Integer)
Conecta False
End Sub
Tópico encerrado , respostas não são mais permitidas