Discussione:
evidenziare record selezionato (access 2016)
(troppo vecchio per rispondere)
mario rossi
2017-12-13 21:41:28 UTC
Permalink
hanno introdotto un modo semplice per evidenziare di colore diverso il record selezionato?

grazie a tutti.
@Alex
2017-12-14 07:29:04 UTC
Permalink
Post by mario rossi
hanno introdotto un modo semplice per evidenziare di colore diverso il record selezionato?
grazie a tutti.
La Formattazione Condizionale, a mio parere è SEMPLICE, chiaramente è relativo.

@Alex
mario rossi
2017-12-15 02:32:08 UTC
Permalink
Post by @Alex
Post by mario rossi
hanno introdotto un modo semplice per evidenziare di colore diverso il record selezionato?
grazie a tutti.
La Formattazione Condizionale, a mio parere è SEMPLICE, chiaramente è relativo.
@Alex
esatto a tuo parere, non a mio parere :D
io però voglio evidenziare tutta la riga del record e non il singolo campo
ho visto che access in maschera con record continui adesso differenzia già un record dal successivo ovvero uno lo fa bianco il successivo grigio e cosi via

ma con la formattazione condizionale si può evidenziare tutta una linea ad esempio di colore rosso?

io lo so fare con codice vba in access precedenti, chiedevo se qui c'è un modo più semplice

grazie.
@Alex
2017-12-15 06:48:28 UTC
Permalink
Post by mario rossi
Post by @Alex
Post by mario rossi
hanno introdotto un modo semplice per evidenziare di colore diverso il record selezionato?
grazie a tutti.
La Formattazione Condizionale, a mio parere è SEMPLICE, chiaramente è relativo.
@Alex
esatto a tuo parere, non a mio parere :D
Beh, fortunatamente aprendo qualche guida in merito puoi colmare tutti i dubbi che ancora hai...

https://support.office.com/it-it/article/Modificare-l-aspetto-di-un-controllo-utilizzando-la-formattazione-condizionale-6ba9e9fa-4347-4183-b335-44e43b05e22f

https://support.office.com/it-it/article/Evidenziare-i-dati-con-la-formattazione-condizionale-7f7c0bd4-7c37-421d-adad-a260125c8129

Potresti anche dire che non sono finalizzati al TUO problema... questo tuttavia non significa che possano darti chiarezza du BASI tecniche adatte anche ad unos cambio più semplice con noi...
Post by mario rossi
io però voglio evidenziare tutta la riga del record e non il singolo campo
ho visto che access in maschera con record continui adesso differenzia già un record dal successivo ovvero uno lo fa bianco il successivo grigio e cosi via
Ma quella è solo la definizione di Colore Alternato della Sezione, e nulla ha a che fare con quello che dici.
Post by mario rossi
ma con la formattazione condizionale si può evidenziare tutta una linea ad esempio di colore rosso?
Quì entrano in gioco le BASI TECNICHE di cui prima...
La F.C. agisce a livello di CONTROLLI(TextBox o ComboBox).
Quindi se tui avessi i controlli Associati con sfondo trasparente in Primo piano, ed un controllo NON ASSOCIATO dsi tipo TextBox come sfondo a coprire tutta la Sezione, su questo potresti pensare di applicare la F.C.
Ricorda che la Valorizzazione del Controllo PK, di solito si usa questo ma dipende dalle esigenze, avviene su Current, quindi se metti un Controllo aggiuntivo TextBox nell'Header e lo valorizzi con il contenuto del controllo PK, puoi costruire la F.C. affinchè quella TextBox di SFONDO attivi la F.C. quando la txtbox di controllo=ControlloAssociato alla PK.
Post by mario rossi
io lo so fare con codice vba in access precedenti, chiedevo se qui c'è un modo più semplice
Non lo sai fare da codice perchè in maschere continue non si può fare, ed in versioni precedenti si usava sempre una TextBox come sfondo con i caratteri speciali... quindi non so cosa veramente tu intenda quando dici "lo so fare con il codice vba"....

