Newsgroup: it.comp.appl.access
Titolo: Problema su Casella di controllo

Ciao a tutti,
Ho creato una maschera contenente dei dati in modalità lettura in modo da
visualizzare solo un anteprima di tutti i dati relativi ad un record
(cognome nome citta, codice fiscale etc etc)
Le tabelle interessate sono due..
Una di nome Cariche (Collaboratore di gruppo o provinciale per la
formazione, protez civile, ispettore di gruppo etc etc) e l'altra iscritti.
Un iscritto puo avere piu cariche o non averne alcuna.
Nella maschera di anteprima ci sono i vari dati della tabella Iscritti e ho
inserito in piu una casella di controllo.
L'origine record maschera è la tabella Iscritti.
La mia idea è questa:
per l'iscritto che fosse ispettore di grupo, la casella di controllo vorrei
fosse impostata a true.
Caso contrario x chi non fosse Ispettore, casella di controllo sarebbe =
false.
Io allora ho scritto cosi:
ho creato una sub:
Sub ispettore()
dim rst as dao.recorset
 Set rst = CurrentDb().OpenRecordset("SELECT carica " _
    & "FROM cariche WHERE num =" & Me!Num & ";")
    If rst.RecordCount = 0 Then Exit Sub
    If rst!carica = "Ispettore di gruppo" Then
         Me.casellacontrollo3 = True
    Else
        Me.casellacontrollo3 = False
    End If
        Set rst = Nothing
End Sub
e sull evento corrente ho messo Ispettore.
Funziona fino ad un certo punto.
Nel senso che mi individua chi ha la carica da ispettore ma x i record
successivi che non sono Ispettori non mi riesce ad impostare la
caselladicontrollo a false....
Grazie mille per l'aiuto
Ludo
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/


Tu dici "Un iscritto puo avere piu cariche o non averne alcuna." quindi 
relazione 1-molti, per cui l'apertura del recordset con il parametro Me!Num 
(che credo -spero-sia quello che metta le 2 tabelle in relazione) può 
aprirti una sezione nulla se l'iscritto non ha cariche, una sezione con un 
solo record se ha una sola carica e una sezione con "n" record se ha "n" 
cariche...
Se tu fai un operazione del tipo :
If rst!carica = "Ispettore di gruppo" Then
io ti chiedo... ma di quale record uscito dalla sezione del recordset?
quindi dovresti prima di tutto fare il confronto per tutti i record 
restituiti:
    While rst.EOF = False
                With rst
                            If rst!carica = "Ispettore di gruppo" Then
                                Me.casellacontrollo3 = True
                            Else
                                Me.casellacontrollo3 = False
                            End If
                        .MoveNext
                End With
            Wend
            rst.Close
    Set rst = Nothing
così controllerà tutti i record restituiti...
fammi sapere. ;-)
-- 
-- 
Ciao
Pablitomf (Maurizio Facciuti)
-----------------------------------------------------------------
Access: 97 e 2000
ASP
-----------------------------------------------------------------
http://www.accessgroup.it/
-----------------------------------------------------------------
Il mio motto :
""Non mi fido molto delle statistiche, perchè un uomo con la testa nel forno
acceso e i piedi nel congelatore statisticamente ha una temperatura media." 


Ciao,, non funziona mi dice elemento non presente in questo insieme e mi
evidenzia la riga
"if rst!carica = "Ispettore di gruppo" then.-............" mmmmmmmmm strano
xo....


 ha scritto nel messaggio 
news:83Z176Z12Z199Y...@usenet.libero.it...

rst!carica, che valore ha?
metti un MSGBOX rst!carica e vedi che ti restituisce... ma non è che carica 
è un numero? 

 è un numero?
ops avevo sbagliato...rst!carica si era un numero xke faceva riferimento
all'id dell'elenco delle cariche.
Comunque poi ho sistemato e ho utilizzato il controllo che faceva
riferimento al testo, ma questa volta la casella di controllo rimane sempre
su false..



dopo ...
Me.casellacontrollo3 = True
metti ...
Exit Sub
Else
Me.casellacontrollo3 = False
End If
-- 
-- 
Ciao
Pablitomf (Maurizio Facciuti)
-----------------------------------------------------------------
Access: 97, 2000, XP e 2003
