Newsgroup: it.comp.lang.visual-basic
Titolo: Aiuto con una query

ciao a tutti,
Ho scritto una query :
select artigiano.cognome_ar, artigiano.nome_ar, artigiano.data_nascita_ar,
artigiano.luogo_nascita_ar, artigiano.residenza_ar,
artigiano.città_ar,artigiano.cap_ar,
centro_tesseramento.centro_tesseramento_ct from artigiano, tipo_abbinamento,
centro_tesseramento where artigiano.anno_invio_prima_delega_upsa_ar = "0"
and (artigiano.anno_ultimo_tesseramento_ar = "02" or
artigiano.anno_ultimo_tesseramento_ar = "01" or
artigiano.anno_ultimo_tesseramento_ar = "00" or
artigiano.anno_ultimo_tesseramento_ar = "20" or
artigiano.anno_ultimo_tesseramento_ar = "2000" or
artigiano.anno_ultimo_tesseramento_ar = "19" or
artigiano.anno_ultimo_tesseramento_ar = "99" or
artigiano.anno_ultimo_tesseramento_ar = "1999" or
artigiano.anno_ultimo_tesseramento_ar = "2001" or
artigiano.anno_ultimo_tesseramento_ar = "21" or
artigiano.anno_ultimo_tesseramento_ar = "22" or
artigiano.anno_ultimo_tesseramento_ar = "2002" )and
tipo_abbinamento.id_abbin_ab = 1 and centro_tesseramento.id_tess_ct =
artigiano.id_tess_ar and artigiano.cognome_ar <> "" order by
artigiano.cognome_ar
L 'ho data in pasto a sqlserver e mi dice che è a posto, ma poi se cerco di
infilarla in Visual Basic, rileva un sacco di errori (tipo errori di fine
istruzione, ecc...)
Devo assegnarla ad una variabile QRy  per poi riempire un recordset ADO.
Qualcuno mi aiuta  !?!?!
grazie a tutti .
CLaudio.

 errori di fine istruzione, ecc...)
Non ne sono certo, ma temo che VB/ADO non accetti i ritorni a capo.
Prova a comporla come unica stringa e, salvo errori sintattici, dovrebbe
andare.
Facci vedere come hai composto la stringa.

 che si fa !?!
Beh... se è questo il problema allora è una fesseria! :-)
allora immagina di avere una variabile stringa chiamata Testo. Puoi fare
così:
Testo="bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla" & _
"e questo è il testo che sta a capo..."
bye
-- 
Esistono 10 tipi di persone: chi conosce il binario e chi no.
www.nicolaottomano.it

 bla" & _ "e questo è il testo che sta a capo..."
O anche (io odio spazio underscore!):
Testo="bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla"
Testo=Testo & "e questo è il testo che sta a capo..."
Insomma, se il problema è quello, bisogna comporre la stringa senza inserire
ritorni a capo, poi nell'editor di VB, giusto perchè sia più leggibile, si
possono fare 8000 righe di codice.

 Testo=Testo & "e questo è il testo che sta a capo..."
Cavolo a questo non ci avevo proprio pensato, che scemo !!....
Cmq, la query mi da un pò di problemi e non capisco il perchè, visto che
semanticamente è corretta...
Farò qualche prova e vi farò sapere, ok !? ...
grazie a tutti
Claudio.

select artigiano.cognome_ar, artigiano.nome_ar,
artigiano.data_nascita_ar,
artigiano.luogo_nascita_ar, artigiano.residenza_ar,
artigiano.città_ar,artigiano.cap_ar,
centro_tesseramento.centro_tesseramento_ct from artigiano,
tipo_abbinamento,
centro_tesseramento where artigiano.anno_invio_prima_delega_upsa_ar =
"0"
and (artigiano.anno_ultimo_tesseramento_ar = "02" or
artigiano.anno_ultimo_tesseramento_ar = "01" or
artigiano.anno_ultimo_tesseramento_ar = "00" or
artigiano.anno_ultimo_tesseramento_ar = "20" or
artigiano.anno_ultimo_tesseramento_ar = "2000" or
artigiano.anno_ultimo_tesseramento_ar = "19" or
artigiano.anno_ultimo_tesseramento_ar = "99" or
artigiano.anno_ultimo_tesseramento_ar = "1999" or
artigiano.anno_ultimo_tesseramento_ar = "2001" or
artigiano.anno_ultimo_tesseramento_ar = "21" or
artigiano.anno_ultimo_tesseramento_ar = "22" or
artigiano.anno_ultimo_tesseramento_ar = "2002" )and
tipo_abbinamento.id_abbin_ab = 1 and centro_tesseramento.id_tess_ct =
artigiano.id_tess_ar and artigiano.cognome_ar <> "" order by
artigiano.cognome_ar
Non so se dico una fesseria, ma credo che il problema stia nei doppi
apici che utilizzi per confrontare i numeri (che evidentemente tratti
come stringhe di caratteri). Prova a mettere i numeri fra apici
singoli non doppi es.:
... artigiano.anno_ultimo_tesseramento_ar = '21' or
artigiano.anno_ultimo_tesseramento_ar = '22' or ...etc
Poi fammi sapere