@Alex
Post by mario rossi
grazie.
RobertoA
2017-12-15 07:21:28 UTC
Permalink
Post by mario rossi
Post by @Alex
Post by mario rossi
hanno introdotto un modo semplice per evidenziare di colore diverso il record selezionato?
grazie a tutti.
La Formattazione Condizionale, a mio parere è SEMPLICE, chiaramente è relativo.
@Alex
esatto a tuo parere, non a mio parere :D
io però voglio evidenziare tutta la riga del record e non il singolo campo
ho visto che access in maschera con record continui adesso differenzia già un record dal successivo ovvero uno lo fa bianco il successivo grigio e cosi via
ma con la formattazione condizionale si può evidenziare tutta una linea ad esempio di colore rosso?
io lo so fare con codice vba in access precedenti, chiedevo se qui c'è un modo più semplice
grazie.
Nelle form continue, per far risaltare la riga corrente uso questo tra
le funzioni globali:
---------------------------------------
Public Function Evidenzia(ByVal NomeChiave As String, ByVal ValChiave As
Variant, ByRef frm As Form)

Dim NumFormat As Byte

With frm
Application.Echo False
If IsNull(!txtEvidenzia) Then
Dim ctr As Control
For Each ctr In .Section(0).Controls 'Sezione Corpo
If ctr.ControlType = acTextBox Or ctr.ControlType =
acComboBox Then
ctr.FormatConditions.Add acExpression, ,
"[txtEvidenzia]" & "=" & NomeChiave
NumFormat = ctr.FormatConditions.Count - 1
ctr.FormatConditions(NumFormat).ForeColor = vbBlack
ctr.FormatConditions(NumFormat).BackColor = vbYellow
End If
Next ctr

Set ctr = Nothing
End If

If Not frm.NewRecord Then !txtEvidenzia.Value = ValChiave
Application.Echo True
End With

End Function
--------------------------------------

E poi su ogni form nella quel voglio abilitare la 'marcatura' record
corrente, nell'event Current richiamo la funzione sopra descritta

dummy = Evidenzia("[ID_ANAGRAFICHE]", Me!ID_ANAGRAFICHE, Me.Form)

E' ovviamente necessario che su ogni form, nella sezione corpo, sia
presente una textbox txtEvidenzia, che io dimensiono minuscola e la
metto sotto ad altri componenti per renderla invisibile

Non ricordo bene dove ho preso questo frammento di codice
Chiunque lo riconosca come proprio, si ritenga ringraziato

RobertoA
@Alex
2017-12-15 09:01:41 UTC
Permalink
Lo ricordo io... ;-)

@Alex
RobertoA
2017-12-15 09:36:27 UTC
Permalink
Post by @Alex
Lo ricordo io... ;-)
@Alex
Elora si ritenga ringraziato
Ci ho aggiunto un ciclo preliminare di 'cancellamento formattazione
condizionale'
Perche' a volte andava in errore, avendo solo tre colpi possibili
Tentava di aggiungere la quarta condizione, la quinta,...
@Alex
2017-12-15 11:09:44 UTC
Permalink
Post by RobertoA
Post by @Alex
Lo ricordo io... ;-)
@Alex
Elora si ritenga ringraziato
Ci ho aggiunto un ciclo preliminare di 'cancellamento formattazione
condizionale'
Perche' a volte andava in errore, avendo solo tre colpi possibili
Tentava di aggiungere la quarta condizione, la quinta,...
Attento che nelle varie versioni di Access il LIMITE è cambiato... ora siamo a 7...

@Alex
Karl Donaubauer
2017-12-15 11:47:37 UTC
Permalink
Salve Alex,
Post by @Alex
Post by RobertoA
...
Ci ho aggiunto un ciclo preliminare di 'cancellamento formattazione
condizionale'
Perche' a volte andava in errore, avendo solo tre colpi possibili
Tentava di aggiungere la quarta condizione, la quinta,...
Attento che nelle varie versioni di Access il LIMITE è cambiato... ora siamo a 7...
No, giá da Access 2010 siamo a 50.
La causa per l'errore nella programmazione di più di 3 condizioni e che
non hanno allargato l'indice dell'insieme di FormatConditions a 50.

Il "trucco" per usare fino alle 50 condizioni nel codice è di _non_
usare un ciclo con l'indice di FormatConditions. Invece si fa p.e.

