Newsgroup: it.comp.appl.access
Titolo: un aiuto, caselle di sistema....... come fare a.......

ciao.
ho un DB fatto con access, dove è presente una maschera cosi fatta:
data
nome dipendente ( casella combinata )
entrata mattina
uscita mattina
entrata pomeriggio
uscita pomeriggio
poi una query  (che calcola le ore di lavoro dei dipendenti )  con due 
parametri:
parametro di data ( betwenn  e and )
poi un altro parametro ( nome dipendente )
quando richiedo il report collegato con la query
mi compare una finestra di sistema che mi chiede di inserire la data 
iniziale ( poi invio ) la data finale ( di nuovo invio ) e poi il nome 
dipendente,
io vorrei che invece di dover ogni volta digitare il nome del dipendente, lo 
vorrei selezionare con una casella combinata,
ma come si fa ??????
sempre se è possibile farlo,
immaginate di avere 10 dipendenti e di dover digitare il nome x vedere il 
report collegato ( se digiti male il nome non visualizzi il report)
potete aiutarmi grazie............ 


Nella query, se vuoi fare riferimento a controlli sulla form, scrivi:
Forms!nomeForm!nomeControllo
quindi se la casella combinata si chiama "dipendente" e la form che la 
contiene "Dipendenti", diventa:
Forms!Dipendenti!dipendente
Ciao.
-- 
Sergio MAZZA 

 ha scritto nel messaggio 
news:csl6nr$ktc$1...@canarie.caspur.it...


 ciao...... cosa ne pensi...?
Calma e sangue freddo; prima di tutto rispettiamo le regole di questo NG (le 
trovi su 
www.sitocomune.com
) scrivendo in coda al messaggio precedente, come 
faccio io; ok?
Tu hai scritto che hai un report che si basa sulla query con i parametri 
"data" e "nome dipendente" e che vorresti utilizzare una casella combinata 
per scegliere il nominativo invece di scriverlo.
Bene, la casella combinata l'hai certamente creata nella form, no? Gli avrai 
dato un nome, no?
Passiamo alla query; quando sei in visualizzazione struttura noterai che hai 
la finestra divisa in due parti, in alto trovi la o le tabelle che ti 
servono; in basso trovi i campi che ti devono essere restituiti dalla query.
Avrai anche notato che a sinistra ci sono delle "etichette": Campo, Tabella, 
Ordinamento, Mostra, Criteri, Oppure. Stanno ad indicare i parametri che 
puoi impostare per ogni campo; quello da prendere in considerazione (in 
questo caso) è "Criteri".
Qui, per fare riferimento ad un controllo su una maschera aperta da 
utilizzare come criterio per la selezione, devi utilizzare la sintassi 
Forms!nomeForm!nomeControllo; quindi se la casella combinata si chiama "nome 
dipendente" e la form che la contiene si chiama "Presenze" scrivi nella riga 
dei Criteri, sotto il campo "dipendente", Forms!Presenze![nome dipendente] 
(con le parentesi quadrate perché hai nominato la casella combinata 
inserendoci lo spazio)...
Ciao.
-- 
Sergio MAZZA 

hai ragione scusami.........ma non utilizzo molto i NG.....
dunque ho fatto come dici tu e in effetti funziona.
solo che ho un problema,
io ho fatto un DB con diverse maschere tabelle query ecc....
ho una maschera che si chiama timbra il cartellino, cosi fatta:
id
data
dipendente           ( casella combinata )
ore ordinarie
costo straordinario
entrata matt
uscita matt
entrata pomer
uscita pomer.
con quello che mi hai spiegato e che ho fatto, per avere un risultato devo 
avere la maschera aperta e devo avere selezionato il dipendente in 
questione, ma facendo cosi , mi va avanti di un numero un ID che poi non 
andro ad utilizzare....
e comunque rimane scomodo fare cosi,
mentre io cercavo di far apparire una casella combinata,
come finestra di dialogo.....( quella classica che ti tira fuori access 
grigia con la sola possibilita' di inserire un testo )
per poter avere come finestra di dialogo una casella combinata come si fa'
sempre se possibile farlo......
spero di essermi spiegato
ciao e grazie sincero dell'aiuto....
mauro

 mauro
Quello che chiedi non è altro che l'apertura di un'altra maschera che 
contiene la stessa casella combinata (stavolta non associata) e un bottone 
che apra il report passandogli, come condizione, il valore selezionato 
(nominativo).
La maschera la sai fare; la casella combinata pure; crei un bottone (per 
aprire questa maschera) che contiene, nell'evento "su clic", il codice:
es.
If Not IsNull(Me!nomeCasellaCombinata) Then
    DoCmd.OpeReport "nomeReport", , ,"nominativo = " & chr(34) & 
Me!nomeCasellaCombinata & chr(34)
    DoCmd.Close acForm, "nomeMaschera"
End If
Ciao.
-- 
Sergio MAZZA