Prezados boa noite....
Tenho comigo o seguinte código...
Private Sub Dgeral_Click()
On Error Resume Next
If Me.DGeral = -1 Then
If MsgBox("Aplicar o desc de: " & Me.Desconto & "%" & vbCrLf & _
"em todos os artigos desse pedido ?", vbYesNo, Me.Caption) = vbNo Then
Me.Undo
Me.DGeral = 0
Exit Sub
Else
On Error GoTo TratareiErro
Dim Rs As DAO.Recordset
Dim Contador As Long
Dim ContaOProgresso As Long
Set Rs = CurrentDb.OpenRecordset("SELECT * FROM Dpedido WHERE codsubped =" & Me.CodSubped & "")
If Rs.RecordCount > 0 Then
Rs.MoveLast
Contador = Rs.RecordCount
Rs.MoveFirst
SysCmd acSysCmdInitMeter, "Realizando as alterações, aguarde...", Contador
For ContaOProgresso = 1 To Contador
SysCmd acSysCmdUpdateMeter, ContaOProgresso
Rs.Edit
Rs("desconto") = Me.Desconto
Rs.Update
Rs.MoveNext
Next ContaOProgresso
Rs.Close
SysCmd acSysCmdRemoveMeter
MsgBox "OK, Total de: " & Contador & " registros atualizados.", vbInformation, "AVISO"
Me.Recalc
Me.Requery
Me.Refresh
Exit Sub
TratareiErro:
MsgBox "Ocorreu uma falha neste processamento." _
& vbCrLf & "Trata-se do erro n°: " & Err.Number _
& vbCrLf & "Descrição: " & Err.Description, vbCritical, "Erro inesperado"
Exit Sub
End If
End If
***preciso fazer o calculo do desconto capturado nos itens do subformulário, mas não está dando certo, pois o calculo não é feito.
***estou tentando realizar essa rotina abaixo, mas sem efeito algum.
'aqui aplico o calculo do desconto
Dim Rs2 As DAO.Recordset
Dim h As String
Set Rs2 = CurrentDb.OpenRecordset("SELECT * FROM Dpedido WHERE codsubped = " & Me.CodSubped & "" & h)
h = Me.TotalOculta - (Me.TotalOculta / 100 * Desconto)
Me.TP.Value = h
Me.Recalc
Me.Requery
Me.Refresh
A parte da sintaxe que está em vermelho, não está dando o resultado necessário, após a clonagem do desconto.
Alguém pode me ajudar a resolver essa parada dura ?
Grato.
Tenho comigo o seguinte código...
Private Sub Dgeral_Click()
On Error Resume Next
If Me.DGeral = -1 Then
If MsgBox("Aplicar o desc de: " & Me.Desconto & "%" & vbCrLf & _
"em todos os artigos desse pedido ?", vbYesNo, Me.Caption) = vbNo Then
Me.Undo
Me.DGeral = 0
Exit Sub
Else
On Error GoTo TratareiErro
Dim Rs As DAO.Recordset
Dim Contador As Long
Dim ContaOProgresso As Long
Set Rs = CurrentDb.OpenRecordset("SELECT * FROM Dpedido WHERE codsubped =" & Me.CodSubped & "")
If Rs.RecordCount > 0 Then
Rs.MoveLast
Contador = Rs.RecordCount
Rs.MoveFirst
SysCmd acSysCmdInitMeter, "Realizando as alterações, aguarde...", Contador
For ContaOProgresso = 1 To Contador
SysCmd acSysCmdUpdateMeter, ContaOProgresso
Rs.Edit
Rs("desconto") = Me.Desconto
Rs.Update
Rs.MoveNext
Next ContaOProgresso
Rs.Close
SysCmd acSysCmdRemoveMeter
MsgBox "OK, Total de: " & Contador & " registros atualizados.", vbInformation, "AVISO"
Me.Recalc
Me.Requery
Me.Refresh
Exit Sub
TratareiErro:
MsgBox "Ocorreu uma falha neste processamento." _
& vbCrLf & "Trata-se do erro n°: " & Err.Number _
& vbCrLf & "Descrição: " & Err.Description, vbCritical, "Erro inesperado"
Exit Sub
End If
End If
***preciso fazer o calculo do desconto capturado nos itens do subformulário, mas não está dando certo, pois o calculo não é feito.
***estou tentando realizar essa rotina abaixo, mas sem efeito algum.
'aqui aplico o calculo do desconto
Dim Rs2 As DAO.Recordset
Dim h As String
Set Rs2 = CurrentDb.OpenRecordset("SELECT * FROM Dpedido WHERE codsubped = " & Me.CodSubped & "" & h)
h = Me.TotalOculta - (Me.TotalOculta / 100 * Desconto)
Me.TP.Value = h
Me.Recalc
Me.Requery
Me.Refresh
A parte da sintaxe que está em vermelho, não está dando o resultado necessário, após a clonagem do desconto.
Alguém pode me ajudar a resolver essa parada dura ?
Grato.