MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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


2 participantes

    [Resolvido]Navegar em recordset

    avatar
    joão2017
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Navegar em recordset Empty [Resolvido]Navegar em recordset

    Mensagem  joão2017 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.
    CassioFabre
    CassioFabre
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Navegar em recordset Empty Re: [Resolvido]Navegar em recordset

    Mensagem  CassioFabre 5/6/2018, 21:01



    .................................................................................
    Só não tem código pra morte!
    avatar
    joão2017
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Navegar em recordset Empty Re: [Resolvido]Navegar em recordset

    Mensagem  joão2017 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.
    CassioFabre
    CassioFabre
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Navegar em recordset Empty Re: [Resolvido]Navegar em recordset

    Mensagem  CassioFabre 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!
    avatar
    joão2017
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Navegar em recordset Empty Re: [Resolvido]Navegar em recordset

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

    Esqueci desta parte.

    Option Compare Database
    Option Explicit
    Dim atual


    Conteúdo patrocinado


    [Resolvido]Navegar em recordset Empty Re: [Resolvido]Navegar em recordset

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/3/2024, 13:22