MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Navegar em recordset

    Compartilhe

    joão2017
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 75
    Registrado : 16/09/2017

    [Resolvido]Navegar em recordset

    Mensagem  joão2017 em 5/6/2018, 17:29

    Boa tarde!
    Encontrei aqui o exemplo de navegar em formulario desvinculado abaixo, do amigo JPaulo:
    Private cn As ADODB.Connection
    Private rs As ADODB.Recordset


    Private Sub Form_Load()
    On Error Resume Next
    Set cn = CurrentProject.Connection
    Set rs = New ADODB.Recordset

    With rs
    Set .ActiveConnection = cn
    .Source = "SELECT * FROM Clientes"
    .LockType = adLockOptimistic
    .CursorType = adOpenKeyset
    .Open
    End With

    Set Me.Recordset = rs

    Me.codCliente = rs!codCliente
    Me.nomeCliente = rs!nomeCliente
    Me.endCliente = rs!endCliente
    Me.Cidade = rs!Cidade
    Me.UF = rs!UF
    End Sub


    Private Sub btProximo_Click()
    Me.Recordset.MoveNext
    Me.codCliente = rs!codCliente
    Me.nomeCliente = rs!nomeCliente
    Me.endCliente = rs!endCliente
    Me.Cidade = rs!Cidade
    Me.UF = rs!UF
    End Sub


    Private Sub Form_Close()
    rs.Close
    cn.Close
    Set rs = Nothing
    End Sub

    Funciona legal, mas a tabela fica aberta, e se eu fecho o recordset ao carregar o formulario, não navega, alguem tem uma solução?


    Obrigado.
    avatar
    CassioFabre
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 728
    Registrado : 18/01/2013

    Re: [Resolvido]Navegar em recordset

    Mensagem  CassioFabre em 5/6/2018, 21:01

    Boa tarde,

    Veja se este tópico lhe ajuda [Você precisa estar registrado e conectado para ver este link.]

    Abraço.


    .................................................................................
    Só não tem código pra morte!

    joão2017
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 75
    Registrado : 16/09/2017

    Re: [Resolvido]Navegar em recordset

    Mensagem  joão2017 em 6/6/2018, 03:24

    Boa noite!
    Muito obrigado por responder, o exemplo que me mandou também deixa a tabela aberta, mas ele me deu uma luz, daí fiz assim:

    Private Sub btnPróximo_Click()
    On Error GoTo err
    Dim cnn As ADODB.Connection
    Dim rst As ADODB.Recordset
    Set cnn = CurrentProject.Connection
    Set rst = New ADODB.Recordset
    rst.CursorType = adOpenKeyset
    rst.LockType = adLockOptimistic
    rst.Open "tab_Funcionário", cnn, , , adCmdTable
    rst.Move atual
    Me.txtCódigoDoFuncionário = rst("CódigoDoFuncionário")
    Me.txtNomeDoFuncionário = rst("NomeDoFuncionário")
    atual = atual + 1
    rst.Close
    cnn.Close
    Set rst = Nothing
    Set cnn = Nothing
    Exit Sub
    err: MsgBox "Último funcionário.", vbInformation, "Controle de produtos e serviços"
    End Sub

    'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

    Private Sub btnAnterior_Click()
    On Error GoTo err
    Dim cnn As ADODB.Connection
    Dim rst As ADODB.Recordset
    Set cnn = CurrentProject.Connection
    Set rst = New ADODB.Recordset
    rst.CursorType = adOpenKeyset
    rst.LockType = adLockOptimistic
    rst.Open "tab_Funcionário", cnn, , , adCmdTable
    rst.Move atual - 2
    Me.txtCódigoDoFuncionário = rst("CódigoDoFuncionário")
    Me.txtNomeDoFuncionário = rst("NomeDoFuncionário")
    atual = atual - 1
    rst.Close
    cnn.Close
    Set rst = Nothing
    Set cnn = Nothing
    Exit Sub
    err: MsgBox "Primeiro funcionário.", vbInformation, "Controle de produtos e serviços"
    End Sub

    'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

    Private Sub btnPrimeiro_Click()
    On Error GoTo err
    Dim cnn As ADODB.Connection
    Dim rst As ADODB.Recordset
    Set cnn = CurrentProject.Connection
    Set rst = New ADODB.Recordset
    rst.CursorType = adOpenKeyset
    rst.LockType = adLockOptimistic
    rst.Open "tab_Funcionário", cnn, , , adCmdTable
    rst.MoveFirst
    Me.txtCódigoDoFuncionário = rst("CódigoDoFuncionário")
    Me.txtNomeDoFuncionário = rst("NomeDoFuncionário")
    atual = rst.AbsolutePosition
    rst.Close
    cnn.Close
    Set rst = Nothing
    Set cnn = Nothing
    Exit Sub
    err: MsgBox "Primeiro funcionário.", vbInformation, "Controle de produtos e serviços"
    End Sub

    'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

    Private Sub btnÚltimo_Click()
    On Error GoTo err
    Dim cnn As ADODB.Connection
    Dim rst As ADODB.Recordset
    Set cnn = CurrentProject.Connection
    Set rst = New ADODB.Recordset
    rst.CursorType = adOpenKeyset
    rst.LockType = adLockOptimistic
    rst.Open "tab_Funcionário", cnn, , , adCmdTable
    rst.MoveLast
    Me.txtCódigoDoFuncionário = rst("CódigoDoFuncionário")
    Me.txtNomeDoFuncionário = rst("NomeDoFuncionário")
    atual = rst.AbsolutePosition
    rst.Close
    cnn.Close
    Set rst = Nothing
    Set cnn = Nothing
    Exit Sub
    err: MsgBox "Último funcionário.", vbInformation, "Controle de produtos e serviços"
    End Sub

    'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

    Private Sub Form_Load()
    atual = 1
    End Sub

    Funcionou direitinho, e deixa a tabela fechada.

    Obrigado.
    avatar
    CassioFabre
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 728
    Registrado : 18/01/2013

    Re: [Resolvido]Navegar em recordset

    Mensagem  CassioFabre em 6/6/2018, 11:04

    Bom dia,

    Que legal! Não se esqueça de marcar o tópico como resolvido.

    Abraço.


    .................................................................................
    Só não tem código pra morte!

    joão2017
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 75
    Registrado : 16/09/2017

    Re: [Resolvido]Navegar em recordset

    Mensagem  joão2017 em 6/6/2018, 12:27

    Esqueci desta parte.

    Option Compare Database
    Option Explicit
    Dim atual


      Data/hora atual: 21/11/2018, 12:30