Boa tarde pessoal,
Tenho uma tabela chamada “tblDescarteEcoponto” com os seguintes campos:
Data_Execução – Formato data dd/mm/yyyy
Tipo_de_Material – Texto
Quantidade – Formato número
Documento – Texto (CPF 111,111,111/11 ou CNPJ 11,111,111/1111-11
Bem com a ajuda do pessoal cheguei ao seguinte código:
Private Sub txtCPF_AfterUpdate()
Dim Procura As String
Dim nCPF As String 'Considerando o número do CPF no formato original (com pontos).
Dim nAno As Long
Dim Total As Integer
Const nQuant = 30
Dim sQuant As Long
Dim sSaldo As Integer
Dim strSQL As String
Dim nMes As String
Dim documento As String
Dim TIPO_DE_MATERIAL As String
Dim LÂMPADAS As String
nAno = Year(Date)
nMes = UCase(MonthName(Month(Date), True))
nCPF = txtCPF
Procura = Nz(DSum("Quantidade", "tblDescarteEcoponto"))
Total = Procura + sQuant
MsgBox "A quantidade existente é " & Procura & ", mais este valor o total é " & Total & ".", vbInformation, "Controle"
sSaldo = nQuant - Procura
If Total > nQuant Then
MsgBox "Número acima do limite permitido que é de 30 unidades/ano por C.P.F./C.N.P.J.. 'O saldo restante é " & sSaldo & ".", vbCritical, "Controle"
Me.NOME_TRANSPORTADOR = Null
Me.txtCPF = Null
Me.txtCPF.SetFocus
'Me.NOME_TRANSPORTADOR.SetFocus
Else
MsgBox "OK. Dentro do limite. Saldo restante é " & sSaldo & ".", vbInformation, "Controle"
DoCmd.SetWarnings False
strSQL = "INSERT INTO tblSaidas(CPF,Quantidade,Ano, Mes)VALUES('" & nCPF & "','" & sQuant & "','" & nAno & "','" & nMes & "')"
'DoCmd.RunSQL strSQL
DoCmd.SetWarnings True
MsgBox "Dados Atualizados com Sucesso !!!", vbExclamation, "Controle"
End If
End Sub
Tenho que vincular a quantidade ao ano corrente do sistema e limitar a quantidade a 30 unidades por documento. Em SQL através da consulta do Access deu certo, para preciso colocar isso num campo após atualizar e bloquear, e não to conseguindo.
Tenho uma tabela chamada “tblDescarteEcoponto” com os seguintes campos:
Data_Execução – Formato data dd/mm/yyyy
Tipo_de_Material – Texto
Quantidade – Formato número
Documento – Texto (CPF 111,111,111/11 ou CNPJ 11,111,111/1111-11
Bem com a ajuda do pessoal cheguei ao seguinte código:
Private Sub txtCPF_AfterUpdate()
Dim Procura As String
Dim nCPF As String 'Considerando o número do CPF no formato original (com pontos).
Dim nAno As Long
Dim Total As Integer
Const nQuant = 30
Dim sQuant As Long
Dim sSaldo As Integer
Dim strSQL As String
Dim nMes As String
Dim documento As String
Dim TIPO_DE_MATERIAL As String
Dim LÂMPADAS As String
nAno = Year(Date)
nMes = UCase(MonthName(Month(Date), True))
nCPF = txtCPF
Procura = Nz(DSum("Quantidade", "tblDescarteEcoponto"))
Total = Procura + sQuant
MsgBox "A quantidade existente é " & Procura & ", mais este valor o total é " & Total & ".", vbInformation, "Controle"
sSaldo = nQuant - Procura
If Total > nQuant Then
MsgBox "Número acima do limite permitido que é de 30 unidades/ano por C.P.F./C.N.P.J.. 'O saldo restante é " & sSaldo & ".", vbCritical, "Controle"
Me.NOME_TRANSPORTADOR = Null
Me.txtCPF = Null
Me.txtCPF.SetFocus
'Me.NOME_TRANSPORTADOR.SetFocus
Else
MsgBox "OK. Dentro do limite. Saldo restante é " & sSaldo & ".", vbInformation, "Controle"
DoCmd.SetWarnings False
strSQL = "INSERT INTO tblSaidas(CPF,Quantidade,Ano, Mes)VALUES('" & nCPF & "','" & sQuant & "','" & nAno & "','" & nMes & "')"
'DoCmd.RunSQL strSQL
DoCmd.SetWarnings True
MsgBox "Dados Atualizados com Sucesso !!!", vbExclamation, "Controle"
End If
End Sub
Tenho que vincular a quantidade ao ano corrente do sistema e limitar a quantidade a 30 unidades por documento. Em SQL através da consulta do Access deu certo, para preciso colocar isso num campo após atualizar e bloquear, e não to conseguindo.