Newsgroup: it.comp.appl.access
Titolo: ciclo...

Salve, sono nuova ed ho questo quesito:
devo fare un ciclo di intervalli tra date di una tabella.
Mi spiego:
Data iniziale  Data finale
01.05.05      03.05.05
devo fare una stampa per ciscuno dei giorni che intercorrono tra la data 
iniziale e la data finale ovvero prendere: 01.05.05 - 02.05.05 - 03.05.05...
per altre necessità devo anche scomporre in ciascun ciclo la singola 
data...ovvero:
giorno=01
mese=05
anno=2005
come indico l'intervallo con il codice ?
per la scomposizione non ho problemi perchè ho usato DATEPART...etc
Mi sono abbastanza incasinata...qualche anima pia mi illumina la strada ?
10x 

 ha scritto nel messaggio 
news:429f3e38$0$17091$5fc...@news.tiscali.it...

Ciao,
potrei essere l'anima pia o forse no...lo si può scoprire!
La data insomma da spezzare ha questo formato 01.05.05 o 01/05/05? Da quello 
che ti capisco ti rimane questo da risolvere...illuminami altrimenti 

l
a data ha il formato 01/05/2005 per spezzarla ho usato il DATEPART e fin qui 
nessun problema.
Il problema è che lo spezzettamento è all'interno di un ciclo che non riesco 
a definire ovvero
for....= 01/05/2005 to 03/05/2005

 ha scritto nel messaggio 
news:429f4174$0$17086$5fc...@news.tiscali.it...

Penso che una soluzione potrebbe essere quella di dterminarsi la differenza 
(in termini di giorni) fra la data finale e quella iniziale (limite massimo 
da usare come contatore nel ciclo) dopodichè degli array di stringhe per 
memorizzare i giorni mesi ed anni estrapolati durante il ciclo
Adesso vediamo un pò...nel frattempo magari arriverà qualche altro consiglio 

 ha scritto nel messaggio 
news:gCHne.973887$b5.42...@news3.tin.it...

Un'ultima cosa..determini differenze fra date in 2 mesi diversi? es. 
02/06/2005 - 25/0572005 

[CUT]
Giacchè non mi rispondi...ipotizzando che la differenza fra date viene 
determinata nell'ambito dello stesso mese, puoi utilizzare il seguente 
codice all'interno del click di un pulsante
Dim cont As Integer
Dim diff As Integer
Dim data(31) As String
Dim mese As String
Dim anno As String
Dim DataInizio As Date
Dim DataFine As Date
DataInizio = "07/05/2005"
DataFine = "10/05/2005"
diff = DateDiff("d", DataInizio, DataFine)
If diff <= 0 Then
   Exit Sub
End If
mese = Mid(DataInizio, 4, 2)
anno = Right(DataInizio, 4)
cont = 1
Do While (cont <= diff)
    data(cont) = "giorno=" & Left(DataInizio, 2) + cont & " mese=" & mese & 
" anno=" & anno
    MsgBox data(cont)
    cont = cont + 1
Loop
Notte
Gaspare 

[CUT]
Ciao,
ti ho sistemato il codice in maniera tale che non sei vincolata dai mesi o 
dagli anni...va bene qualunque data di fine o d'inizio purchè ovviamente 
l'intervallo sia positivo
Private Sub cmdPulsante_Click()
Dim DataInizio As Date
Dim DataFine As Date
Dim DataSuccessiva As String
Dim Giorno(365) As String
Dim Mese As String
Dim Anno As String
Dim cont As Integer
Dim diff As Integer
DataInizio = "25/12/2005"
DataFine = "07/01/2006"
diff = DateDiff("yyyy", DataInizio, DataFine)
If diff < 0 Then
 MsgBox "Occhio al'anno iniziale e finale"
 Exit Sub
End If
diff = DateDiff("m", DataInizio, DataFine)
If diff < 0 Then
 MsgBox "Occhio al mese iniziale e finale"
 Exit Sub
End If
diff = DateDiff("d", DataInizio, DataFine)
If diff <= 0 Then
    MsgBox "Occhio al giorno finale ed iniziale"
   Exit Sub
End If
cont = 1
Do While (cont <= diff)
DataSuccessiva = DateAdd("d", cont, DataInizio)
Giorno(cont) = Left(DataSuccessiva, 2)
'Qui memorizzi il giorno incrementato di 1 dalla data iniziale
'Es. giorno=26
Mese = Mid(DataSuccessiva, 4, 2)
'Qui memorizzi il Mese
'Es. mese=12
Anno = Right(DataSuccessiva, 4)
'Qui memorizzi l'Anno
'Es anno=2005
MsgBox Giorno(cont) & "/" & Mese & "/" & Anno
cont = cont + 1
Loop
End Sub
---------
Ti ho inviato all'indirizzo email l'esempio...se hai bisogno di qualche 
chiarimento non esitare a contattarmi -> "IL SERVIZIO DI HELP DESK E' 
GRATUITO DURANTE LE VACANZE" ;-)
Notte
Gaspare 

 ha scritto nel messaggio 
news:7RNne.975053$b5.42...@news3.tin.it...

avevo anche trovato un'altra soluzione...ma vorrei anche provare la tua che 
mi pare molto + completa.
..ad ogni modo grazie infinite per lo sforzo e la dedizione !
Ciao e grazie

 per la scomposizione non ho problemi perchè ho usato DATEPART...etc
se hai già usato il DatePart sei a cavallo
    Dim i As Integer
    For i = DatePart("d", dataInizio) To DatePart("d", dataFine)
        MsgBox "Oggi è il " & i
        ' qui puoi mettere il codice per stampare
    Next i
qs. codice si aspetta una data di inizio con un giorno inferiore di quello
nella data di fine, cioè, non puoi stampare dal 24 aprile al 15 maggio, e
non tiene conto del mese, cioè dal 15 aprile al 25 maggio stampa solo 10
numeri, non 40.
Se hai capito come funziona, te lo puoi modificare a piacere.
Spero di essere stato di aiuto . Ciao
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

;-) 


Di nulla figurati...ci si diverte un pò a scrivere qualche riga di codice! 
;-)... 

 10x
-- 
Roberto
-----------------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
---------------------------------------------------- 

> GRATUITO DURANTE LE VACANZE" ;-)
Questa è 1 battutaccia delle mie...non farci caso :-) 

Ciao yronium,
come va? Tutto bene? :-) 

 come va? Tutto bene? :-)
abbastanza, grazie


 Salve, sono nuova ed ho questo quesito:
Ti sei già "presentata"

Devi crearti una querydef passare il parametro e lanciare la stampa
-- 
_ _
Ciao
MAssimiliano Amendola            
www.accessgroup.it
Cisa1 - I° Conferenza Italiana per Sviluppatori Access Arezzo 4+5
Giugno 2005 Info:  
www.donkarl.com/it


E un Beetween ... And... sulla query ? ;-P 

 E un Beetween ... And... sulla query ? ;-P
Sì, ma la deve sempre ciclare
