Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

LAMPEGGIAMENTO ETICHETTA

344 views
Skip to first unread message

Domy73

unread,
Apr 23, 2010, 6:23:36 AM4/23/10
to
Salve a tutti,

Ho una tabella "TABELLA_1" con il campo testo "NOME"

Ho una maschera "MASCHERA_1" che mi permettere di inserire /modificare i
dati
di "TABELLA_1" , che possiede la casella di testo "NOME" e accanto ad
essa
ho inserito una etichetta chiamata "ALLARME"

la maschera č in visualizzazione "maschera continua"

Quello che voglio fare č questo, nel momento in cui nella casella di testo
"NOME" scrivo "PIPPO" l'etichetta "ALLARME" comincia a lampeggiare
(lampeggia il testo "ESATTO !!!").

facendo in questa maniera:
*****************************************************
Ho impostato INTERVALLO TIMER = 500

e poi su evento timer della form il codice sotto

Private Sub Form_Timer()
If Me.NOME = "PIPPO" Then
'Lampeggiamento etichetta "ALLARME"
Me.Allarme.Visible = Not Me.Allarme.Visible
End If
End Sub
*****************************************************

FINO QUI TUTTO OK !!!

la cosa che non mi piace č che se passo ad un record successivo e scrivo
un nome diverso e rimango in quel record il lampeggiamento del precedente
scompare (ovviamente), viceversa se clicco nel record precedente
l'etichetta mi lampeggia in entrambi i record e non deve essere cosi!

C'č una soluzione per far si che l'etichetta l'ampeggi o meno in funzione
del record proprio?

--


questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ab...@newsland.it


max

unread,
Apr 23, 2010, 11:40:39 AM4/23/10
to

"Domy73" <domy...@gmail.com> ha scritto nel messaggio
news:hqrsf8$jlg$1...@news.newsland.it...

> Salve a tutti,
>
> Ho una tabella "TABELLA_1" con il campo testo "NOME"
>
> Ho una maschera "MASCHERA_1" che mi permettere di inserire /modificare i
> dati
> di "TABELLA_1" , che possiede la casella di testo "NOME" e accanto ad
> essa
> ho inserito una etichetta chiamata "ALLARME"
>
> la maschera è in visualizzazione "maschera continua"
>
> Quello che voglio fare è questo, nel momento in cui nella casella di testo

> "NOME" scrivo "PIPPO" l'etichetta "ALLARME" comincia a lampeggiare
> (lampeggia il testo "ESATTO !!!").
>
> facendo in questa maniera:
> *****************************************************
> Ho impostato INTERVALLO TIMER = 500
>
> e poi su evento timer della form il codice sotto
>
> Private Sub Form_Timer()
> If Me.NOME = "PIPPO" Then
> 'Lampeggiamento etichetta "ALLARME"
> Me.Allarme.Visible = Not Me.Allarme.Visible
> End If
> End Sub
> *****************************************************
>
> FINO QUI TUTTO OK !!!
>
> la cosa che non mi piace è che se passo ad un record successivo e scrivo

> un nome diverso e rimango in quel record il lampeggiamento del precedente
> scompare (ovviamente), viceversa se clicco nel record precedente
> l'etichetta mi lampeggia in entrambi i record e non deve essere cosi!
>
> C'è una soluzione per far si che l'etichetta l'ampeggi o meno in funzione