Dim FC As FormatCondition

Set FC = .FormatConditions.Add(...
FC.BackColor = MioColore1

Set FC = .FormatConditions.Add(...
FC.BackColor = MioColore2

Set FC = .FormatConditions.Add(...

FC.BackColor = MioColore3


Set FC = .FormatConditions.Add(...

FC.BackColor = MioColore4




ecc. fino a 50

e alla fine o in caso di problemi anche dopo ogni "Set FC..." si fa:
Set FC = Nothing
--
Ciao
Karl
*********
http://www.AccessDevCon.com
Access FAQ: http://www.donkarl.com/it
@Alex
2017-12-15 12:09:20 UTC
Permalink
Post by Karl Donaubauer
Salve Alex,
Post by @Alex
Post by RobertoA
...
Ci ho aggiunto un ciclo preliminare di 'cancellamento formattazione
condizionale'
Perche' a volte andava in errore, avendo solo tre colpi possibili
Tentava di aggiungere la quarta condizione, la quinta,...
Attento che nelle varie versioni di Access il LIMITE è cambiato... ora siamo a 7...
No, giá da Access 2010 siamo a 50.
La causa per l'errore nella programmazione di più di 3 condizioni e che
non hanno allargato l'indice dell'insieme di FormatConditions a 50.
Il "trucco" per usare fino alle 50 condizioni nel codice è di _non_
usare un ciclo con l'indice di FormatConditions. Invece si fa p.e.
Dim FC As FormatCondition
Set FC = .FormatConditions.Add(...
FC.BackColor = MioColore1
Set FC = .FormatConditions.Add(...
FC.BackColor = MioColore2
Set FC = .FormatConditions.Add(...
FC.BackColor = MioColore3
Set FC = .FormatConditions.Add(...
FC.BackColor = MioColore4
ecc. fino a 50
Set FC = Nothing
--
Ciao
Karl
*********
http://www.AccessDevCon.com
Access FAQ: http://www.donkarl.com/it
Ma guarda che BELLA cosa che mi dici, non la conoscevo affatto...!
Quindi immagino, che se è necessario fare come hai indicato, possa essere altrettanto impossibile accedere alla Collection FormatConditions in lettura con il For each

For Each fc in MioControllo.FormatConditions
...
NExt

o con l'indicizzazione...?

Dim fc49 As FormatCondition
Set fc49=MioControllo.FormatConditions(49)

Questo impone che si debbano CANCELLARE tutti per ricrearli...?

Devo provare ovviamente per capire LIMITI e problematiche...

Grazie
@Alex
Davide La Mantia
2017-12-16 17:52:11 UTC
Permalink
Post by Karl Donaubauer
Salve Alex,
Post by @Alex
Post by RobertoA
...
Ci ho aggiunto un ciclo preliminare di 'cancellamento formattazione
condizionale'
Perche' a volte andava in errore, avendo solo tre colpi possibili
Tentava di aggiungere la quarta condizione, la quinta,...
Attento che nelle varie versioni di Access il LIMITE è cambiato... ora siamo a 7...
No, giá da Access 2010 siamo a 50.
La causa per l'errore nella programmazione di più di 3 condizioni e che
non hanno allargato l'indice dell'insieme di FormatConditions a 50.
CUT

Ecco fatto...
E potevi dircelo prima! :-)

Ciao
mario rossi
2017-12-20 01:39:55 UTC
Permalink
Post by mario rossi
hanno introdotto un modo semplice per evidenziare di colore diverso il record selezionato?
grazie a tutti.
io facevo cosi nel vecchio access xp (penso farò ancora cosi)

1. inserivo una casella di testo non associata di nome "SEL" a forma di linea sottile sotto il record per tutta la lunghezza della form

2. su formattazione condizionale aggiungevo se il valore è = [id]sfondo e testo diventano rossi

3. su corrente della form eseguo il seguente
============================================
On Error GoTo Err_Form_Current

Evidenzia "[ID]", [Id], "nomeform", "nomesottoform"

Exit_Form_Current:
Exit Sub

Err_Form_Current:

Resume Exit_Form_Current

4. in un modulo definivo la routine EVIDENZIA
ho messo un if per riuscire a evidenziare record di form e record appartenenti a sottoform
=============================================
Public Function Evidenzia(ByVal NomeChiave As String, ByVal ValChiave As Variant, Form As String, sottoform As String)

On Error GoTo gestErr

If sottoform <> "" Then
Forms(Form).Form(sottoform).Controls("sel") = Forms(Form).Form(sottoform).Controls("id")
Else
Forms(Form).Controls("sel") = Forms(Form).Controls("id")
End If

Exit Function

gestErr:
MsgBox Err.Number & " " & Err.Description
End Function
@Alex
2017-12-20 11:21:12 UTC
Permalink
Post by mario rossi
Post by mario rossi
hanno introdotto un modo semplice per evidenziare di colore diverso il record selezionato?
grazie a tutti.
io facevo cosi nel vecchio access xp (penso farò ancora cosi)
1. inserivo una casella di testo non associata di nome "SEL" a forma di linea sottile sotto il record per tutta la lunghezza della form
2. su formattazione condizionale aggiungevo se il valore è = [id]sfondo e testo diventano rossi
3. su corrente della form eseguo il seguente
============================================
On Error GoTo Err_Form_Current
Evidenzia "[ID]", [Id], "nomeform", "nomesottoform"
Exit Sub
Resume Exit_Form_Current
4. in un modulo definivo la routine EVIDENZIA
ho messo un if per riuscire a evidenziare record di form e record appartenenti a sottoform
=============================================
Public Function Evidenzia(ByVal NomeChiave As String, ByVal ValChiave As Variant, Form As String, sottoform As String)
On Error GoTo gestErr
If sottoform <> "" Then
Forms(Form).Form(sottoform).Controls("sel") = Forms(Form).Form(sottoform).Controls("id")
Else
Forms(Form).Controls("sel") = Forms(Form).Controls("id")
End If
Exit Function
MsgBox Err.Number & " " & Err.Description
End Function
2 Osservazioni:

1° Quel codice di suo è carente della parte funzionale, quindi se ti limiti a postare questa cosa, devi anche essere consapevole che così NON FA NULLA, se non introduci la parte di Formattazione.

2° Perchè non hai detto subito che usavi questo approccio, invece di fare quello che alla fine dice "con sufficienza" che funzionava prima funzionerà ancora...? Access è sempre quello te lo riuscivamo a dire alla prima risposta che le cose non sono cambiate...!!!

@Alex
mario rossi
2017-12-20 14:10:14 UTC
Permalink
Post by @Alex
Post by mario rossi
Post by mario rossi
hanno introdotto un modo semplice per evidenziare di colore diverso il record selezionato?
grazie a tutti.
io facevo cosi nel vecchio access xp (penso farò ancora cosi)
1. inserivo una casella di testo non associata di nome "SEL" a forma di linea sottile sotto il record per tutta la lunghezza della form
2. su formattazione condizionale aggiungevo se il valore è = [id]sfondo e testo diventano rossi
3. su corrente della form eseguo il seguente
============================================
On Error GoTo Err_Form_Current
Evidenzia "[ID]", [Id], "nomeform", "nomesottoform"
Exit Sub
Resume Exit_Form_Current
4. in un modulo definivo la routine EVIDENZIA
ho messo un if per riuscire a evidenziare record di form e record appartenenti a sottoform
=============================================
Public Function Evidenzia(ByVal NomeChiave As String, ByVal ValChiave As Variant, Form As String, sottoform As String)
On Error GoTo gestErr
If sottoform <> "" Then
Forms(Form).Form(sottoform).Controls("sel") = Forms(Form).Form(sottoform).Controls("id")
Else
Forms(Form).Controls("sel") = Forms(Form).Controls("id")
End If
Exit Function
MsgBox Err.Number & " " & Err.Description
End Function
1° Quel codice di suo è carente della parte funzionale, quindi se ti limiti a postare questa cosa, devi anche essere consapevole che così NON FA NULLA, se non introduci la parte di Formattazione.
2° Perchè non hai detto subito che usavi questo approccio, invece di fare quello che alla fine dice "con sufficienza" che funzionava prima funzionerà ancora...? Access è sempre quello te lo riuscivamo a dire alla prima risposta che le cose non sono cambiate...!!!
@Alex
ascolta Alex "ma fammi il piacere!!!!" ma quale sufficienza? ma sgasati!!!
ho solo chiesto se qualcuno conosceva un modo migliore nel nuovo access 2016 per evidenziare un record! ho commesso qualche reato???
Alex ripeto, "ma fammi il piacere!!!!
@Alex
2017-12-20 16:13:02 UTC
Permalink
Quello era toto... e guarda che anche se è Natale non siamo tutti più stupidi e forse nemmeno più buoni.

Non hai chiesto un modo "migliore"... ma hai chiesto il modo per farlo come se tu non avessi un riferimento... e siccome lo avevi un metodo, avresti fatto perdere meno tempo proponendolo come comparazione di alternativa, è sicuramente un approccio più intelligente in un confronto tecnico... per chi è tecnico.

I piaceri sono cose serie... qui nel NG è sufficiente non offendere ed essere tecnici.

@Alex
mario rossi
2017-12-20 23:54:37 UTC
Permalink
Post by @Alex
Quello era toto... e guarda che anche se è Natale non siamo tutti più stupidi e forse nemmeno più buoni.
Non hai chiesto un modo "migliore"... ma hai chiesto il modo per farlo come se tu non avessi un riferimento... e siccome lo avevi un metodo, avresti fatto perdere meno tempo proponendolo come comparazione di alternativa, è sicuramente un approccio più intelligente in un confronto tecnico... per chi è tecnico.
I piaceri sono cose serie... qui nel NG è sufficiente non offendere ed essere tecnici.
@Alex
Secondo me a te la programmazione non fà bene se diventi cosi "prima donna" io devo avere un metodo di pubblicazione che debba accettare il tuo benestare? chi sei il magistrato della cassazione di questo newsgroup? avrei fatto meglio avrei fatto peggio? ho scritto quello che ho ritenuto opportuno senza offendere nessuno! se non ti piacciono i miei post perchè non rispettano i tuoi canoni, fammi la cortesia di saltarli a piedi pari, mi farai un grosso favore! "e come diceva toto, ripeto, "ma mi faccia il piacere!!!"
mario rossi
2017-12-20 23:57:25 UTC
Permalink
Post by @Alex
Quello era toto... e guarda che anche se è Natale non siamo tutti più stupidi e forse nemmeno più buoni.
Non hai chiesto un modo "migliore"... ma hai chiesto il modo per farlo come se tu non avessi un riferimento... e siccome lo avevi un metodo, avresti fatto perdere meno tempo proponendolo come comparazione di alternativa, è sicuramente un approccio più intelligente in un confronto tecnico... per chi è tecnico.
I piaceri sono cose serie... qui nel NG è sufficiente non offendere ed essere tecnici.
@Alex
Secondo me a te la programmazione non fa bene se diventi cosi "prima donna" io devo avere un metodo di pubblicazione che debba avere il tuo benestare? chi sei il magistrato della cassazione di questo Newsgroup? avrei fatto meglio? avrei fatto peggio? ho scritto quello che ho ritenuto opportuno senza offendere nessuno e chiedendo un parere a tutti quelli che se la sentivano di rispondere senza fare tante polemiche! se non ti piacciono i miei post perchè non rispettano i tuoi canoni, fammi la cortesia di saltarli a piedi pari, mi farai un grosso favore! "e come diceva toto, ripeto, "ma mi faccia il piacere!!!"
@Alex
2017-12-21 06:04:41 UTC
Permalink
Ma come non vuoi ti si dica cosa fare ed ora mi dici cosa dovrei fare io...
Tu "ignori" le regole e lo spirito del NG forse per gioventù... o forse perché pensi sia il TUO help desk...
In ogni caso io ti dirò tutto quello che mi passa per la testa... sempre... e mi divertirò anche molto.
Ciao Paolo Rossi

@Alex
mario rossi
2017-12-21 13:21:49 UTC
Permalink
Post by @Alex
Ma come non vuoi ti si dica cosa fare ed ora mi dici cosa dovrei fare io...
Tu "ignori" le regole e lo spirito del NG forse per gioventù... o forse perché pensi sia il TUO help desk...
In ogni caso io ti dirò tutto quello che mi passa per la testa... sempre... e mi divertirò anche molto.
Ciao Paolo Rossi
@Alex
ma vai affa..ulo
@Alex
2017-12-21 16:55:03 UTC
Permalink
Appunto C.V.D. e come diceva il direttore al ragionier Ugo Fantozzi..."caro il mio Paolo Rossi..." o forse l'aggettivo era diverso... ma il senso è il medesimo.

@Alex
mario rossi
2017-12-21 22:37:16 UTC
Permalink
Post by @Alex
Appunto C.V.D. e come diceva il direttore al ragionier Ugo Fantozzi..."caro il mio Paolo Rossi..." o forse l'aggettivo era diverso... ma il senso è il medesimo.
@Alex
Forse Mario Rossi è meglio tu invece come ti chiami? o ti nascondi dietro @Alex?
@Alex
2017-12-22 07:07:15 UTC
Permalink
Mah "caro il mio Paolo Rossi"... beato te che nemmeno sai quello che dici.
Giusto perché è Natale sappi, poi basta informazioni tecniche troppo ravvicinate, qui anche le pietre sanno il mio nome e cognome... da 20 anni.
"Caro il mio Paolo Rossi"(sempre alla fantozzi)... ma sospetto tu non abbia nemmeno visto quel film.
Ora mi hai annoiato...

@Alex
mario rossi
2017-12-23 15:04:47 UTC
Permalink
Post by @Alex
Mah "caro il mio Paolo Rossi"... beato te che nemmeno sai quello che dici.
Giusto perché è Natale sappi, poi basta informazioni tecniche troppo ravvicinate, qui anche le pietre sanno il mio nome e cognome... da 20 anni.
"Caro il mio Paolo Rossi"(sempre alla fantozzi)... ma sospetto tu non abbia nemmeno visto quel film.
Ora mi hai annoiato...
@Alex
Ecco bravo spero di averti annoiato talmente tanto da non dover interagire con te mai più in futuro in questo newsgroup.
mario rossi
2017-12-23 15:06:01 UTC
Permalink
Post by @Alex
Mah "caro il mio Paolo Rossi"... beato te che nemmeno sai quello che dici.
Giusto perché è Natale sappi, poi basta informazioni tecniche troppo ravvicinate, qui anche le pietre sanno il mio nome e cognome... da 20 anni.
"Caro il mio Paolo Rossi"(sempre alla fantozzi)... ma sospetto tu non abbia nemmeno visto quel film.
Ora mi hai annoiato...
@Alex
Ecco bravo spero di averti annoiato talmente tanto da non dover mai più interagire con te in futuro in questo newsgroup.
@Alex
2017-12-23 17:53:08 UTC
Permalink
"caro il mio Paolo Rossi"... leggerò sempre molto attentamente i tuoi post sarà un piacere ed un sollazzo...

@Alex
mario rossi
2017-12-24 19:37:55 UTC
Permalink
Post by @Alex
"caro il mio Paolo Rossi"... leggerò sempre molto attentamente i tuoi post sarà un piacere ed un sollazzo...
@Alex
Leggili pure, ma non interagire altrimenti sono costretto a incontrarti di persona per dei chiarimenti...
@Alex
2017-12-25 00:00:47 UTC
Permalink
Io interagisco di certo, senza remore ne timore... "caro il mio Paolo Rossi"... ora che mi hai pure minacciato in pubblico nel forum, lo farò con ancora più tranquillità e gusto.

Ma sei un bambinello proprio... rimango in tema di Natale.
@Alex
mario rossi
2017-12-26 01:02:43 UTC
Permalink
Post by @Alex
Io interagisco di certo, senza remore ne timore... "caro il mio Paolo Rossi"... ora che mi hai pure minacciato in pubblico nel forum, lo farò con ancora più tranquillità e gusto.
Ma sei un bambinello proprio... rimango in tema di Natale.
@Alex
Basta!! hai rotto i cog....i pettegola!

Loading...