Newsgroup: it.comp.appl.access
Titolo: If then

Ciao a tutti.
Ho un altro problema da gestire in Access:
In una tabella ho tre campi numerici che prendono il valore da tre 
diversi gruppi di opzioni presenti sulla form.
Ogni gruppo di opzioni contiene 5 opzioni, per un totale di 15.
Sul report dovrei riportare tutte e 15 le opzioni disponibili e 
visualizzare una X in corrispondenza della voce selezionata per ogni 
gruppo (non il cerchietto nè il segno di spunta, ma proprio una X... 
:-( )
In pratica:
Poniamo che nella maschera abbia selezionato, per ciascun gruppo 
d'opzioni i valori 2, 4 e 1.
Il report mi dovrebbe mostrare questo:
Gruppo 1
Opzione 1
Opzione 2   X
Opzione 3
Opzione 4
Opzione 5
Gruppo 2
Opzione 1
Opzione 2
Opzione 3
Opzione 4   X
Opzione 5
Gruppo 3
Opzione 1   X
Opzione 2
Opzione 3
Opzione 4
Opzione 5
Qualcuno di voi saprebbe dirmi che codice usare per fare questo?
Per ogni possibiità ho inserito un campo testo che dovrebbe prendere il 
valore X quando la condizione è vera.
Ho provato a googlare, ho provato ad usare if... then ma non riesco a 
cavarne un ragno dal buco (non so nulla di VB).
Personalmente ho pensato a questo:
Option Compare Database
Private Sub Report_Open(Cancel As Integer)
Dim A, B, C As Integer
A = [campo aaa] 'valore numerico del gruppo di opzioni 1'
B = [campo bbb] 'valore numerico del gruppo di opzioni 2'
C = [campo ccc] 'valore numerico del gruppo di opzioni 3'
      If A = 1 Then [Casella testo 01] = "X"
      If A = 2 Then [Casella testo 02] = "X"
      If A = 3 Then [Casella testo 03] = "X"
      If A = 4 Then [Casella testo 04] = "X"
      If A = 5 Then [Casella testo 05] = "X"
      If B = 1 Then [Casella testo 06] = "X"
      If B = 2 Then [Casella testo 07] = "X"
      If B = 3 Then [Casella testo 08] = "X"
      If B = 4 Then [Casella testo 09] = "X"
      If B = 5 Then [Casella testo 10] = "X"
      If C = 1 Then [Casella testo 11] = "X"
      If C = 2 Then [Casella testo 12] = "X"
      If C = 3 Then [Casella testo 13] = "X"
      If C = 4 Then [Casella testo 14] = "X"
      If C = 5 Then [Casella testo 15] = "X"
    End Sub
Quale potrebbe essere la sintassi e la procedura corretta?
Grazie a tutti.
Nicola
-- 
__________________________________
Domande su eMule? Clicca qui:
http://emulefaq.altervista.org/

 Nicola
Per esempio così:
A = Forms!NomeMaschera![NomeGruppoOpzioni1]
B = Forms!NomeMaschera![NomeGruppoOpzioni2]
'......
If A = 1 Then [Casella testo 01] = "X" Else [Casella testo 01] = ""
If A = 2 Then [Casella testo 02] = "X" Else [Casella testo 02] = ""
'......
Ciao, Carlo 

 '......
Grazie Carlo.
Ho provato a scrivere questa parte di codice:
Private Sub Report_Open(Cancel As Integer)
Dim A, B, C As Integer
A = Reports![r scheda pagina 1]![1]
B = Reports![r scheda pagina 1]![2]
C = Reports![r scheda pagina 1]![3]
If A = 1 Then [1a] = "X" Else [1a] = ""
If A = 2 Then [1b] = "X" Else [1b] = ""
If A = 3 Then [1c] = "X" Else [1c] = ""
If A = 4 Then [1d] = "X" Else [1d] = ""
If A = 5 Then [1e] = "X" Else [1e] = ""
If B = 1 Then [2a] = "X" Else [2a] = ""
If B = 2 Then [2b] = "X" Else [2b] = ""
If B = 3 Then [2c] = "X" Else [2c] = ""
If B = 4 Then [2d] = "X" Else [2d] = ""
If B = 5 Then [2e] = "X" Else [2e] = ""
If C = 1 Then [3a] = "X" Else [3a] = ""
If C = 2 Then [3b] = "X" Else [3b] = ""
If C = 3 Then [3c] = "X" Else [3c] = ""
If C = 4 Then [3d] = "X" Else [3d] = ""
If C = 5 Then [3e] = "X" Else [3e] = ""
Mi dà un errore del tipo "Errore di runtime 2427 - Nessu valore 
nell'espressione immessa" e il debug mi evidenzia la riga
A = Reports![r scheda pagina 1]![1]
Eppure il campo [1], contenente il valore selezionato per il gruppo di 
opzioni 1, è presente sul report.


 Ho provato a scrivere questa parte di codice:
Devi usare l'evento "format" e non "Open",  del Corpo o sezione che contiene 
i campi:
Private Sub Corpo_Format(Cancel As Integer)

-- 
Ciao
Geppo 

 Private Sub Corpo_Format(Cancel As Integer)
Perfetto, grazie.
Adesso il report si apre senza errori.
Però nelle caselle di testo non mi compare la X come scritto nelle 
condizioni if del codice... :-(


"Nicola" <no-...@no-spam.no.spam> ha scritto nel messaggio 
news:abssl.280180$FR.5...@twister1.libero.it...

Come ti è stato detto l'evento è quello su formattazione.
Dal primo post avevo capito che il gruppo di opzioni si trovava su di una 
maschera.
Qui sembra che si trova nel report. Non capisco.
Quando scrivi:
Reports![r scheda pagina 1]![1] intendi che nel report denominato [r scheda 
pagina 1] esiste un controllo gruppo opzioni chiamato [1]?
Mi sembra strano.
Ciao, Carlo 

 Mi sembra strano.
Si, si tratta di un report. Ma [1] non è un controllo gruppo opzioni 
bensì un campo contenente il valore del gruppo opzioni 1, preso 
direttamente dalla tabella (aprendo il report, dentro a questi campi si 
visualizza correttamente il valore di ciascun gruppo di opzioni).
Inizialmente avevo messo nella riga del codice il riferimento al gruppo 
di opzioni per assegnare il valore alla variabile.
Poi ho fatto un altro tentativo, cioè ho inserito nel report 15 campi 
associati al valore di ogni gruppo (chiamati [1], [2]... [15]).
Scusate se non riesco ad essere esaustivo nella spiegazione ma 
probabilmente uso termini per chi, "del mestiere" hanno un altro 
significato.
Nicola
