Newsgroup: it.comp.appl.access
Titolo: evidenziare record selezionato (access 2016)

hanno introdotto un modo semplice per evidenziare di colore diverso il record selezionato?
 
grazie a tutti.

 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.
 

 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

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

 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
 


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

 non hanno allargato l'indice dell'insieme di FormatConditions a 50.
CUT
 
Ecco fatto...
E potevi dircelo prima! :-)
 
Ciao

 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
 


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


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!!!!

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!!!"

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

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

 @Alex
 
Forse Mario Rossi è meglio tu invece come ti chiami? o ti nascondi dietro @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.

"caro il mio Paolo Rossi"... leggerò sempre molto attentamente i tuoi post sarà un piacere ed un sollazzo... 
 
@Alex

 @Alex
 
Leggili pure, ma non interagire altrimenti sono costretto a incontrarti di persona per dei chiarimenti...

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!