DESCOBRE FERIADO NO MES
BOM DIA, ALGUEM PODE ME AJUDAR, TEM ALGUMA ROTINA PARA DESCOBRIR OS FERIADOS NO MES?
POR EXEMPLO DIA DE NOSSA SENHORA APARECIDA, FINADOS?
POR EXEMPLO DIA DE NOSSA SENHORA APARECIDA, FINADOS?
Sim, uma tabela no banco aonde vc os cadastra e depois lê.
Pois lembre-se, cada cidade tem um calendario de feriado diferente.
Pois lembre-se, cada cidade tem um calendario de feriado diferente.
E ainda tem feriads nacionais que são móveis...
Private Sub Command1_Click()
[ô]Esta função calcula os feriados móveis nacionais:
[ô]Pascoa, Carnaval, Sexta-Feira Santa e CorpusC.
ano = 2012
Dim A, B, C, D, E, F, G, H, I, K, L, M, P, Q As Long
A = (ano Mod 19)
B = Int(ano / 100)
C = (ano Mod 100)
D = Int(B / 4)
E = (B Mod 4)
F = Int((B + 8) / 25)
G = Int((B - F + 1) / 3)
H = ((19 * A + B - D - G + 15) Mod 30)
I = Int(C / 4)
K = (C Mod 4)
L = ((32 + 2 * E + 2 * I - H - K) Mod 7)
M = Int((A + 11 * H + 22 * L) / 451)
P = Int((H + L - 7 * M + 114) / 31)
Q = ((H + L - 7 * M + 114) Mod 31)
dt_Pascoa = CDate((Q + 1) & [Ô]/[Ô] & P & [Ô]/[Ô] & ano)
dt_Carnaval = DateAdd([Ô]d[Ô], -47, dt_Pascoa)
dt_SextaSanta = DateAdd([Ô]d[Ô], -2, dt_Pascoa)
dt_CorpusC = DateAdd([Ô]d[Ô], 60, dt_Pascoa)
MsgBox [Ô]Ano: [Ô] & ano & vbCrLf & _
[Ô]Pascoa: [Ô] & dt_Pascoa & vbCrLf & _
[Ô]Carnaval: [Ô] & dt_Carnaval & vbCrLf & _
[Ô]Sexta Santa: [Ô] & dt_SextaSanta & vbCrLf & _
[Ô]Corpus Cristi: [Ô] & dt_CorpusC
End Sub
[ô]Esta função calcula os feriados móveis nacionais:
[ô]Pascoa, Carnaval, Sexta-Feira Santa e CorpusC.
ano = 2012
Dim A, B, C, D, E, F, G, H, I, K, L, M, P, Q As Long
A = (ano Mod 19)
B = Int(ano / 100)
C = (ano Mod 100)
D = Int(B / 4)
E = (B Mod 4)
F = Int((B + 8) / 25)
G = Int((B - F + 1) / 3)
H = ((19 * A + B - D - G + 15) Mod 30)
I = Int(C / 4)
K = (C Mod 4)
L = ((32 + 2 * E + 2 * I - H - K) Mod 7)
M = Int((A + 11 * H + 22 * L) / 451)
P = Int((H + L - 7 * M + 114) / 31)
Q = ((H + L - 7 * M + 114) Mod 31)
dt_Pascoa = CDate((Q + 1) & [Ô]/[Ô] & P & [Ô]/[Ô] & ano)
dt_Carnaval = DateAdd([Ô]d[Ô], -47, dt_Pascoa)
dt_SextaSanta = DateAdd([Ô]d[Ô], -2, dt_Pascoa)
dt_CorpusC = DateAdd([Ô]d[Ô], 60, dt_Pascoa)
MsgBox [Ô]Ano: [Ô] & ano & vbCrLf & _
[Ô]Pascoa: [Ô] & dt_Pascoa & vbCrLf & _
[Ô]Carnaval: [Ô] & dt_Carnaval & vbCrLf & _
[Ô]Sexta Santa: [Ô] & dt_SextaSanta & vbCrLf & _
[Ô]Corpus Cristi: [Ô] & dt_CorpusC
End Sub
Tópico encerrado , respostas não são mais permitidas