OUTRA DUVIDA

GESSINGER 13/03/2010 22:45:34
#336904
Gostei da alteração, ficou legal e mais pratico
mas surgiu outra duvida
como faço para codificar o botão fechar ( pois a aconexção esta sendo fechada ao fechar no bt x do form ?
Obrigado: o codigo esta assim

Dim Rs As New ADODB.Recordset

Sub CarregarDados()
If Rs.RecordCount > 0 Then
txtAfazer.Text = Rs!Afazer [ô]Para aparecer nos txt
txtData.Text = Rs!Data
txtObs.Text = Rs!Obs
LblCont.Caption = Rs.AbsolutePosition & [Ô] de [Ô] & Rs.RecordCount
End If
End Sub

Private Sub cmdExcluir_Click()
Dim Resposta As Integer
If Rs.RecordCount = 0 Then
MsgBox [Ô]Não há registro para excluir![Ô]
Else

Resposta = MsgBox([Ô]Tem certeza que deseja excluir o registro [Ô] & Rs.AbsolutePosition & [Ô] - [Ô] & Rs(1) & [Ô] ?[Ô], vbYesNo)
If Resposta = vbYes Then
Rs.Delete
CmdPrimeiro_Click
CarregarDados

End If
End If
End Sub

Private Sub CmdPrimeiro_Click()
Rs.MoveFirst
CarregarDados
End Sub

Private Sub cmdAnterior_Click()
Rs.MovePrevious
If Rs.BOF Then
Rs.MoveFirst
MsgBox [Ô]Você está no Primeiro Registro[Ô]
End If
CarregarDados
End Sub


Private Sub cmdProximo_Click()
Rs.MoveNext
If Rs.EOF Then
Rs.MoveLast
MsgBox [Ô]Você está no Último Registro[Ô]
End If
CarregarDados
End Sub
Private Sub CmdUltimo_Click()
Rs.MoveLast
CarregarDados
End Sub

Private Sub cmdGravar_Click()
Rs.AddNew
Rs!Afazer = Trim(txtAfazer.Text)
Rs!Data = txtData.Text
Rs!Obs = txtObs.Text
Rs.Update
MsgBox [Ô]Registro incluido com sucesso...[Ô], vbInformation, [Ô]Aviso[Ô]
cmdNovo.Visible = True
CarregarDados
End Sub

Private Sub cmdNovo_Click()
txtAfazer.Text = [Ô][Ô]
txtData.Text = [Ô][Ô]
txtObs.Text = [Ô][Ô]
txtAfazer.SetFocus
cmdNovo.Visible = False
cmdGravar.Visible = True
End Sub



Private Sub Form_Load()
Conexao.AbrirConexao
Rs.Open [Ô]Select * from Tab order by Afazer[Ô], Conex, adOpenKeyset, adLockOptimistic
CarregarDados
End Sub

Private Sub Form_Unload(Cancel As Integer) <<<<<<<<<<<a ta fechando
Rs.Close <<<<<<<<<<< gostaria a fosse no cmbSair

Set Rs = Nothing
Conexao.FecharConexao
End Sub

<Modulo>

Option Explicit
Public Conex As ADODB.Connection

Public Sub AbrirConexao()
Set Conex = New ADODB.Connection
Conex.ConnectionString = [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=[Ô] & _
App.Path & [Ô]\Banco.mdb[Ô] & [Ô];Persist Security Info=False[Ô]
[ô]Se o Banco tiver senha, coloque habilite a linha abaixo
[ô]Cnn.Properties([Ô]Jet OLEDB:database Password[Ô]).Value = [Ô]roberto151213[Ô]
Conex.Open
End Sub
Public Sub FecharConexao()
If (Not Conex Is Nothing) Then
If Conex.State = 1 Then
Conex.Close
End If
Set Conex = Nothing
End If
End Sub

GESSINGER 13/03/2010 22:54:59
#336905
Fiz assim, ta correto ?



Private Sub cmdSair_Click()
Rs.Close
Set Rs = Nothing
Conexao.FecharConexao
Unload Me
End Sub
ROBIU 13/03/2010 23:26:44
#336907
Resposta escolhida
A ideia é fechar o Rs e a conexão quando fechar o Form. Não entendi a sua dúvida.
Para o tratamento do Butão X, você pode colocar o código no evento QueryUnload ou Unload do form. Veja que coloquei o codigo para fechar o Rs e a Conexão no evento unload.

Private Sub Form_Unload(Cancel As Integer)
Rs.Close
Set Rs = Nothing
Conexao.FecharConexao
End Sub


Conforme código acima, o código do seu CmdSair se faz desnecessário. Ele só Fecha a conexão se clicar neste butão, mas no X do form não:
Citação:

Private Sub cmdSair_Click()
Rs.Close
Set Rs = Nothing
Conexao.FecharConexao
Unload Me
End Sub



Seu CmdSair só precisa fechar o form:
Private Sub cmdSair_Click()
Unload Me
End Sub


Ao fechar o form os codigos dos eventos QueryUnload e Unload são acionados.
GESSINGER 14/03/2010 13:31:44
#336927
como vc disse seu eu vou usar um determinado codigo em varios forms em Coloco no Mudulo.
mas para eu trabalhar com [ô]rs[ô] rs.algumObjeto
tenho q fazer isso em todos dos forms:
dim rs as new adodb.recordset, pors eu digitei rs. em outro form e não apareceu nada depois do [txt-size=2]. [/txt-size](ponto)

outra duvida, tenho 2 form 1 e 2 no segundo quero carregar um datagrid, no primeiro tatudo fucinando até usei o modulo q o ROBIU me passou.

no segundo segundo form tenho esse codigo:

<General>
Dim rs As New ADODB.Connection
------------------------------------------------
Private Sub Form_Load()

Set Grid.DataSource = rs [ô]Preenchendo Grid com Ado

End Sub


e da o seguinte erro
Run-time erro 13
Type mismatch ..........................................alguem pode me ajudar ?

GESSINGER 14/03/2010 17:45:10
#336936
help me >>>>>>>>>>>>>>>>>>>?
ERIVELTONVGA 14/03/2010 18:37:02
#336938
boa tarde gessinger e a todos

segue uma modificacao, ve se é isso que eu entendi. qualquer coisa posta ai.

espero ter ajudado.
Tópico encerrado , respostas não são mais permitidas