PDA

Visualizza versione completa : Calcolo ricorrenza su Access07


ciobinn
21-02-2008, 18.46.55
dovrei riuscire a "calcolare" la ricorrenza di una data, in poche parole come su MS Outlook quando si crea un appuntamento è possibile farlo ripetere tramite il comando ricorrenza in base alla sementraslità, anualità ecc...

avete consigli per farlo in access07?

grazie

miciomao
05-03-2008, 13.55.37
credo che outlook incrementi l'anno e nulla più, non dovrebbe essere difficile.

se la data è 27/12/2008 ci sarà solo da incrementare l'anno

se ho capito bene si intende :)

miciomao
05-03-2008, 13.58.05
ops scusa non avevo letto le semestralità ecc...

MaaX
06-03-2008, 17.25.03
Cosa intendi per ricorrenza?

Cioè per ricorrere un appuntamento basta cliccare con il dx su un giorno del calendario e selezionare "Nuovo Appuntamento Ricorrente" dove puoi scegliere la ricorrenza per giorni settimane mesi anni ecc.

In alternativa è possibile creare una riunione e/o un evento ricorrente selezionando "Nuova Riunione Ricorrente" o "Nuovo Evento Ricorrnete"

Salut

miciomao
06-03-2008, 18.12.07
lui vuole farlo su access

miciomao
06-03-2008, 19.40.13
ho trovato questo esempio in rete

si usa per la ricorrenza scadenzario fatture

se ci spippoli un bel po credo che potresti riadattarlo

OK. Questo un esempio che prevede una tabella Scadenze con tre campi (ID
contatore, Persona numerico lungo, scadenza di tipo data)
Da una maschera Fatture che abbia una "data fattura" al click di un pulsante
richiamo la funzione(i) sotto riportate, in questo modo:
Call ElaboraScadenze(Me.StringaScadenza, Me.DataFattura, Me.IDCliente)

Per StringaScadenza intendo una stringa del tipo 30/60/90/180.
Alla fine delle procedure la tabella "Scadenze" conterrà le date di scadenza
per quella fattura o pagamento e per quel cliente.

Di seguito le funzioni che andranno copiate e incollate in un modulo
pubblico:

Public Function ElaboraScadenze(MiaScadenza As String, MiaData As Date,
IDPersona As Long)

Dim POS As Integer, i As Integer
Dim Giorni As Integer

POS = 1

For i = 1 To Len(MiaScadenza)
POS = InStr(i, MiaScadenza, "/")
If POS = 0 Then
Giorni = CInt(mID$(MiaScadenza, 1, Len(MiaScadenza)))
Call AccodaScadenze(Giorni, MiaData, IDPersona)
Exit For
End If
If IsNumeric(CInt(mID$(MiaScadenza, 1, POS - 1))) = True Then
Giorni = CInt(mID$(MiaScadenza, 1, POS - 1))
MiaScadenza = mID$(MiaScadenza, POS + 1, Len(MiaScadenza))
Call AccodaScadenze(Giorni, MiaData, IDPersona)
End If
Next i

End Function

Public Function AccodaScadenze(g As Integer, MD As Date, IDP As Long)

Dim RCS As Recordset
Set RCS = CurrentDb.OpenRecordset("Scadenze")

With RCS
.AddNew
![Persona] = IDP
!scadenza = MD + g
.Update
End With

RCS.close
Set RCS = Nothing

End Function