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.
O que pode ser feito para corrigir?
Desde Já obrigado!
Segue abaixo link do projeto:
alantaru.000webhostapp.com/BANCO_DE_DADOS/penultimo_registro.zip
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)