> del record proprio?
>
> --
>
>
> questo articolo e` stato inviato via web dal servizio gratuito
> http://www.newsland.it/news segnala gli abusi ad ab...@newsland.it
>
>

allora fermo restando le difficoltà note di modifica di un controllo non
associato in una maschera continua io potrei proporti luna soluzione
"artigianale" con la creazione di due caselle di controllo dove dentro ci
scrivi ALLARME se è questo il testo che vuoi si legga nel momento un cui la
tua condizione è verificata. Le due caselle avranno colore sfondo e colore
primo piano come il corpo, senza bordi e aspetto piatto
per sicurezza sull' evento di caricamento della maschera scrivi

me.tuocontrollo1.backcolor=me.corpo.backcolor
me.tuocontrollo1.forecolor=me.corpo.backcolor
me.tuocontrollo2.backcolor=me.corpo.backcolor
me.tuocontrollo2.forecolor=me.corpo.backcolor

se qualcuno ti cambia il colore di sfondo della maschera non si vedono lo
stesso

sulla formattazione condizionale del tuocontrollo1 metti [nome]="pippo"
sfondo rosso carattere giallo
sulla formattazione condizionale del tuocontrollo2 metti [nome]="pippo"
sfondo giallo carattere rosso (metti i colori che vuoi basta che siano
diversi tra loro e tra le formattazioni dei due controlli)

nel timer scrivi
if me.tuocontrollo1.visible=true then
me.tuocontrollo1.visible=false
me.tuocontrollo2.visible=true
else
me.tuocontrollo1.visible=true
me.tuocontrollo2.visible=false
end if

a me l'effetto lo fa prova se ti va bene
ciao
max


@Alex

unread,
Apr 23, 2010, 11:57:21 AM4/23/10
to
Se sei in visualizzazione maschere continue scordatelo...!

@Alex

Domy73

unread,
Apr 23, 2010, 11:59:02 AM4/23/10
to
max ha scritto:

> me.tuocontrollo1.backcolor=me.corpo.backcolor
> me.tuocontrollo1.forecolor=me.corpo.backcolor
> me.tuocontrollo2.backcolor=me.corpo.backcolor
> me.tuocontrollo2.forecolor=me.corpo.backcolor


Non mi è molto chiaro quello che hai scritto in particolare quando devo
inserire il nome "pippo"

Mi spiego meglio:
quello che io voglio e che nella prima casella di testo devo inserire un
nome (per esempio pippo che verifica la mia condizione)
accanto a questa casella di testo volevo mettere un'altra casella di testo
o etichetta che lampeggiasse un messaggio nel momentop in cui si verifica
la mia condizione

Nel tuo suggerimento non ho capito se:
1) tuoControllo 1 e 2 sono le etichette/caselle di testo che devono
essere sovrapposte
2) Dove scrivo il Nome per esempio pippo?

grazie e ciao

Geppo

unread,
Apr 23, 2010, 12:16:17 PM4/23/10
to

crea un etichetta sulla form, poi col tasto destro del del mouse cliccaci
sopra e nel menu a tendina con la voce "Cambia In" trasforma l'etichetta in
Casella di testo.

Imposta le seguenti proprieta':

Origine Controllo: =lampeggia("PIPPO")
formato: ;"ALLARME"
abilitato: NO

Adesso prendendo l'esempio di Silvio Savoldi postato sul sitocomune faq
3.26, potresti fare cosi:

metti questa funzione nel modulo della form:

private function lampeggia(vtesto as string)

if me!nome ="pippo" then
lampeggia=true
end if

end function


avendo settato l'intervallo del timer a 500, inserisci nell'evento timer
della form:

private sub form_timer()

if lampeggia(me!nome) then

me!NomeTua_etichetta_Allarme.visible = not
me!NomeTua_etichetta_Allarme.visible

end if

end sub


--
Ciao
Geppo


max

unread,
Apr 26, 2010, 5:36:29 AM4/26/10
to

"Domy73" <domy...@gmail.com> ha scritto nel messaggio
news:hqsg46$a76$1...@news.newsland.it...
le caselle di controllo alla fine saranno 3
una è la tua dove scrivi i tuoi dati (e quindi pippo lo scrivi là)
altre due sovrapposte tra di loro con la formattazione che ti ho detto che
avendo lo stesso colore del fondo del corpo sia per il fondo che per il
carattere non si vedono.
con la formattazione condizionale (se la TUA CASELLA è uguale a pippo" cambi
carattere e fondo e quindi diventano visibili, con l'evento sul timer ne
"spegni" una e "accendi" un'altra alternativamente dando l'effetto del
lampeggio
spero che ora ti sia tutto chiaro
ciao
Max


max

unread,
Apr 27, 2010, 9:55:21 AM4/27/10
to

"max" <pi...@pippo.it> ha scritto nel messaggio
news:hr3mqt$7eg$1...@news.task.gda.pl...
puoi anche creare una sola casella con i colori di cui sopra e la
formattazione condizionale e poi sull'evento timer cambi i colori a runtime
tipo:
if me.tuacasella.formatcondition(0).backcolor = colore standard della
formattazione condizionale then
me.tuacasella.formatcondition(0).backcolor = colore che prima era nel testo
me.tuacasella.formatcondition(0).forecolor = colore che prima era nello
sfondo
else
al contrario
end if
ciao
max


0 new messages