Estou criando um banco de dados que verifica a data de vencimento de algumas peças, este bd puxa alguns txts já prontos que atualizam sempre o banco, algumas modalidades de peças tem sua data de validade calculada através da data lote, outras são cadastradas manualmente pelos operadores, estas que são cadastradas manualmente encontram-se com o campo DataVencimento no formato texto, devido ao txt.
Estou criando uma consulta que mostre somente as peças ja vencidas, nas peças que tem a validade calculada foi muito simples, porém estou com um problema mas peças cadastradas manualmete pois elas estão em formato texto, criei um módulo com um código que acredito que dara certo, porém não consigo conecta-lo a consulta. Alguém pode ajudar ? O código que usei esta abaixo.
Option Compare Database
Dim mes(12) As String
Dim data As Date
mes(0) = "JAN"
mes(1) = "FEV"
mes(2) = "MAR"
mes(3) = "ABR"
mes(4) = "MAI"
mes(5) = "JUN"
mes(6) = "JUL"
mes(7) = "AGO"
mes( = "SET"
mes(9) = "OUT"
mes(10) = "NOV"
mes(11) = "DEZ"
MesCorreto = indexOf(mes, Left(campo, 3))
If (MesCorreto = -1) Then
GoTo errData
End If
On Error GoTo errData
data = CVDate("01/" & MesCorreto & "/20" & Right(campo, 2))
data = data + 60
If (data < Date) Then
verifData = "Vencido"
Else
verifData = "Valido"
End If
Exit Function
errData:
verifData = Null
End Function
Public Function indexOf(vet, busca)
Dim aux, i As Integer
aux = -1
For i = 0 To UBound(vet) Step 1
If (vet(i) = busca) Then
aux = i
End If
Next
indexOf = aux
End Function
Estou criando uma consulta que mostre somente as peças ja vencidas, nas peças que tem a validade calculada foi muito simples, porém estou com um problema mas peças cadastradas manualmete pois elas estão em formato texto, criei um módulo com um código que acredito que dara certo, porém não consigo conecta-lo a consulta. Alguém pode ajudar ? O código que usei esta abaixo.
Option Compare Database
Dim mes(12) As String
Dim data As Date
mes(0) = "JAN"
mes(1) = "FEV"
mes(2) = "MAR"
mes(3) = "ABR"
mes(4) = "MAI"
mes(5) = "JUN"
mes(6) = "JUL"
mes(7) = "AGO"
mes( = "SET"
mes(9) = "OUT"
mes(10) = "NOV"
mes(11) = "DEZ"
MesCorreto = indexOf(mes, Left(campo, 3))
If (MesCorreto = -1) Then
GoTo errData
End If
On Error GoTo errData
data = CVDate("01/" & MesCorreto & "/20" & Right(campo, 2))
data = data + 60
If (data < Date) Then
verifData = "Vencido"
Else
verifData = "Valido"
End If
Exit Function
errData:
verifData = Null
End Function
Public Function indexOf(vet, busca)
Dim aux, i As Integer
aux = -1
For i = 0 To UBound(vet) Step 1
If (vet(i) = busca) Then
aux = i
End If
Next
indexOf = aux
End Function
Última edição por fermoraisc em 4/8/2017, 15:33, editado 1 vez(es)