Newsgroup: it.comp.appl.access
Titolo: confronto date

ciao a tutti
 
vorrei confrontare
una data con l'ultima data
in una tabella
 
p.e.
 
If data < (ultima data in tb) Then
    msg = "La data non puo' essere inferiore alla data in tb"
    Exit Function
End If
 
come devo fare?
Grazie


Per ultima Data non intendi la MAGGIORE, ma quella dell'ultimo RECORD inserito...?
In questo caso io opterei per una Query(se sei in MonoUtenza): 
SELECT TOP 1 Data FROM T1 ORDERBY CampoID DESC
A questo punto apri un RS e l'unico Valore che ottieni(se esiste) è la Data relativa all'ultimo ID inserito...
 
Se invece intendi la MAGGIORE usi DMAX...
If TuaData<Dmax("CampoData","TuaTabella") then
 
@Alex


si la maggiore
grazie Alex

 SELECT TOP 1 Data FROM T1 ORDERBY CampoID DESC
 
Con Top 1 non è superflua la order by?
 
-- 
Greg
 
 

 Con Top 1 non è superflua la order by?
 
mi permetto di rispondere io :)
 
No non è superfluo perché vuole prendere l'ultimo Id
quindi il primo (TOP 1) Id in ordine decrescente 
 
diversamente prenderebbe il primo Id invece dell'ultimo
 
o peggio non ti prenderebbe neanche il primo Id 
bensi semplicemente il primo di qualcosa ......

Il 06/04/15 22.48.32 Mancini ha scritto:

Permettiti pure e sempre quando vuoi :)
La mia perplessità deriva dal fatto che, senza badare molto a cosa 
restituisce la Top 1, restituisce comunque sempre un solo record, ed 
essendo io convinto, forse erroneamente che order by entri in ballo 
solo dopo che è stato selezionato quell'unico record, ecco che allora 
mi chiedo: che senso ha ordinare un recorset composto da un solo 
record?
 
-- 
Greg
 
 

 mi chiedo: che senso ha ordinare un recorset composto da un solo record?
 
In questo caso fa innanzitutto l'ordinamento e poi seleziona il TOP n
 
con la avvertenza che se per esempio metti 
.... TOP 4 ...... ORDER BY Campo3
e ti ritrovi i primi 7 valori del Campo3 uguali allora
la tua querry ti seleziona NON 4 bensi 7 record
 
Diverso sarebbe se l'ordinamento lo applichi sulla maschera,
 
 
http://translate.google.it/translate?hl=it&sl=en&u=https://support.office.com/en-sg/article/ALL-DISTINCT-DISTINCTROW-TOP-Predicates-24f2a47d-a803-4c7c-8e81-756fe298ce57&prev=search
 
 
 
https://support.office.com/en-sg/article/ALL-DISTINCT-DISTINCTROW-TOP-Predicates-24f2a47d-a803-4c7c-8e81-756fe298ce57
 
 
 
.

Il giorno lunedì 6 aprile 2015 17:20:53 UTC+2, @Alex ha scritto:

ciao Alex
 
ho inserire questo codice
nella seguente funzione; ma vorrei che la
la data tenesse in considerazione anche il
numero, in modo che se elimino un record
possa poi reinserirlo. grazie
 
n. 1 01/04
n. 2 01/04
n. 3 02/04
n. 4 03/04
 
 
Public Function _
Testa_dataMiaFatt(Data As Variant, _
           ByRef msg As String) As Boolean
 
If Data < DMax("dataMiaFattura", "TbFatture") Then
    msg = "La 'data Fattura' deve essere superiore al " & Format(DMax("dataMiaFattura", "TbFatture"))
    Exit Function
End If
 
Testa_dataMiaFatt = True
End Function
 
 

 In questo caso fa innanzitutto l'ordinamento e poi seleziona il TOP n
 
Allora cambia tutto! Ero persuaso del contrario.
Grazie peer l'intervento :)
 
-- 
Greg
 
 


Era un'osservazione molto scontata il fatto che l'ORDER BY fosse prioritario...
In tutti i casi, quando si hanno dubbi simili, è sempre meglio provare.
 
@Alex