Newsgroup: it.comp.appl.access
Titolo: DLookUp: problema tecnico....

Con l'aiuto di Sergio Mazza, qualche tempo fa ero riuscito ad effettuare dei
calcoli in un DB utilizzando la funzione DLookUp.
Dopo aver inserito i dati di cui avevo bisogno, sono andato a crearmi i
report per poter usare i dati immagazzinati, e lě mi sono accorto del
problema.
In sintesi: vorrei gestire del materiale assegnato ai dipendenti; questo
materiale č soggetto a rinnovo periodico.
Ho creato una tabella "materiale" (con un codice numerico che identifica il
materiale, la descrizione del materiale, e il periodo per il rinnovo), una
tabella "personale" (con i soli dati del personale) e una tabella
"assegnazione" (dove vengomo memorizzati i dati del materiale assegnato al
personale). Relazione uno-a-molti tra "personale" e "assegnazione".
Con l'ausilio di Sergio, usando DLookUp, visualizzavo nella maschera, dopo
aver scelto il materiale, il periodo di rinnovo e automaticamente mi
calcolava la data di rinnovo.
Avevo creato, per scegliere il materiale, una combobox con
l'autocomposizione, costituita da due colonne (codice e descrizione
materiale, il codice a larghezza zero, perchč non mi interessa la
visualizzazione), utilizzavo (nella richiesta per l'autocomposizione) come
valore per eseguire i calcoli proprio il codice; DLookUp "leggeva" il codice
e trovava il rinnovo.
Quando sono andato a lavorare sui dati, perň, mi sono accorto che creando il
report, mi veniva visualizzato il codice e non la descrizione del materiale
(nella tabella "assegnazione" aveva memorizzato il codice e non la
descrizione).
Ho provato a cambiare la combobox in vari modi, ma niente da fare,
l'istruzione DLookUp originaria mi dava errore. In pratica ho dovuto
ricreare la combobox come la prima volta, e quindi mi ritrovo sul report i
codici.
Ho provato anche a eliminare la colonna di codici e utilizzare in DLookUp la
descrizione del materiale come discriminante (fortunatamente il materiale ha
tutta denominazione diversa), ma l'unica cosa che ho ottenuto č sempre e
solo un messaggio di errore. Funziona solo nel primo modo.
Suggerimenti?
Grazie
Andrea

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

Ho provatoa fare come suggerito, agendo cioč direttamente sul report.
In pratica ho creato una casella di testo nel report, immettendo questo
codice (guida in linea):
=DLookUp("[Descrizione]", "tblMateriale", "[IDMateriale] =" &
[cbxDescrizione])
mi risulta un errore : operando o operatore mancante. Ma non riesco a capire
dove; i nomi di campi e tabella sono quelli, le virgolette e le parentesi ci
sono tutte.....
Ho provato a cambiare la parte della [cbxDescrizione] con
[forms]![subMateriale]![cbsDescrizione] ma l'errore rimane, quindi suppogno
che non sia quello il punto da controllare.
Andrea

 ha scritto nel messaggio
news:Jya%f.80494$A83.1...@twister1.libero.it...

Visto che la DLookup immagino tu la stia scrivendo nell'origine controllo di
una casella di testo, devi sostituire le virgole con dei punti e virgola.


una casella di testo, devi sostituire le virgole con dei punti e virgola.
L'immaginazione infatti è giusta :-)
Però di sostituirla con i punti e virgola la guida non lo dice, pur
mettendolo come esempio proprio nell'uso che ne faccio.
Meno male che esistete.
Provo e faccio sapere.
Grazie
Andrea

 Grazie
Prego e buona Pasqua.


> Andrea
-- 
_ _
Ciao
MAssimiliano Amendola            
www.accessgroup.it
Cisa - Conferenza Italiana per Sviluppatori Access
Info:  
www.donkarl.com/it

Corretta la virgola con il punto e virgola, mi ha accettato l'espressione.
Però continua a non funzionare, nel senso che sul report ottengo un errore.
Usando l'espressione:
=DLookUp("[Descrizione]"; "tblMateriale"; "[IDMateriale] =" &
[cbxDescrizione])
Quello che, in mente mia, dovrebbe succedere è: vai a vedere il campo
Descrizione, prendendolo dalla tabella tblMateriale e usando IDMateriale
come identificatore; IDMateriale ha il valore che trovi nella maschera nella
cbxDescrizione
Ottenendo pero il messaggio #Errore, ho pensato di specificare che
cbxDescrizione si trova nella sub [forms]![subMateriale]![cbxDescrizione],
ma l'errore continua lo stesso.
Ovviamente la maschera è in apertura con i record visualizzati, quando
richiamo il report.
Però non mi visualizza la descrizione; eliminando il DLookUp mi visualizza
l'elenco IDMateriale, cioè quello che ottenevo all'inizio.
Approfitto per ricambiare e per fare a tutti gli auguri di Buona Pasqua
Andrea


nz([forms]![subMateriale].form![cbxDescrizione],0)
sempre che cbxDescrizione sia numerico
se  =dlookup(....etc  e' nella stessa form in cui e' dichiarata 
cbxdescrizione (subMateriale) non serve passare per la collezione Forms. 
Non servirebbe comunque passare per la collezione Forms, si sono altri 
metodi di navigazione.
--
ac