Checkbox attivato/disattivato

mercoledì 21 ottobre 2009 - 15.21

marko80 Profilo | Junior Member

ciao a tutti,
ho un problema sicuramente stupido che mi sta facendo impazzire.

Ho una checkbox (cc_anomalie) dove se è selezionata o no mi deve lanciare due stringhe sql differenti (come valore predefinito è impostato a falso)


....

If cmb_fascia.Text = "1 turno (06:00-14:00)" And cc_anomalie.Value = False Then

strsql = ...

ElseIf cmb_fascia.Text = "1 turno (06:00-14:00)" And cc_anomalie.Value = True Then

strsql = ...

End if


con il valore a false mi esegue strsql ma sbaglia i filtri,ecc con il valore a true invece è ok. Perchè???

Grazie

martinez Profilo | Senior Member

>ciao a tutti,

Ciao

>ho un problema sicuramente stupido che mi sta facendo impazzire.
>
>Ho una checkbox (cc_anomalie) dove se è selezionata o no mi deve
>lanciare due stringhe sql differenti (come valore predefinito
>è impostato a falso)

>....

>If cmb_fascia.Text = "1 turno (06:00-14:00)" And cc_anomalie.Value
>= False Then

// credo che l'errore sia qui ... non value ma .Checked() ...
>
> strsql = ...
>
>ElseIf cmb_fascia.Text = "1 turno (06:00-14:00)" And cc_anomalie.Value
>= True Then
>
> strsql = ...
>
>End if
>
>
>con il valore a false mi esegue strsql ma sbaglia i filtri,ecc
>con il valore a true invece è ok. Perchè???
>
>Grazie
di nulla

marko80 Profilo | Junior Member

Ti ringrazio per la risposta, però la proprietà checked mi sembra che non esista per le checkbox
Ciao

martinez Profilo | Senior Member

Ciao

prova a leggere qui: http://msdn.microsoft.com/it-it/library/system.windows.forms.checkbox.checked(VS.80).aspx

ed ancora qui dove viene utilizzata la funzione checked: http://forum.aspitalia.com/forum/post/348917/CustomValidator.-TextBox-Obbligatorie-Checkbox.checked.aspx


Antonio

carloalberto Profilo | Junior Member

Premesso che le costanti valgono
false = 0
true = -1 (o meglio per tutti i valori <> da 0)
e che la proprieta value del controllo chek vale
0=non selezionato
1= selezionao
2= selezinato in grigio

con il chek selezionato
cc_anomalie.Value = False vale false
con chek deselezionato
cc_anomalie.Value = false vale true

ciao

marko80 Profilo | Junior Member

se ti è di aiuto sto facendo il tutto in access
ciao

martinez Profilo | Senior Member

oppps!!!!

allora non saprei proprio scusa non avevo capito !!!

Antonio

marko80 Profilo | Junior Member

grazie carloalberto per la risposta, ma non ho capito molto bene...

se imposto come valore predefinito della mia checkbox 0 (cioè non selezionato) allora il codice diventerebbe cosi?

...
If cmb_fascia.Text = "1 turno (06:00-14:00)" And cc_anomalie.Value = 0 Then (checkbox non selezionata)

strsql = ...

ElseIf cmb_fascia.Text = "1 turno (06:00-14:00)" And cc_anomalie.Value = 1 Then (checkbox selezionata)

strsql = ...

End if

Grazie

carloalberto Profilo | Junior Member

Esatto , prova a confrontare il valore cc_anomalie.Value con 0 o 1 per testare se selezionato o meno in quanto la costante TRUE assume come valore -1 e non 1
fammi sapere

marko80 Profilo | Junior Member

allora facendo come scritto sopra non funziona. nel senso che se spunto o no la checkbox mi restituisce sempre lo stesso report con gli stessi dati

se faccio (lasciando sempre come valore predefinito della checkbox 0):


If cmb_fascia.Text = "1 turno (06:00-14:00)" And cc_anomalie.Value = 1 Then (esegue la strsql del secondo if dove in teoria la chechbox dovrebbe essere spuntata)

strsql = ...

ElseIf cmb_fascia.Text = "1 turno (06:00-14:00)" And cc_anomalie.Value = 0 Then (esegue la strsql del caso precedente)

strsql = ...
End if

perchè?

carloalberto Profilo | Junior Member

>allora facendo come scritto sopra non funziona. nel senso che se spunto o no la checkbox mi restituisce sempre lo stesso report con gli stessi dati
>se faccio (lasciando sempre come valore predefinito della checkbox 0):
ora sono io che non capisco

>If cmb_fascia.Text = "1 turno (06:00-14:00)" And cc_anomalie.Value = 1 Then (esegue la strsql del secondo if dove in teoria la chechbox dovrebbe essere spuntata)
qui non ci entra mai?
>ElseIf cmb_fascia.Text = "1 turno (06:00-14:00)" And cc_anomalie.Value = 0 Then (esegue la strsql del caso precedente)
qui entra sempre?

proviamo a togliere la parte di destra e lavorare solo su anomalie...

marko80 Profilo | Junior Member

Ti spiego un po meglio quello che sto facendo. (controllo accessi/timbrate)
in una maschera io imputo in due caselle di testo: da data (19/10/2009) a data (19/10/2009)
poi da una casella combinata scelgo la fascia oraria/turno ( in questo caso il primo turno che va dalle 6:00 alle 14:00)
tramite la checkbox anomalie vorrei che se non la spuntano mi tira fuori tutte le timbrate con filtro dalle 19/10/2009 6:00 alle 19/10/2009 14:00 (i dati me li estrapolo con la strsql che ho gia costruito)
se invece la spuntano mi deve fare dal 19/10/2009 23:00 a 20/10/2009 05:30 e 20/10/2009 07:00 a 20/10/2009 13:30 (questa è l'altra sql)
spero di essere stato piu chiaro.
grazie marco

marko80 Profilo | Junior Member

Trovata la soluzione! il problema era legato ad altro e non al valore che impostavo correttamente sulle checkbox
Grazie cmq.
Ciao
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5