Newsgroup: it.comp.appl.access
Titolo: passaggio di parametri da codice vba

Ho costruito una maschera costituita da diversi campi di inserimento,
tra i quali ho CAMPO1, CAMPO2 e CAMPO3. Inserendo i valori di questi tre
campi, devo eseguire una query su una tabella non associata alla
maschera in modo che mi restituisca il record corrispondente.
L'unico problema è che le possibili combinazioni sono 8 in quanto ogni
singolo campo potrebbe avere un valore noto oppure nullo. Avevo pensato
di eseguire una stringa sql a mo' di query con vba sfruttando il CASE
per i vari casi, una cosa di questo tipo:
CAMPO1=valore CAMPO2=valore CAMPO3=valore   stringasql1
CAMPO1=valore CAMPO2=valore CAMPO3=nullo    stringasql2
CAMPO1=valore CAMPO2=nullo  CAMPO3=valore   stringasql3
CAMPO1=valore CAMPO2=nullo  CAMPO3=nullo    stringasql4
CAMPO1=nullo  CAMPO2=valore CAMPO3=valore   stringasql5
CAMPO1=nullo  CAMPO2=valore CAMPO3=nullo    stringasql6
CAMPO1=nullo  CAMPO2=nullo  CAMPO3=valore   stringasql7
CAMPO1=nullo  CAMPO2=nullo  CAMPO3=nullo    stringasql8
Dopodichè dovrei passare questo record trovato ad un'altra query, ma
questo posso farlo tutto tramite vba.
Il problema è quando devo fare il passaggio da vba a visualizzazione
report, come faccio? potreste darmi una linea guida veloce?
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

nessuno saprebbe darmi una mano???


 report, come faccio? potreste darmi una linea guida veloce?
Hai le idee un po' confuse.
Prima di tutto non hai "8 combinazioni" perche' il null e' un valore come
tutti gli altri e come tale va gestito, poi se il tuo problema e' filtrare
un report puoi usare i riferimenti ai campi stessi nella query di origine
del report (Forms!TuaMaschera!TuoControllo)
Infine, poiche' direi proprio che e' di caselle di testo che parli, queste
non si chiamano campi (che sono solo nelle tabelle e nelle query) ma
"controlli".
Sib
--
qualita.assicurazione su 
www.cerrinet.it
Il newsgroup sulla Qualita'

Ti riepilogo i passaggi:
- ho una maschera dove sono inseriti "codice articolo", "colore" e
"fornitore"
- inserendo questi tre dati vado a recuperare il prezzo da una tabella
"listino"
fin qui tutto ok
il problema nasce dal fatto che nella tabella "listini" potrei avere
specificato per ogni articolo
un "codice articolo" e un "fornitore" oppure il "codice articolo" e
basta.
Come faccio a creare una gerarchia di ricerca del prezzo (pensavo ad un
ciclo) per dire al pc:
esempio:
codart=X
codfornitore=A
nella tabella listino l'articolo è così caricato:
codart=X
codcol=Y
codfornitore=A
lo so che posso visualizzarli, ma a me serve selezionare in automatico
il prezzo per passarlo poi ad un'altra query












 nessuno saprebbe darmi una mano???
Non ti sembra eccessivo pretendere una risposta dopo meno di tre ore? 
Comunque, prendi il report, lo costruisci basato su una query (diciamo
"QUERY1" perche' siamo originali) e sostituisci caso per caso la
stringa SQL della query...
quindi ti metti in una stringa il tuo SQL (con il Case, come hai detto
tu) e poi fai
Currentdb.Querydefs("Query1").SQL= TuaStringaSQL
Docmd.OpenReport TuoReport, acviewpreview
Cia' 
Max

 il prezzo per passarlo poi ad un'altra query
usa una dlookup:
dlookup("Prezzo";"Listino";"codart like * & "& X &" and codcol like...)
