Newsgroup: it.comp.appl.access
Titolo: Evitare #Nome?

Dim DataTesto, DataTesto1, DataTesto2, DataTesto3 As String
Dim Data, Data1, Data2, Data3 As Date
Data = Now()
Data1 = Now() - 1
Data2 = Now() - 2
Data3 = Now() - 3
DataTesto = Format(Day(Data), "00") & "/" & Format(Month(Data), "00")
& "/" & Format(Year(Data), "0000")
DataTesto1 = Format(Day(Data1), "00") & "/" & Format(Month(Data1),
"00") & "/" & Format(Year(Data1), "0000")
DataTesto2 = Format(Day(Data2), "00") & "/" & Format(Month(Data1),
"00") & "/" & Format(Year(Data2), "0000")
DataTesto3 = Format(Day(Data3), "00") & "/" & Format(Month(Data1),
"00") & "/" & Format(Year(Data3), "0000")
Me.dataoggi.ControlSource = DataTesto
Me.dataoggi1.ControlSource = DataTesto1
Me.dataoggi2.ControlSource = DataTesto2
Me.dataoggi3.ControlSource = DataTesto3
con questo codice sono riuscito ad ottenere le origini di controllo
che mi interessavano
può capitare però che una data non sia contenuta nella query di
origine e quindi mi viene visualizzato ovvimente questo errore #nome?
come faccio a non farlo comparire nella casella di testo quando,
appunto, il valore di origine non c'è?

 Dim Data, Data1, Data2, Data3 As Date
dovrebbe essere:
Dim Data As Date, Data1 As Date, Data2 As Date, Data3 As Date
Poi se in DataTesto/1/2... ti serve solo la parte Data perché utilizzi la 
funzione Now? Utilizza la Date; e non ho capito perché applichi la 
formattazione al valore presente in DataTesto, applicala direttamente nella 
valorizzazione di DataTesto:
DataTesto = Format(Date,"mm/dd/yyyy")
Perché la Format ritorna già una stringa (vedi help).
Non utilizzare per le variabili/funzioni/sub/nomi campi/nomi oggetti/etc. 
etc., nomi riservati ad Access tipo Data/Descrizione/Numero/etc. etc., 
perché potresti trovarti nei guai senza capire il perché...
Ciao.
-- 
Sergio MAZZA 

 - Mostra testo tra virgolette -
ti ringrazio, per i consigli preziosi che seguirò scrupolosamente
sto muovendo i primi passi nella programmazione VBA!!
per quanto riguarda il mio problema preciso:
ho letto l'help la funzione NZ restituisce o quando un valore e Null
nell'esecuzione della mia procedura (preciso sull'evento Su apertura
della machera)
io non ho mai un valore null perchè avrò sempre delle date.
il problema è che qualche volta potrebbe capitare che qualla data non
sia contenuta nella query di origine.
quindi io dovrei fare in modo di dire ad access che
se la data non è contenuta nella query mi deve mettere 0 o null nel
campo corrispondente
spero di essere stato chiaro!!
ringrazio ancora

 ringrazio ancora
O hai "sempre" delle date o no; decidi.
Io non ho capito quando scrivi: "...se la data non è contenuta nella 
query..."; in quale query? Dov'è l'estrazione dei dati? Nel codice che hai 
indicato non la vedo.
E poi: "...mi deve mettere 0 o null nel campo corrispondente", 0(zero) non 
puoi indicarlo come valore alternativo ad una data, meglio invece Null che 
indica l'assenza di valore.
A te...
Ciao.
-- 
Sergio MAZZA 

 ha scritto nel messaggio 
news:fdo70r$12n$1...@tdi.cu.mi.it...

cerco di essere più chiaro
la mia maschera ha come origine una query a campi incrociata.
le intestazioni di collonna della query sono delle date, precisamente quelle 
comprese tra oggi e 7 giorni prima
ora se i valori che ho deciso di mostrare nella query di origine sono nulli, 
l'intestazione di colonna (ovvero la data corrispondente) non appare
se non appare io non l'avrò  nella mia maschera.
In questo caso vorrei fare quello che ho chiesto sopra.
o in alternativa (ora che scrivo mi viene in mente) si potrebbe fare in modo 
che la query visualizzi sempre le date degli ultimi sette gionrni
la query si origine è questa
TRANSFORM Count(T_SEGN.DT_S) AS ConteggioDiDT_S
SELECT T_SEGN.COMPILATORE
FROM T_SEGN INNER JOIN T_COMPILATORI ON T_SEGN.COMPILATORE = 
T_COMPILATORI.compilatore
WHERE (((T_SEGN.DT_S) Between Now() And Now()-7) AND ((Year([Dt_S]))=2007) 
AND ((Month([dt_s]))=Month(Now())))
GROUP BY T_SEGN.COMPILATORE, Year([Dt_S]), Month([dt_s]), 
T_COMPILATORI.ORDINE
ORDER BY T_COMPILATORI.ORDINE, T_SEGN.DT_S
PIVOT T_SEGN.DT_S;

 PIVOT T_SEGN.DT_S;
(Opterei per la seconda)
Crea un campo calcolato e ci inserisci:
Nz(data,"--")
Nella query a campi incrociati non utilizzerai il campo vero ma quello 
calcolato e le date, prima di utilizzarle (come date), dovrai verificarne il 
contenuto:
es.
if data<>"--" and isdate(data) then
    ...č una data valida...
else
    ...non č una data valida...
end if
Ciao.
-- 
Sergio MAZZA 

 ha scritto nel messaggio 
news:fdobi8$558$1...@tdi.cu.mi.it...

ok, per il campo calcolato. e la query comunque funziona.
ma per la verifica!??
non ho capito quello che devo fare. Dove metto le condizioni?
un altro piccolo aiutino
ringrazio

 ringrazio
Ma dove li devi vedere 'sti dati?
Ci dovrai fare qualcosa o no? Che ne so'; un report, 'na form,... La 
verifica la farai lě...
Ciao.
-- 
Sergio MAZZA 


io non voglio fare arrabbiare nessuno!!
considera che nella mia query comunque non le visualizzo le date che 
corrispondenti a valori nulli.
quindi, credo sommessamente, di dover riuscire prima a generare una query in 
cui nell'intestazione di colonna
ci siano tutti i giorni della settimana corrente (per capirci) facendo 
visualizza nella cella corrispondete il valore zero
'na cosa cosi:
                        23/09/2007    24/09/2007    25/09/2007    26/09/2007
PINCO                    1                    0                    2 
0
PALLINO                2                    0                    1 
3
TIZIO                        4                    0                    4 
1 

 TIZIO                        4                    0                  4 1
E comunque; chiedi dove fare il controllo; al tuo primo messaggio dicevi che 
con quel codice: "... sono riuscito ad ottenere le origini di controllo che 
mi interessavano...", e lì chiedevi: "...come faccio a non farlo comparire 
nella casella di testo quando, appunto, il valore di origine non c'è?", 
quindi dove dovresti fare il controllo secondo te? Nello stesso codice che 
assegna il valore al controllo...
Ciao.
-- 
Sergio MAZZA