Newsgroup: it.comp.www.asp
Titolo: Recupero di campo SI/NO con stringa SQL

Salve a tutti. Lo so, è una domanda stupida, ma proprio dagli errori stupidi
sto imparando tante cose.
Il problema è questo: ho creato un database con tutti i suoi bei campi. Ho
creato le pagine asp che interrogano questo database e ne formattano i
valori. Uno dei campi del database (sto lavorando con Access 2000) si chiama
"Check" ed ha quella proprietà che Access chiama "SI/NO", ovvero quando poi
visualizzo la tabella mi appare il classico quadratino con la V dentro a
seconda che sia spuntato o no. Devo creare la stringa SQL che mi recuperi e
processi i valori delle righe della tabella solo quando la casellina
contiene la V, quindi quando è spuntata.
La stringa che uso è
Sql = "SELECT * FROM Submenu WHERE MenuID= " & MenuID
dove l'ultimo MenuID è un valore che recupero dalla pagina di provenienza.
Io ho bisogno di scrivere una cosa simile:
prendi tutti i valori presenti nella tabella Submenu dove il campo MenuID
corrisponde al valore che ti passo io dalla pagina di provenienza (e fin qui
ci sono) E SOLO QUELLI dove nel campo "Check" c'è il quadratino spuntato!!
Qualcuno sa dirmi la stringa corretta?
Grazie.
Federico

ci sono) E SOLO QUELLI dove nel campo "Check" c'è il quadratino spuntato!!
"select * from submenu where menuid = " & menuid & " and check = true"
credo però che funzioni anche solo così:
"select * from submenu where menuid = " & menuid & " and check"
magari un giorno ti potrà servire di prendere solo i dati per cui il
campo sia false, puoi fare così:
"select * from submenu where menuid = " & menuid & " and check =
false"
"select * from submenu where menuid = " & menuid & " and not check"
magari se sei agli inizi il primo modo è più leggibile quando vai a
rileggere il codice.
ti consiglierei anche di non dare nomi "banali" ai campi.  check
potrebbe essere una parola risxervata (mi pare di no, comunque), cioè
una parola che il motore del db usa per scopi suoi e potrebbero
ingenerarsi ambiguità.  se ad esempio il campo si riferisce ad un
pagamento, potresti chiamarlo checkPagato.
-- 
non studio non lavoro non guardo la tv
non vado al cinema non faccio sport

 writes:
L> ti
L> dico questo perché se ne parli con qualcuno che non usa access o che
L> proviene da una formazione piů accademica potrebbe non capire di cosa
L> parli...
Grrrrr :)... Si capiva che voleva un boolean.
L> il tipo dati logico in effetti lo si potrebbe pensare come un
L> sottotipo del tipo dati intero.  in effetti a true corrisponde -1 e a
L> false 0.
E' proprio un sottotipo, non  č una cosa sbagliata pensarlo cosě anche
perché penso occupi  almeno 16 bit. Anzi, i  computer sanno usare SOLO
numeri  interi.  Tutto  il  resto  (numeri  coi  decimali,  caratteri,
immagini, suoni, vero e falso) viene mappato su numeri interi.
Usare il valore numerico di vero  e falso puň essere pericoloso se non
c'č una specifica che č impossibile cambiare.
L> potrebbe essere una parola risxervata (mi pare di no, comunque), cioč
                              ^^^^^^^^^^
Riservatissima!! :)... BTW č il caso della parola "note", nei prototipi
in access siamo stati costretti a usare note_txt...
--
Gian Uberto| main(){printf(&unix["\021%six\012\0"],(unix)["have"]+"fun"-0x60);}
Lauri      |                        David Korn, 1987 ioccc best one liner 
(aka saint)|-------------------------------------------------------------------
em@ail: 
sa...@eng.it
 ( vedere X-nospam nello header - see X-nospam in header )