toyebom 30/12/2017, 15:02
Paço desculpa por reabrir o tópico mas surgiu-me um problema com o código do Alexandre, funciona tudo mas ao seleccionar a exclusão dos fins de semana ele não exclui.
Vejam o código adaptado e se me enganei nalguma linha.
Private Sub btnGerar_Click()
'ahteixeira 2017 - MaximoAccess
Dim I As Date
'verifica se foi introduzida uma data Inicial
If Not IsDate(Me.txtDataI) Then
MsgBox "Introduza uma data inicial válida.", vbInformation, ""
Me.txtDataI.SetFocus
Exit Sub
End If
'verifica se foi introduzida uma data Final
If Not IsDate(Me.txtDataF) Then
MsgBox "Introduza uma data final válida.", vbInformation, ""
Me.txtDataF.SetFocus
Exit Sub
End If
'verifica se data Final é menor que a data Inicial
If Me.txtDataF < Me.txtDataI Then
MsgBox "Data final inferior à data inicial, verifique.", vbInformation, ""
Me.txtDataI.SetFocus
Exit Sub
End If
If VerificaPeriodo = True Then
If MsgBox("O sistema identificou que existem eventos registrados no período informado." & vbCrLf & _
"Após a confirmação, os dados serão excluídos." & vbCrLf & _
"Deseja realmente prosseguir?", vbQuestion + vbYesNo, "Aviso") = vbYes Then
'Exclui os registros do código e o periodo informado
ssql = "DELETE FROM registos_Datas"
ssql = ssql & " WHERE ID = " & Código & ""
ssql = ssql & " AND Dataevento >= #" & Format(txtDataI, "yyyy/mm/dd") & "# "
ssql = ssql & " AND Dataevento <= #" & Format(txtDataF, "yyyy/mm/dd") & "# "
CurrentDb.Execute ssql
Me.Filho18.Requery
For I = Me.txtDataI To Me.txtDataF
If chkFDS.Value = -1 And Weekday(I) <> 1 And Weekday(I) <> 7 Then
CurrentDb.Execute "INSERT INTO tblHorasExtras (IdFuncionário,He_DataLançamento,DiaSemana) Values(" & Me.IdFuncionário.Value & ", '" & Format(I, "yyyy/mm/dd") & "','" & WeekdayName(Weekday(I)) & "');"
ElseIf chkFDS.Value <> -1 Then
CurrentDb.Execute "INSERT INTO tblHorasExtras (IdFuncionário,He_DataLançamento,DiaSemana) Values(" & Me.IdFuncionário.Value & ", '" & Format(I, "yyyy/mm/dd") & "','" & WeekdayName(Weekday(I)) & "');"
End If
Next I
End If
Else
For I = Me.txtDataI To Me.txtDataF
CurrentDb.Execute "INSERT INTO tblHorasExtras (IdFuncionário,He_DataLançamento,DiaSemana) Values(" & Me.IdFuncionário.Value & ", '" & Format(I, "yyyy/mm/dd") & "','" & WeekdayName(Weekday(I)) & "');"
Next I
End If
'atualiza lista
Me.Filho18.Requery
txtDataI.Value = Empty
txtDataF.Value = Empty
End Sub