Newsgroup: it.comp.appl.access
Titolo: Modificare Routine di Roberto da casa

ho trovato su questo NG,una routine di Roberto da casa:
tNoleggio
----------
IDAuto  Contatore
Auto    Testo
Dal     Data/ora
Al      Data/ora
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim Criterio As String
Criterio = "Auto =" & Chr$(34) & Me!Auto & Chr$(34) & _
" And ((Dal<=#" & Format(Me!Dal, "mm/dd/yyyy") & "# And Al>=#" & _
Format(Me!Dal, "mm/dd/yyyy") & "#) Or (Dal>=#" & _
Format(Me!Dal, "mm/dd/yyyy") & "# And Dal<=#" & _
Format(Me!Al, "mm/dd/yyyy") & "#))"
If IsNull(DLookup("IDAuto", "tblNoleggio", Criterio)) Then
    MsgBox "Noleggio Accettato"
Else
    MsgBox "Noleggio NON accettato"
    Cancel = True
    Me.Undo
    Me!Auto.SetFocus
End If
End Sub
sarebbe possibile modificarla,andando ad analizzare non da giorno a giorno
ma da ora ad ora.
mi spiego:
ora č dal 12/03/2004
       al 14/03/2004
vorrei:
      da 12:00:00 12/03/2004
    alle 12:00:00 14/03/2004
per cui potrei noleggiare un auto a partire dalle 12:01:00 del 14/03/2004.
č possibile?
grazie
ciao

 ha scritto nel messaggio
news:6FV6c.76643$z23.3...@news3.tin.it...

mi rispondo
Dim Criterio As String
Criterio = "Mulino =" & Chr$(34) & Me!Mulino & Chr$(34) & _
" And ((Dal<=#" & Format(Me!Dal, "mm/dd/yyyy hh:nn:ss") & "# And Al>=#" & _
Format(Me!Dal, "mm/dd/yyyy hh:nn:ss") & "#) Or (Dal>=#" & _
Format(Me!Dal, "mm/dd/yyyy hh:nn:ss") & "# And Dal<=#" & _
Format(Me!Al, "mm/dd/yyyy hh:nn:ss") & "#))"
If IsNull(DLookup("IDMulinatura", "tblCaricoMulini", Criterio)) Then
    MsgBox "Caricamento Accettato"
Else
    MsgBox "Caricamento NON accettato"
    Cancel = True
    Me.Undo
    Me!Mulino.SetFocus
End If
End Sub
ciao

 ciao
Come saprai un campo di tipo Data/ora può contenere contemporaneamente sia
una data che un orario nel formato:
12/03/2004 12:00:00
e non:
12:00:00 12/03/2004
come hai scritto tu.
Quindi per risolvere il tuo problema devi digitare nelle caselle di testo
Dal ed Al, nell'ordine, prima la data e poi l'ora separati da uno spazio e
le due caselle di testo dovranno avere il seguente Formato:
gg/mm/aaaa hh:nn:ss
Ciò fatto, fermo restando la struttura della tabella tblNoleggio, modifica
la mia Sub nel seguente modo:
Private Sub Form_BeforeUpdate(Cancel As Integer)
If Me!Dal >= Me!Al Then
    MsgBox "Data/ora inizio >= Data/ora fine"
    Cancel = True
    Me.Undo
    Me!Auto.SetFocus
    Exit Sub
End If
Dim Criterio As String
Criterio = "Auto =" & Chr$(34) & Me!Auto & Chr$(34) & _
" And ((Dal<=#" & Format(Me!Dal, "mm/dd/yyyy hh:nn:ss") & _
"# And Al>=#" & _
Format(Me!Dal, "mm/dd/yyyy hh:nn:ss") & _
"#) Or (Dal>=#" & _
Format(Me!Dal, "mm/dd/yyyy hh:nn:ss") & _
"# And Dal<=#" & _
Format(Me!Al, "mm/dd/yyyy hh:nn:ss") & "#))"
If IsNull(DLookup("IDAuto", "tblNoleggio", Criterio)) Then
    MsgBox "Noleggio Accettato"
Else
    MsgBox "Noleggio NON accettato"
    Cancel = True
    Me.Undo
    Me!Auto.SetFocus
End If
End Sub
Ti ricordo che se non digiti l'orario ma solo la data, l'orario sarà preso
di default uguale alla mezzanotte (00:00:00).
-- 
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 ha scritto nel messaggio
news:%lW6c.76891$z23.3...@news3.tin.it...

Sei stato pių veloce per due minuti. ;-)


 ha scritto nel messaggio
news:nnW6c.82819$FJ6.2...@twister1.libero.it...

_________________________________________________________
grazie mille  Roberto