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


3 participantes

    [RESOLVIDO]Exibir Penúltimo Registro da Tabela Por Data

    alantaru
    alantaru
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 62
    Registrado : 04/10/2018

    [RESOLVIDO]Exibir Penúltimo Registro da Tabela Por Data Empty [RESOLVIDO]Exibir Penúltimo Registro da Tabela Por Data

    Mensagem  alantaru 7/12/2018, 11:20

    Bom dia.
    Em um formulário de Entregas frmEntregas, preciso exibir a última e a penúltima entrega de cada insumo (Papel A4, A3, Toner preto e branco e Colorido).
    Utilizei o código abaixo. A última entrega está aparecendo corretamente, mas a penúltima está com erros.
    Código:
    Private Sub cmdAtualizarUltimasEntregas_Click()

        Dim RegistroA4 As Recordset
        Dim RegistroA3 As Recordset
        Dim RegistroEtiqueta As Recordset
        Dim RegistroTonerPreto As Recordset
        Dim RegistroTonerCiano As Recordset
        Dim RegistroTonerAmarelo As Recordset
        Dim RegistroTonerMagenta As Recordset
        Dim SqlA4 As String
        Dim SqlA3 As String
        Dim SqlEtiqueta As String
        Dim SqlTonerPreto As String
        Dim SqlTonerCiano As String
        Dim SqlTonerAmarelo As String
        Dim SqlTonerMagenta As String
        
        Dim RegistroA4Penultimo As Recordset
        Dim RegistroA3Penultimo As Recordset
        Dim RegistroEtiquetaPenultimo As Recordset
        Dim RegistroTonerPretoPenultimo As Recordset
        Dim RegistroTonerCianoPenultimo As Recordset
        Dim RegistroTonerAmareloPenultimo As Recordset
        Dim RegistroTonerMagentaPenultimo As Recordset
        Dim SqlA4Penultimo As String
        Dim SqlA3Penultimo As String
        Dim SqlEtiquetaPenultimo As String
        Dim SqlTonerPretoPenultimo As String
        Dim SqlTonerCianoPenultimo As String
        Dim SqlTonerAmareloPenultimo As String
        Dim SqlTonerMagentaPenultimo As String
        
        SqlA4 = "SELECT * FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND DataEntrega = (SELECT MAX(DataEntrega) FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND A4 <> 0);"
        SqlA4Penultimo = "SELECT * FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND DataEntrega = (SELECT (MAX(DataEntrega) -1) FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND A4 <> 0);"
        SqlA3 = "SELECT * FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND DataEntrega = (SELECT MAX(DataEntrega) FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND A3 <> 0);"
        SqlA3Penultimo = "SELECT * FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND DataEntrega = (SELECT (MAX(DataEntrega) -1) FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND A3 <> 0);"
        SqlEtiqueta = "SELECT * FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND DataEntrega = (SELECT MAX(DataEntrega) FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND Etiqueta <> 0);"
        SqlEtiquetaPenultimo = "SELECT * FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND DataEntrega = (SELECT (MAX(DataEntrega) -1) FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND Etiqueta <> 0);"
        SqlTonerPreto = "SELECT * FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND DataEntrega = (SELECT MAX(DataEntrega) FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND TonerPreto <> 0);"
        SqlTonerPretoPenultimo = "SELECT * FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND DataEntrega = (SELECT (MAX(DataEntrega) -1) FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND TonerPreto <> 0);"
        SqlTonerCiano = "SELECT * FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND DataEntrega = (SELECT MAX(DataEntrega) FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND TonerCiano <> 0);"
        SqlTonerCianoPenultimo = "SELECT * FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND DataEntrega = (SELECT (MAX(DataEntrega) -1) FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND TonerCiano <> 0);"
        SqlTonerAmarelo = "SELECT * FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND DataEntrega = (SELECT MAX(DataEntrega) FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND TonerAmarelo <> 0);"
        SqlTonerAmareloPenultimo = "SELECT * FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND DataEntrega = (SELECT (MAX(DataEntrega) -1) FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND TonerAmarelo <> 0);"
        SqlTonerMagenta = "SELECT * FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND DataEntrega = (SELECT MAX(DataEntrega) FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND TonerMagenta <> 0);"
        SqlTonerMagentaPenultimo = "SELECT * FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND DataEntrega = (SELECT (MAX(DataEntrega) -1) FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND TonerMagenta <> 0);"
        
        Set RegistroA4 = Banco.OpenRecordset(SqlA4)
        Set RegistroA3 = Banco.OpenRecordset(SqlA3)
        Set RegistroEtiqueta = Banco.OpenRecordset(SqlEtiqueta)
        Set RegistroTonerPreto = Banco.OpenRecordset(SqlTonerPreto)
        Set RegistroTonerCiano = Banco.OpenRecordset(SqlTonerCiano)
        Set RegistroTonerAmarelo = Banco.OpenRecordset(SqlTonerAmarelo)
        Set RegistroTonerMagenta = Banco.OpenRecordset(SqlTonerMagenta)
        
        Set RegistroA4Penultimo = Banco.OpenRecordset(SqlA4Penultimo)
        Set RegistroA3Penultimo = Banco.OpenRecordset(SqlA3Penultimo)
        Set RegistroEtiquetaPenultimo = Banco.OpenRecordset(SqlEtiquetaPenultimo)
        Set RegistroTonerPretoPenultimo = Banco.OpenRecordset(SqlTonerPretoPenultimo)
        Set RegistroTonerCianoPenultimo = Banco.OpenRecordset(SqlTonerCianoPenultimo)
        Set RegistroTonerAmareloPenultimo = Banco.OpenRecordset(SqlTonerAmareloPenultimo)
        Set RegistroTonerMagentaPenultimo = Banco.OpenRecordset(SqlTonerMagentaPenultimo)

        '--------------------------------------------------------------------------------------------------
        'Pegando o valor das entregas Anteriores (Contador Inicial) e Últimos Insumos Entregues e inserindo nos TextBoxes das Últimas Entregas

        'A4
        If Not RegistroA4.RecordCount = 0 Then
            txtQtdeUltimoA4 = IIf(IsNull(RegistroA4!A4), 0, RegistroA4!A4)
            txtQtdeUltimaDataA4 = RegistroA4!DataEntrega
        Else
            txtQtdeUltimoA4 = "-"
            txtQtdeUltimaDataA4 = "-"
        End If
        
        'A4 Penultimo
        If Not RegistroA4Penultimo.RecordCount = 0 Then
            txtQtdePenultimoA4 = IIf(IsNull(RegistroA4Penultimo!A4), 0, RegistroA4Penultimo!A4)
            txtQtdePenultimaDataA4 = RegistroA4Penultimo!DataEntrega
        Else
            txtQtdePenultimoA4 = "-"
            txtQtdePenultimaDataA4 = "-"
        End If
        
        'A3
        If Not RegistroA3.RecordCount = 0 Then
            txtQtdeUltimoA3 = IIf(IsNull(RegistroA3!A3), 0, RegistroA3!A3)
            txtQtdeUltimaDataA3 = IIf(IsNull(RegistroA3!DataEntrega), 0, RegistroA3!DataEntrega)
        Else
            txtQtdeUltimoA3 = "-"
            txtQtdeUltimaDataA3 = "-"
        End If
        
        'A3 Penúltimo
        If Not RegistroA3Penultimo.RecordCount = 0 Then
            txtQtdePenultimoA3 = IIf(IsNull(RegistroA3Penultimo!A3), 0, RegistroA3Penultimo!A3)
            txtQtdePenultimaDataA3 = IIf(IsNull(RegistroA3Penultimo!DataEntrega), 0, RegistroA3Penultimo!DataEntrega)
        Else
            txtQtdePenultimoA3 = "-"
            txtQtdePenultimaDataA3 = "-"
        End If
        
        'Etiqueta
        If Not RegistroEtiqueta.RecordCount = 0 Then
            txtQtdeUltimoEtiqueta = IIf(IsNull(RegistroEtiqueta!Etiqueta), 0, RegistroEtiqueta!Etiqueta)
            txtQtdeUltimaDataEtiqueta = IIf(IsNull(RegistroEtiqueta!DataEntrega), 0, RegistroEtiqueta!DataEntrega)
        Else
            txtQtdeUltimoEtiqueta = "-"
            txtQtdeUltimaDataEtiqueta = "-"
        End If
        
        'Etiqueta Penúltimo
        If Not RegistroEtiquetaPenultimo.RecordCount = 0 Then
            txtQtdePenultimoEtiqueta = IIf(IsNull(RegistroEtiquetaPenultimo!Etiqueta), 0, RegistroEtiquetaPenultimo!Etiqueta)
            txtQtdePenultimaDataEtiqueta = IIf(IsNull(RegistroEtiquetaPenultimo!DataEntrega), 0, RegistroEtiquetaPenultimo!DataEntrega)
        Else
            txtQtdePenultimoEtiqueta = "-"
            txtQtdePenultimaDataEtiqueta = "-"
        End If
        
        'Toner Preto
        If Not RegistroTonerPreto.RecordCount = 0 Then
            txtQtdeUltimoTonerPreto = IIf(IsNull(RegistroTonerPreto!TonerPreto), 0, RegistroTonerPreto!TonerPreto)
            txtQtdeUltimaDataTonerPreto = IIf(IsNull(RegistroTonerPreto!DataEntrega), 0, RegistroTonerPreto!DataEntrega)
        Else
            txtQtdeUltimoTonerPreto = "-"
            txtQtdeUltimaDataTonerPreto = "-"
        End If

        'Toner Preto Penúltimo
        If Not RegistroTonerPretoPenultimo.RecordCount = 0 Then
            txtQtdePenultimoTonerPreto = IIf(IsNull(RegistroTonerPretoPenultimo!TonerPreto), 0, RegistroTonerPretoPenultimo!TonerPreto)
            txtQtdePenultimaDataTonerPreto = IIf(IsNull(RegistroTonerPretoPenultimo!DataEntrega), 0, RegistroTonerPretoPenultimo!DataEntrega)
        Else
            txtQtdePenultimoTonerPreto = "-"
            txtQtdePenultimaDataTonerPreto = "-"
        End If

        'Toner Ciano
        If Not RegistroTonerCiano.RecordCount = 0 Then
            txtQtdeUltimoTonerCiano = IIf(IsNull(RegistroTonerCiano!TonerCiano), 0, RegistroTonerCiano!TonerCiano)
            txtQtdeUltimaDataTonerCiano = IIf(IsNull(RegistroTonerCiano!DataEntrega), 0, RegistroTonerCiano!DataEntrega)
        Else
            txtQtdeUltimoTonerCiano = "-"
            txtQtdeUltimaDataTonerCiano = "-"
        End If
        
        'Toner Ciano Penúltimo
        If Not RegistroTonerCianoPenultimo.RecordCount = 0 Then
            txtQtdePenultimoTonerCiano = IIf(IsNull(RegistroTonerCianoPenultimo!TonerCiano), 0, RegistroTonerCianoPenultimo!TonerCiano)
            txtQtdePenultimaDataTonerCiano = IIf(IsNull(RegistroTonerCianoPenultimo!DataEntrega), 0, RegistroTonerCianoPenultimo!DataEntrega)
        Else
            txtQtdePenultimoTonerCiano = "-"
            txtQtdePenultimaDataTonerCiano = "-"
        End If

        'Toner Amarelo
        If Not RegistroTonerAmarelo.RecordCount = 0 Then
            txtQtdeUltimoTonerAmarelo = IIf(IsNull(RegistroTonerAmarelo!TonerAmarelo), 0, RegistroTonerAmarelo!TonerAmarelo)
            txtQtdeUltimaDataTonerAmarelo = IIf(IsNull(RegistroTonerAmarelo!DataEntrega), 0, RegistroTonerAmarelo!DataEntrega)
        Else
            txtQtdeUltimoTonerAmarelo = "-"
            txtQtdeUltimaDataTonerAmarelo = "-"
        End If
        
        'Toner Amarelo Penúltimo
        If Not RegistroTonerAmareloPenultimo.RecordCount = 0 Then
            txtQtdePenultimoTonerAmarelo = IIf(IsNull(RegistroTonerAmareloPenultimo!TonerAmarelo), 0, RegistroTonerAmareloPenultimo!TonerAmarelo)
            txtQtdePenultimaDataTonerAmarelo = IIf(IsNull(RegistroTonerAmareloPenultimo!DataEntrega), 0, RegistroTonerAmareloPenultimo!DataEntrega)
        Else
            txtQtdePenultimoTonerAmarelo = "-"
            txtQtdePenultimaDataTonerAmarelo = "-"
        End If

        'Toner Magenta
        If Not RegistroTonerMagenta.RecordCount = 0 Then
            txtQtdeUltimoTonerMagenta = IIf(IsNull(RegistroTonerMagenta!TonerMagenta), 0, RegistroTonerMagenta!TonerMagenta)
            txtQtdeUltimaDataTonerMagenta = IIf(IsNull(RegistroTonerMagenta!DataEntrega), 0, RegistroTonerMagenta!DataEntrega)
        Else
            txtQtdeUltimoTonerMagenta = "-"
            txtQtdeUltimaDataTonerMagenta = "-"
        End If
        
        'Toner Magenta Penúltimo
        If Not RegistroTonerMagentaPenultimo.RecordCount = 0 Then
            txtQtdePenultimoTonerMagenta = IIf(IsNull(RegistroTonerMagentaPenultimo!TonerMagenta), 0, RegistroTonerMagentaPenultimo!TonerMagenta)
            txtQtdePenultimaDataTonerMagenta = IIf(IsNull(RegistroTonerMagentaPenultimo!DataEntrega), 0, RegistroTonerMagentaPenultimo!DataEntrega)
        Else
            txtQtdePenultimoTonerMagenta = "-"
            txtQtdePenultimaDataTonerMagenta = "-"
        End If
        '--------------------------------------------------------------------------------------------------
        
        Set RegistroA4 = Nothing
        Set RegistroA3 = Nothing
        Set RegistroEtiqueta = Nothing
        Set RegistroTonerPreto = Nothing
        Set RegistroTonerCiano = Nothing
        Set RegistroTonerAmarelo = Nothing
        Set RegistroTonerMagenta = Nothing
        
        Set RegistroA4Penultimo = Nothing
        Set RegistroA3Penultimo = Nothing
        Set RegistroEtiquetaPenultimo = Nothing
        Set RegistroTonerPretoPenultimo = Nothing
        Set RegistroTonerCianoPenultimo = Nothing
        Set RegistroTonerAmareloPenultimo = Nothing
        Set RegistroTonerMagentaPenultimo = Nothing
        
    End Sub

    O que pode ser feito para corrigir?
    Desde Já obrigado!
    Segue abaixo link do projeto:
    alantaru.000webhostapp.com/BANCO_DE_DADOS/penultimo_registro.zip


    Última edição por alantaru em 7/12/2018, 13:21, editado 1 vez(es)
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8443
    Registrado : 05/11/2009

    [RESOLVIDO]Exibir Penúltimo Registro da Tabela Por Data Empty Re: [RESOLVIDO]Exibir Penúltimo Registro da Tabela Por Data

    Mensagem  Alexandre Neves 7/12/2018, 12:27

    Bom dia
    Não trabalhei com dados, devido às voltas que precisava dar, mas veja se é isto:
    SqlA4 = "SELECT * FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND DataEntrega = (SELECT MAX(DataEntrega) FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND A4 <> 0);"
        SqlA4Penultimo = "SELECT * FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND DataEntrega = (SELECT Max(DataEntrega) FROM tabEntregas WHERE DataEntrega<(SELECT Max(DataEntrega) FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND A4 <> 0) and Serie='" & Me.txtSerie & "' AND A4 <> 0);"

        SqlA3 = "SELECT * FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND DataEntrega = (SELECT MAX(DataEntrega) FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND A3 <> 0);"
        SqlA3Penultimo = "SELECT * FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND  A3 <> 0 and
    DataEntrega = (SELECT Max(DataEntrega) FROM tabEntregas WHERE DataEntrega<(SELECT Max(DataEntrega) FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND A3 <> 0) and Serie='" & Me.txtSerie & "' AND A3 <> 0);"

        SqlEtiqueta = "SELECT * FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND DataEntrega = (SELECT MAX(DataEntrega) FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND Etiqueta <> 0);"
        SqlEtiquetaPenultimo = "SELECT * FROM tabEntregas WHERE Serie='" & Me.txtSerie & "'  AND Etiqueta <> 0 AND 
    DataEntrega = (SELECT Max(DataEntrega) FROM tabEntregas WHERE DataEntrega<(SELECT Max(DataEntrega) FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND Etiqueta <> 0) and Serie='" & Me.txtSerie & "' AND Etiqueta <> 0);"

        SqlTonerPreto = "SELECT * FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND DataEntrega = (SELECT MAX(DataEntrega) FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND TonerPreto <> 0);"
        SqlTonerPretoPenultimo = "SELECT * FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND DataEntrega = (SELECT Max(DataEntrega) FROM tabEntregas WHERE DataEntrega<(SELECT Max(DataEntrega) FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND TonerPreto <> 0) and Serie='" & Me.txtSerie & "' AND TonerPreto <> 0);"

        SqlTonerCiano = "SELECT * FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND DataEntrega = (SELECT MAX(DataEntrega) FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND TonerCiano <> 0);"
        SqlTonerCianoPenultimo = "SELECT * FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND DataEntrega = (SELECT Max(DataEntrega) FROM tabEntregas WHERE DataEntrega < (SELECT Max(DataEntrega) FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND TonerCiano <> 0) and Serie='" & Me.txtSerie & "' AND TonerCiano <> 0);"

        SqlTonerAmarelo = "SELECT * FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND DataEntrega = (SELECT MAX(DataEntrega) FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND TonerAmarelo <> 0);"
        SqlTonerAmareloPenultimo = "SELECT * FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND DataEntrega = (SELECT Max(DataEntrega) FROM tabEntregas WHERE DataEntrega<(SELECT Max(DataEntrega) FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND TonerAmarelo <> 0) and Serie='" & Me.txtSerie & "' AND TonerAmarelo <> 0);"

        SqlTonerMagenta = "SELECT * FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND DataEntrega = (SELECT MAX(DataEntrega) FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND TonerMagenta <> 0);"
        SqlTonerMagentaPenultimo ="SELECT * FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND DataEntrega = (SELECT Max(DataEntrega) FROM tabEntregas WHERE DataEntrega<(SELECT Max(DataEntrega) FROM tabEntregas WHERE Serie='" & Me.txtSerie & "' AND TonerMagenta <> 0) and Serie='" & Me.txtSerie & "' AND TonerMagenta <> 0);"


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    alantaru
    alantaru
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 62
    Registrado : 04/10/2018

    [RESOLVIDO]Exibir Penúltimo Registro da Tabela Por Data Empty Re: [RESOLVIDO]Exibir Penúltimo Registro da Tabela Por Data

    Mensagem  alantaru 7/12/2018, 12:51

    Sim é essa parte que preciso alterar. Apenas as consultas sql chamadas "Penultimo".

    SqlA4Penultimo
    SqlA3Penultimo
    SqlEtiquetaPenultimo
    SqlTonerPretoPenultimo
    SqlTonerCianoPenultimo
    SqlTonerAmareloPenultimo
    SqlTonerMagentaoPenultimo

    As consultas normais estão corretas, porém as consultas com penúltimo não estão retornando o resultado do penúltimo registro.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8443
    Registrado : 05/11/2009

    [RESOLVIDO]Exibir Penúltimo Registro da Tabela Por Data Empty Re: [RESOLVIDO]Exibir Penúltimo Registro da Tabela Por Data

    Mensagem  Alexandre Neves 7/12/2018, 12:53

    Já testou o meu código?


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 22/11/2016

    [RESOLVIDO]Exibir Penúltimo Registro da Tabela Por Data Empty Re: [RESOLVIDO]Exibir Penúltimo Registro da Tabela Por Data

    Mensagem  DamascenoJr. 7/12/2018, 13:08

    Com a licença do Alexandre, tente isto

    Código:
    Dim k
        Dim i As Byte
        Dim rs As DAO.Recordset
        
        k = "A4,A3,Etiqueta,TonerPreto,TonerCiano,TonerAmarelo,TonerMagenta"
        k = Split(k, ",")
        
        For i = 0 To UBound(k)
            
            Set rs = CurrentDb.OpenRecordset("select top 2 " & k(i) & ", DataEntrega " & _
                                             "from tabEntregas " & _
                                             "where serie = '" & Me.txtSerie & "' and nz(" & k(i) & ",0) > 0 " & _
                                             "order by DataEntrega desc", 8, 4)
                                            
            If Not rs.EOF Then
                Me("txtQtdeUltimo" & k(i)).Value = rs.Fields(k(i)).Value
                Me("txtQtdeUltimaData" & k(i)).Value = rs!DataEntrega.Value
                rs.MoveNext
            Else
                Me("txtQtdeUltimo" & k(i)).Value = "-"
                Me("txtQtdeUltimaData" & k(i)).Value = "-"
            End If
            
            If Not rs.EOF Then
                Me("txtQtdePenultimo" & k(i)).Value = rs.Fields(k(i)).Value
                Me("txtQtdePenultimaData" & k(i)).Value = rs!DataEntrega.Value
            Else
                Me("txtQtdePenultimo" & k(i)).Value = "-"
                Me("txtQtdePenultimaData" & k(i)).Value = "-"
            End If
            
            rs.Close: Set rs = Nothing
            
        Next i


    Última edição por IvanJr. em 7/12/2018, 13:18, editado 1 vez(es)
    alantaru
    alantaru
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 62
    Registrado : 04/10/2018

    [RESOLVIDO]Exibir Penúltimo Registro da Tabela Por Data Empty Re: [RESOLVIDO]Exibir Penúltimo Registro da Tabela Por Data

    Mensagem  alantaru 7/12/2018, 13:13

    Ivan, devo substituir qual parte do código por este que você enviou?
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 22/11/2016

    [RESOLVIDO]Exibir Penúltimo Registro da Tabela Por Data Empty Re: [RESOLVIDO]Exibir Penúltimo Registro da Tabela Por Data

    Mensagem  DamascenoJr. 7/12/2018, 13:18

    Todo o código!

    Obs.: copie o código novamente pois que fiz uma correção (estava faltando um sinal de igual em duas linhas).
    alantaru
    alantaru
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 62
    Registrado : 04/10/2018

    [RESOLVIDO]Exibir Penúltimo Registro da Tabela Por Data Empty Re: [RESOLVIDO]Exibir Penúltimo Registro da Tabela Por Data

    Mensagem  alantaru 7/12/2018, 13:21

    Deu certo!
    Nossa realmente meu código estava extremamente longo e com facilidade de erros!
    Muito obrigado mais uma vez!
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 22/11/2016

    [RESOLVIDO]Exibir Penúltimo Registro da Tabela Por Data Empty Re: [RESOLVIDO]Exibir Penúltimo Registro da Tabela Por Data

    Mensagem  DamascenoJr. 7/12/2018, 13:24

    O fórum agradece o retorno. Sucesso.

    Conteúdo patrocinado


    [RESOLVIDO]Exibir Penúltimo Registro da Tabela Por Data Empty Re: [RESOLVIDO]Exibir Penúltimo Registro da Tabela Por Data

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 29/3/2024, 04:50