Antes de tudo as apostrofes são os comentários
'Estou fazendo um sistema para um clube com o gerenciamento dos Associados e tal e controle das mensalidades pagas e vencidas.
'Ao gerar as mensalidades para o ano referente é gravado em uma tabela de mensalidades com os seguintes campos:
'Nome---------Tipo------Chaves Primarias
'md_codsoc----Integer---Chave
'md_ano-------Integer---chave
'md_janven----date {Data vencimento Janeiro}
'md_fevven----date { " " Fevereiro}
'md_marven----date { " " Março}
'md_abrven----date
'md_junven----date
'md_julven----date
'md_agoven----date
'md_setven----date
'md_outven----date
'md_novven----date
'md_dezven----date{ " " Dezembro}
'md_janpag----date{ Data pagamento Janeiro}
'md_fevpag----date
'md_marpag----date
'md_abrpag----date
'md_junpag----date
'md_julpag----date
'md_agopag----date
'md_setpag----date
'md_outpag----date
'md_novpag----date
'md_dezpag----date{ " " Dezembro}
'md_valor-----number {Valor da Mensalidade}
'md_valor-----number {Valor Extra}
'No sistema ao pagar uma mensalidade as informações são gravadas nos mes md_...pag(ex: md_janpag)
'O problema é em "alimentar" um tabela auxiliar.
'Estou lendo e transferindo os dados necessários alimentar uma tabela auxiliar, a qual é utilizada na geração
'de um relatório especificando as mensalidades vencidas e pagas
'Essa tabela auxiliar tem a seguinte estrutura:
'Nome---------Tipo------Chaves Primarias
'CD_socio-----integer {Código do Associado}
'Cd_ano-------integer
'vl_mesref----date {mês e ano da mensalidade (ex: 03/2003}
'vl_vencidas--number {Valor da mensalidade vencida}
'vl_pagas-----number {valor da mensalidade paga}
'Abaixo esta o modulo que criei para realizar tal procedimento
'OBS: Essa procedure é utilizada alimentar a tabela auxiliar com a finalidade destas informações
'Gerar um relatório
'Verifica de Mensalidades Pagas e Vencidades e Grava em work_conta
Public Sub Mens_Venc()
'Variaveis da Procedure
Dim tb_conta As Recordset
Dim tb_mensalidade As Recordset
Dim banco As Database
Dim criterio_socio
Dim criterio_vencidas
Dim datatual As Date
Dim ANO
Dim codsocio
ANO = Forms!menurel!tano 'Ano referênte a situação do associado
codsocio = Forms!menurel!csoc 'Combo com o Código do Associado e nome
'Define Recordsets
Set banco = CurrentDb()
Set tb_mensalidade = banco.OpenRecordset("mensalidade")
Set tb_conta = banco.OpenRecordset("work_conta")
criterio_socio = "md_codsoc=" & codsocio & " and md_ano=" & ANO
'verifica se tbl esta cheia
If Not tb_conta.EOF Then
tb_conta.MoveFirst
While Not tb_conta.EOF
tb_conta.Delete
tb_conta.MoveNext
Wend
MsgBox "Todos os registros da tabela work_conta foram deletados!"
End If
tb_mensalidade.FindFirst criterio_socio
If tb_mensalidade.NoMatch = False Then
MsgBox "O Associado selecionado não possui mensalidade para o ano de " & Forms!menurel!tano, vbCritical
Exit Sub
Else
datatual = Now()
'Verifica as Mensalidades
'Janeiro
If (tb_mensalidade!md_JANven < datatual) Or (tb_mensalidade!md_JANpag <> Null) Then
tb_conta.AddNew
tb_conta!vl_mesref = "01/" & ANO
tb_conta!CD_SOCIO = codsocio
tb_conta!CD_ANO = ANO
If (tb_mensalidade!md_JANpag = Null) And (tb_mensalidade!md_JANven < Datatu) Then
tb_conta!VL_VENCIDAS = tb_mensalidade!md_Valor + tb_mensalidade!md_extra
End If
If tb_mensalidade!md_JANpag <> Null Then
tb_conta!vl_pagas = tb_mensalidade!md_Valor + tb_mensalidade!md_extra
End If
tb_conta.Update
End If
'Fevereiro
If (tb_mensalidade!md_FEVven < datatual) Or (tb_mensalidade!md_fevpag <> Null) Then
tb_conta.AddNew
tb_conta!CD_SOCIO = codsocio
tb_conta!CD_ANO = ANO
tb_conta!vl_mesref = "02/" & ANO
If (tb_mensalidade!md_fevpag = Null) And (tb_mensalidade!md_FEVven < Datatu) Then
tb_conta!VL_VENCIDAS = tb_mensalidade!md_Valor + tb_mensalidade!md_extra
End If
If tb_mensalidade!md_fevpag <> Null Then
tb_conta!vl_pagas = tb_mensalidade!md_Valor + tb_mensalidade!md_extra
End If
tb_conta.Update
End If
'Março
If (tb_mensalidade!md_MARven < datatual) Or (tb_mensalidade!md_marpag <> Null) Then
tb_conta.AddNew
tb_conta!CD_SOCIO = codsocio
tb_conta!CD_ANO = ANO
tb_conta!vl_mesref = "03/" & ANO
If (tb_mensalidade!md_marpag = Null) And (tb_mensalidade!md_MARven < Datatu) Then
tb_conta!VL_VENCIDAS = tb_mensalidade!md_Valor + tb_mensalidade!md_extra
End If
If tb_mensalidade!md_marpag <> Null Then
tb_conta!vl_pagas = tb_mensalidade!md_Valor + tb_mensalidade!md_extra
End If
tb_conta.Update
End If
'Abril
If (tb_mensalidade!md_ABRven < datatual) Or (tb_mensalidade!md_ABRpag <> Null) Then
tb_conta.AddNew
tb_conta!CD_SOCIO = codsocio
tb_conta!CD_ANO = ANO
tb_conta!vl_mesref = "04/" & ANO
If (tb_mensalidade!md_ABRpag = Null) And (tb_mensalidade!md_ABRven < Datatu) Then
tb_conta!VL_VENCIDAS = tb_mensalidade!md_Valor + tb_mensalidade!md_extra
End If
If tb_mensalidade!md_ABRpag <> Null Then
tb_conta!vl_pagas = tb_mensalidade!md_Valor + tb_mensalidade!md_extra
End If
tb_conta.Update
End If
'Maio
If (tb_mensalidade!md_MAIven < datatual) Or (tb_mensalidade!md_MAIpag <> Null) Then
tb_conta.AddNew
tb_conta!CD_SOCIO = codsocio
tb_conta!CD_ANO = ANO
tb_conta!vl_mesref = "05/" & ANO
If (tb_mensalidade!md_MAIpag = Null) And (tb_mensalidade!md_MAIven < Datatu) Then
tb_conta!VL_VENCIDAS = tb_mensalidade!md_Valor + tb_mensalidade!md_extra
End If
If tb_mensalidade!md_MAIpag <> Null Then
tb_conta!vl_pagas = tb_mensalidade!md_Valor + tb_mensalidade!md_extra
End If
tb_conta.Update
End If
'Junho
If (tb_mensalidade!md_JUNven < datatual) Or (tb_mensalidade!md_JUNpag <> Null) Then
tb_conta.AddNew
tb_conta!CD_SOCIO = codsocio
tb_conta!CD_ANO = ANO
tb_conta!vl_mesref = "06/" & ANO
If (tb_mensalidade!md_JUNpag = Null) And (tb_mensalidade!md_JUNven < Datatu) Then
tb_conta!VL_VENCIDAS = tb_mensalidade!md_Valor + tb_mensalidade!md_extra
End If
If tb_mensalidade!md_JUNpag <> Null Then
tb_conta!vl_pagas = tb_mensalidade!md_Valor + tb_mensalidade!md_extra
End If
tb_conta.Update
End If
'Julho
If (tb_mensalidade!md_JULven < datatual) Or (tb_mensalidade!md_JULpag <> Null) Then
tb_conta.AddNew
tb_conta!CD_SOCIO = codsocio
tb_conta!CD_ANO = ANO
tb_conta!vl_mesref = "07/" & ANO
If (tb_mensalidade!md_JULpag = Null) And (tb_mensalidade!md_JULven < Datatu) Then
tb_conta!VL_VENCIDAS = tb_mensalidade!md_Valor + tb_mensalidade!md_extra
End If
If tb_mensalidade!md_JULpag <> Null Then
tb_conta!vl_pagas = tb_mensalidade!md_Valor + tb_mensalidade!md_extra
End If
tb_conta.Update
End If
'Agosto
If (tb_mensalidade!md_AGOven < datatual) Or (tb_mensalidade!md_AGOpag <> Null) Then
tb_conta.AddNew
tb_conta!CD_SOCIO = codsocio
tb_conta!CD_ANO = ANO
tb_conta!vl_mesref = "08/" & ANO
If (tb_mensalidade!md_AGOpag = Null) And (tb_mensalidade!md_AGOven < Datatu) Then
tb_conta!VL_VENCIDAS = tb_mensalidade!md_Valor + tb_mensalidade!md_extra
End If
If tb_mensalidade!md_AGOpag <> Null Then
tb_conta!vl_pagas = tb_mensalidade!md_Valor + tb_mensalidade!md_extra
End If
tb_conta.Update
End If
'Setembro
If (tb_mensalidade!md_SETven < datatual) Or (tb_mensalidade!md_SETpag <> Null) Then
tb_conta.AddNew
tb_conta!CD_SOCIO = codsocio
tb_conta!CD_ANO = ANO
tb_conta!vl_mesref = "09/" & ANO
If (tb_mensalidade!md_SETpag = Null) And (tb_mensalidade!md_SETven < Datatu) Then
tb_conta!VL_VENCIDAS = tb_mensalidade!md_Valor + tb_mensalidade!md_extra
End If
If tb_mensalidade!md_SETpag <> Null Then
tb_conta!vl_pagas = tb_mensalidade!md_Valor + tb_mensalidade!md_extra
End If
tb_conta.Update
End If
'Outubro
If (tb_mensalidade!md_OUTven < datatual) Or (tb_mensalidade!md_OUTpag <> Null) Then
tb_conta.AddNew
tb_conta!CD_SOCIO = codsocio
tb_conta!CD_ANO = ANO
tb_conta!vl_mesref = "10/" & ANO
If (tb_mensalidade!md_OUTpag = Null) And (tb_mensalidade!md_OUTven < Datatu) Then
tb_conta!VL_VENCIDAS = tb_mensalidade!md_Valor + tb_mensalidade!md_extra
End If
If tb_mensalidade!md_OUTpag <> Null Then
tb_conta!vl_pagas = tb_mensalidade!md_Valor + tb_mensalidade!md_extra
End If
tb_conta.Update
End If
'Novembro
If (tb_mensalidade!md_NOVven < datatual) Or (tb_mensalidade!md_NOVpag <> Null) Then
tb_conta.AddNew
tb_conta!CD_SOCIO = codsocio
tb_conta!CD_ANO = ANO
tb_conta!vl_mesref = "11/" & ANO
If (tb_mensalidade!md_NOVpag = Null) And (tb_mensalidade!md_NOVven < Datatu) Then
tb_conta!VL_VENCIDAS = tb_mensalidade!md_Valor + tb_mensalidade!md_extra
End If
If tb_mensalidade!md_NOVpag <> Null Then
tb_conta!vl_pagas = tb_mensalidade!md_Valor + tb_mensalidade!md_extra
End If
tb_conta.Update
End If
'Dezembro
If (tb_mensalidade!md_DEZven < datatual) Or (tb_mensalidade!md_DEZpag <> Null) Then
tb_conta.AddNew
tb_conta!CD_SOCIO = codsocio
tb_conta!CD_ANO = ANO
tb_conta!vl_mesref = "12/" & ANO
If (tb_mensalidade!md_DEZpag = Null) And (tb_mensalidade!md_DEZven < Datatu) Then
tb_conta!VL_VENCIDAS = tb_mensalidade!md_Valor + tb_mensalidade!md_extra
End If
If tb_mensalidade!md_DEZpag <> Null Then
tb_conta!vl_pagas = tb_mensalidade!md_Valor + tb_mensalidade!md_extra
End If
tb_conta.Update
End If
tb_conta.Close
tb_mensalidade.Close
End If
End Sub
RipThor
Membro Senior
Registrado
356 Mensagens
0 Curtidas
Sistema em MS-Access
#1 Por RipThor
14/03/2003 - 11:35