Newsgroup: it.comp.appl.access
Titolo: visualizzare un testo in base a valore numerico in form record continui

mi spiego meglio, ho una form che visualizza un elenco di record in questo record c'è un campo idoneità che può valore 1,2,3 oppure 4
vorrei creare un campo non associato che mi visualizza un testo in base a quel valore
 
se campo=1 il campo non associato visualizza "pippo"
se campo=2 il campo non associato visualizza "pluto"
se campo=3 il campo non associato visualizza "paperino"
se campo=4 il campo non associato visualizza "minny"
 
fattibile?
 
in alternativa avevo pensato di salvare in un campo testo anche il valore testuale oltre al campo idoneità di tipo numerico.
 
 
grazie a tutti.


se la maschera (che presumo sia continua) si chiama "TuaMaschera"
se il campo idoneità si chiama "Idoneità"
se il controllo non associato si chiama "tuocampo"
 
nel evento "su corrente" della form scrivi:
 
Private Sub Form_Current()
 
Select Case Me.idoneità
 
Case 1
     Me.tuocampo = "pippo"
Case 2
     Me.tuocampo = "pluto"
Case 3
     Me.tuocampo = "paperino"
Case 4
     Me.tuocampo = "minni"
 
Case Else
     Me.tuocampo = "Nessuno"
 
End Select
 
End Sub
 
ciao
BFS


ciao, ho provato ma non funziona sbaglio qualcosa anche se i valori sono diversi alcuni 4 alcuni 1 o 2 o 3 e altri 0
 
visualizza sempre minni
ideoneita2 è il campo non associato
ho messo questo codice su form_current
 
*** code ***
 
Select Case Me.Idoneita
Case 1
     Me.idoneita2 = "pippo"
Case 2
     Me.idoneita2 = "pluto"
Case 3
     Me.idoneita2 = "paperino"
Case 4
     Me.idoneita2 = "minni"
 
Case Else
     Me.idoneita2 = ""
 
End Select
 
 


in realtà funziona ma solo se mi posiziono sul record
ovvero se clicco un record con idoneita 1 visualizza tutti i record pippo
se clicco un record con idoneita 4 visualizza tutti valori minni
 
mentre dovrebbe essere diverso in base al valore idoneita
forse il codice non và messo su current?


Va messo in 2 Punti...
Su current per valorizzare i Records già esistenti, e su AfterUpdate o altri nel caso in cui tu sia su NuovoRecord o nel caso in cui tu stia modificando l'attuale... in quanto CURRENT si scatena solo al Salvataggio(in caso di Edit) ed in caso di NEW non credo sia ancora ora in quanto non valorizzato...
 
@Alex

 forse il codice non và messo su current?
 
un controllo NON associato NON può prendere (mostrare)
un valore differente per ogni riga di una form continua
 
un controllo NON associato può mostrare UN SOLO VALORE,
e se la sua "origine" si riferisce a quanto presente nella riga
(nel record), allora riporta il proprio valore riferito al SOLO
record corrente
 
 
PS:
per quanto ne so io ...
 
(accetto smentite)


forse ho capito
 
stiamo parlando di una maschera continua giusto?
e il campo idoneita2 è su ogni singola riga? credevo fosse un unico 
campo nella testata o piede fattura
 
 
se è sulla singola riga devi usare la funzione IIF
 
in pratica come origine della casella idoneità2
=IIf([idoneita]=1;"minni";IIf([idoneita]=2;"paperina"))
 
devi nidificare gli iff fino a coprire tutti i possibili valori
 
ciao
 
 
 
 
 
 
 
 
 


ci ho provato ma 4 iif nidificati non ce la posso fare mi ricoverano
qualche aiuto?


ce l'ho fatta grazie
 
=IIf([idoneita]=1;"minni";IIf([idoneita]=2;"paperina";IIf([idoneita]=3;"pippo";IIf([idoneita]=4;"pluto"))))


=Choose([idoneita];"minni";"paperina";"pippo";"pluto")
 
-- 
Ciao
Karl
*********
http://www.AccessDevCon.com
 
Access FAQ: 
http://www.donkarl.com/it
 


direi molto più compatto però se identità non ha valore visualizza #Tipo!
mentre gli iif annidati no, cosa cambia fra i 2?
uno dei 2 è più veloce dell'altro oltre ad essere più compatto?
si può togliere #Tipo! se vale nullo il campo idoneita?
 
grazie.
 

mario rossi brought next idea :

- Crea una Combo e metti in Row Source della medesima 0;1;2;3;4
- Nella medesima seleziona in Row Source Type la proprietà Value List
- In After Update della medesima metti:
    Select Case [Combo]
        Case 0
             [Text1] = "Nessuno"
        Case 1
             [Text1] = "Minnie"
        Case 2 etc...
    End Select
 
Bruno


Se temi possa essere nullo, lo controlli prima

 si può togliere #Tipo! se vale nullo il campo idoneita?
 
p.e.
 
=Choose(nz([idoneita]);...
 
Choose (e anche Switch) soprattutto sono più legibile di Iif nidati.
