Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Verificare l'esistenza di un campo in una query

92 views
Skip to first unread message

Daniel San

unread,
May 27, 1999, 3:00:00 AM5/27/99
to
Salve a tutti.

Ho una query a campi incrociati che mi calcola una serie di totali.
Ho necessita' di avere un'_unica_ query (da usare come origine record per un
report), e siccome i dati per questi totali non si trovano in un'unica
tabella ma sono sparsi fra varie tabelle, mi sono prima creato una query di
unione (che ho usato come query sottostante alla query a campi incrociati).

Puo' pero' capitare che, in alcune delle tabelle utilizzate nella query di
unione, non ci siano dati, e quindi il relativo nome del campo non appaia
proprio nella query a campi incrociati (causando un errore nel report,
perche' quell'origine record non esiste...).

La mia idea sarebbe, nell'evento OpenReport, testare l'esistenza dei
possibili campi e, in caso positivo o negativo, agire di conseguenza.
Pero' non so come testare l'esistenza di un campo: come si fa? :)

Grazie,
Daniele

P.S.: se avete soluzioni migliori, proponetele pure!


Giorgio

unread,
May 27, 1999, 3:00:00 AM5/27/99
to
Apri un recordset basato sulla query a campi incrociati
Metti on'istruzione ON ERROR RESUME NEXT e verifica un eventuale errore:

Dim rst as recordset, inutile as variant
set rst=db.tuaqueryacampiincrociati
on error resume next 'in caso di errore prosegue sulla prossima istruzione
VBA
inutile=rst.fields(nomecampodatestare) 'nomecampodatestare č il nome del
campo di cui vuoi testare l'esistenza
if err.number>0 then il campo non esiste else il campoesiste
on error goto 0 'disabilita i messaggi di errore

Daniel San ha scritto nel messaggio <7ij507$1cf$1...@pinco.nettuno.it>...

Daniel San

unread,
May 27, 1999, 3:00:00 AM5/27/99
to

Giorgio ha scritto nel messaggio <7ij9d4$3er$1...@pinco.nettuno.it>...

>Apri un recordset basato sulla query a campi incrociati
>Metti on'istruzione ON ERROR RESUME NEXT e verifica un eventuale errore:
>
>[...]
>
Grazie mille - dopo qualche tentennamento sono finalmente riuscito a capire
come far funzionare la routine (e ho imparato qualcosa di piu' sui
recordset).
Poi, in seguito ad un altro ostacolo, ho scoperto un metodo piu' veloce... e
cioe' che nella query a campi incrociati posso specificare le intestazioni
di colonne (e, anzi, devo specificarle se voglio usarla come query
sottostante ad un report): cosi' posso fare a meno della routine (siccome i
campi glieli metto gia' tutti io!). ;-)

Ciao,
Daniele


0 new messages