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

Formattazione condizionale in base al valore riportato in tabella

810 views
Skip to first unread message

RobertOne

unread,
May 24, 2011, 5:06:56 PM5/24/11
to
Buona sera a tutti.

Ho una nuova richiesta di aiuto, in una sottomaschera in visualizzazione
foglio dati, vorrei poter "colorare" tutti quei record laddove in tabella
risultano flaggati.

In pratica dalla maschera dei prodotti principale vorrei evidenziare tutti
quei prodotti che sono stati selezionati e pronti da stampare per
l'acquisto. Onde evitare di selezionarli nuovamente.

Grazie anticipatamente.


Roberto


Riccardo Baldinotti

unread,
May 25, 2011, 3:49:50 AM5/25/11
to

Vedi se può aiutarti l'esempio 3.25 nella sezione Forms in www.sitocomune.com.
Riccardo Baldinotti

RobertOne

unread,
May 25, 2011, 4:23:53 AM5/25/11
to

"Riccardo Baldinotti" ha scritto nel messaggio ...

Vedi se può aiutarti l'esempio 3.25 nella sezione Forms in
www.sitocomune.com.
Riccardo Baldinotti


Grazie per la dritta.

Avevo già visto tale esempio, vorrei ottenere proprio un risultato simile.
Quando in tabella il risultato relativo al campo "da acquistare" è come
condizione "vero" allora evidenzia tutti quei record che hanno tale
condizione.

Però sinceramente non saprei come adattare l'esempio 3.25 alle mie
necessità, soprattutto perchè devo far riferimento ad un valore collocato
nella tabella e cosa più importante, devo fare i conti con le mie scarse
abilità...

Rob.


Riccardo Baldinotti

unread,
May 25, 2011, 6:08:04 AM5/25/11
to

Così a memoria...
Clicchi su una casella di testo della tua maschera in modalità
visualizzazione struttura; nel menu Struttura clicchi su Condizionale;
scegli "L'espressione è"; poniamo che il tuo flag sia un campo che si
chiama Sel: nella riga di fianco scrivi [Sel]=-1, scegli il colore di
sfondo, il colore del testo e se la casella deve essere abilitata o
meno, sono i bottoncini subito sotto.
Quando apri la maschera quella casella dovrebbe apparire di
conseguenza.
Buon lavoro.
Riccardo Baldinotti

RobertOne

unread,
May 25, 2011, 7:40:35 AM5/25/11
to

"Riccardo Baldinotti" ha scritto nel messaggio ...

Così a memoria...


Clicchi su una casella di testo della tua maschera in modalità
visualizzazione struttura; nel menu Struttura clicchi su Condizionale;
scegli "L'espressione è"; poniamo che il tuo flag sia un campo che si
chiama Sel: nella riga di fianco scrivi [Sel]=-1, scegli il colore di
sfondo, il colore del testo e se la casella deve essere abilitata o
meno, sono i bottoncini subito sotto.
Quando apri la maschera quella casella dovrebbe apparire di
conseguenza.
Buon lavoro.
Riccardo Baldinotti

Grazie nuovamente per il supporto, però non so come adattare tale formula
visto che dovrei fare riferimento a record esistenti nella tabella storico.

Vediamo se riesco a fare una sintesi di quello che vorrei creare.

Ho una tabella dove seleziono tramite flag i prodotti alimentari che dovrò
acquistare. Una volta selezionati tramite query di accodamento vado a
popolare la tabella Storico. Poniamo per esempio che il giorno dopo debba
aggiungere altri prodotti da acquistare, vorrei appunto che i prodotti già
selezionati il giorno prima facendo riferimento alla tabella storico,
venissero evidenziati di un altro colore, tutto questo per evitare di aprire
un'altra maschera oppure un report che mi riportano i prodotti già scelti.

Grazie.

Roberto


Riccardo Baldinotti

unread,
May 25, 2011, 8:54:20 AM5/25/11
to
On 25 Mag, 13:40, "RobertOne" <robert...@robort.it> wrote:
> "Riccardo Baldinotti"  ha scritto nel messaggio ...
>
> Cos a memoria...

> Clicchi su una casella di testo della tua maschera in modalit
> visualizzazione struttura; nel menu Struttura clicchi su Condizionale;
> scegli "L'espressione "; poniamo che il tuo flag sia un campo che si

> chiama Sel: nella riga di fianco scrivi [Sel]=-1, scegli il colore di
> sfondo, il colore del testo e se la casella deve essere abilitata o
> meno, sono i bottoncini subito sotto.
> Quando apri la maschera quella casella dovrebbe apparire di
> conseguenza.
> Buon lavoro.
> Riccardo Baldinotti
>
> Grazie nuovamente per il supporto, per non so come adattare tale formula

> visto che dovrei fare riferimento a record esistenti nella tabella storico.
>
> Vediamo se riesco a fare una sintesi di quello che vorrei creare.
>
> Ho una tabella dove seleziono tramite flag i prodotti alimentari che dovr
> acquistare. Una volta selezionati tramite query di accodamento vado a
> popolare la tabella Storico. Poniamo per esempio che il giorno dopo debba
> aggiungere altri prodotti da acquistare, vorrei appunto che i prodotti gi
> selezionati il giorno prima facendo riferimento alla tabella storico,
> venissero evidenziati di un altro colore, tutto questo per evitare di aprire
> un'altra maschera oppure un report che mi riportano i prodotti gi scelti.
>
> Grazie.
>
> Roberto

Se il problema è evidenziare, direi di fare come spiegavo: nella
sottomaschera colori i campi in base al flag. Non ho capito lo scopo
della tabella Storico: i record col flag settato sono già
"storicizzati". Forse che quel flag viene in seguito resettato?
In tal caso poni l'origine della sottomaschera così:
SELECT tabella.codice, tabella.<campo1>, tabella.<campo2>, ...,
storico.codice AS presente FROM Tabella LEFT JOIN Storico ON
tabella.codice = storico.codice;
e nella sottomaschera metti l'espressione Condizionale come:
"[presente] is not null"
Ho provato ora per sicurezza.
Riccardo Baldinotti

RobertOne

unread,
May 25, 2011, 9:39:00 AM5/25/11
to

"Riccardo Baldinotti" ha scritto nel messaggio ...

Se il problema è evidenziare, direi di fare come spiegavo: nella


sottomaschera colori i campi in base al flag. Non ho capito lo scopo
della tabella Storico: i record col flag settato sono già
"storicizzati". Forse che quel flag viene in seguito resettato?
In tal caso poni l'origine della sottomaschera così:
SELECT tabella.codice, tabella.<campo1>, tabella.<campo2>, ...,
storico.codice AS presente FROM Tabella LEFT JOIN Storico ON
tabella.codice = storico.codice;
e nella sottomaschera metti l'espressione Condizionale come:
"[presente] is not null"
Ho provato ora per sicurezza.
Riccardo Baldinotti


Si, effettivamente la flag nella sottomaschera viene resettata quando a
mezzo macro, una volta selezionati i prodotti con flag, vado a popolare la
tabella Storico con una query di accodamento.

Ho provato a variare l'origine della sottomaschera come mi indichi,
sostituendo i nomi delle tabelle e dei campi ma probabilmente qualcosa non
quadra visto che non funziona:

SELECT Prodotti.Des, Prodotti.<GruMer>, Prodotti.<Acq>,Storico.codice AS
presente FROM Prodotti LEFT JOIN Storico ON
Prodotti.Acq = Storico.Acq;

La maschera Prodotti e relativa Prodotti Subfind sono collegate alla tabella
Prodotti. La Subfind ha questi campi; Des, GruMer e Acq che è la flag. Tutto
quello che seleziono con la flag successivamente va riportato in tabella
Storico che ha gli stessi tre campi più altri.

Come dicevo, Nella prodotti subfind, vorrei che mi venissero evidenziati
quei record precedentemente selezionati ed esistenti in storico.

Pensavo fosse più semplice del previsto, se proprio non riuscirò a
raggiungere lo scopo, faro in altro modo.

Grazie e chiedo venia per la poca esperienza.

Roberto


Riccardo Baldinotti

unread,
May 25, 2011, 11:18:54 AM5/25/11
to
On 25 Mag, 15:39, "RobertOne" <robert...@robort.it> wrote:
> "Riccardo Baldinotti"  ha scritto nel messaggio ...
>
> SELECT Prodotti.Des, Prodotti.<GruMer>, Prodotti.<Acq>,Storico.codice AS
> presente FROM Prodotti LEFT JOIN Storico ON
> Prodotti.Acq = Storico.Acq;
>

Le parentesi angolari erano lì per indicare un campo ipotetico. Scrivi
"Prodotti.GruMer, Prodotti.Acq", senza angoli.
Poi non ho capito: usi il flag Acq come critero di unione fra Prodotti
e Storico, ma se il flag viene resettato non avrai nessun legame.
Il campo di esempio "Storico.codice" va sostituto col campo univoco
che fa capire ad Access che stai parlando di un certo record e non di
un altro, suppongo che nel tuo caso ci sia un campo "Storico.Des".
Quindi l'origine della sottomaschera diventa:
SELECT Prodotti.Des, Prodotti.GruMer, Prodotti.Acq, Storico.Des AS
presente FROM Prodotti LEFT JOIN Storico ON Prodotti.Des =
Storico.Des;

Spiegami lo scopo di questo Storico: intendi scriverci le ordinazioni
dei prossimi anni? In tal caso, prima o poi TUTTI i tuoi prodotti
saranno ordinati e quindi nella tua sottomaschera avrai tuttti i
record evidenziati. O vuoi evidenziare solo i prodotti ordinati ieri?
O nell'ultima settimana? In tal caso serve qualche altra modifica.

Ciao.
Riccardo Baldinotti

RobertOne

unread,
May 25, 2011, 1:02:55 PM5/25/11
to

"Riccardo Baldinotti" ha scritto nel messaggio ...

Spiegami lo scopo di questo Storico: intendi scriverci le ordinazioni


dei prossimi anni? In tal caso, prima o poi TUTTI i tuoi prodotti
saranno ordinati e quindi nella tua sottomaschera avrai tuttti i
record evidenziati. O vuoi evidenziare solo i prodotti ordinati ieri?
O nell'ultima settimana? In tal caso serve qualche altra modifica.

Ciao.
Riccardo Baldinotti

Premetto che tale db č nato nel modo che ti spiegherň anche se forse si
poteva fare differentemente e meglio, viste le mie modeste conoscenze.

Sto facendo questo database che mi gestisce la lista della spesa da fare al
supermercato. Inizio con una maschera inserendo tutti i prodotti che mi
vengono in mente, oggetto delle nostre spese ed il relativo gruppo
merceologico. Poi selezionando creazione spesa composta da maschera e
sottomaschera, seleziono i prodotti che mi interessano tramite una flag ed
alla fine della selezione tramite una query di accodamento vado a popolare
la tabella storico.

Nella tabella storico, "scaricherň" la spesa archiviandola per data in tal
modo potrň all'occorrenza sapere a quando risale l'acquisto dell'articolo X

Quello che volevo tentare di fare con questo post, č per evitare di inserire
un articolo da acquistare piů volte, senza consultare prima di inserire
nuovi articoli, la lista di quelli precedentemente inseriti.

Eventualmente per capire meglio quest'intruglio, se mi dai un indirizzo di
posta elettronica ti mando il db in questione.

Grazie ancora e ciao.

Roberto


Riccardo Baldinotti

unread,
May 26, 2011, 4:53:11 AM5/26/11
to
On 25 Mag, 19:02, "RobertOne" <robert...@robort.it> wrote:
>
> Nella tabella storico, "scaricherò" la spesa archiviandola per data in tal
> modo potrò all'occorrenza sapere a quando risale l'acquisto dell'articolo X
>
> Quello che volevo tentare di fare con questo post, è per evitare di inserire
> un articolo da acquistare più volte, senza consultare prima di inserire

> nuovi articoli, la lista di quelli precedentemente inseriti.
>

Allora potresti aggiungere, nello Storico, la data di acquisto, cioè
nel momento in cui vai a scriverlo aggiungi la data di quel giorno o
una data che puoi inserire a mano. Non chiamare "data" quel campo,
altrimenti Access va in confusione, piuttosto chiamalo
"giornoacquisto".
La sottomaschera può essere ordinata per data di acquisto in senso
discendente per vedere a quando risale l'acquisto di un certo
prodotto. Oppure in ordine di prodotto, poi nella formattazione
condizionale del campo Des, metti, per esempio,
[giornoacquisto]>= DateValue(Now())-3
occhio alla doppia parentesi chiusa, così evidenzi se l'acquisto è
recente.

> Eventualmente per capire meglio quest'intruglio, se mi dai un indirizzo di
> posta elettronica ti mando il db in questione.
>

Sto rubando tempo all'ufficio fra i tre db che mi hanno chiesto
recentemente, a casa non ho neppure Access, pensa te. Ho messo mano a
un db altrui solo nel caso di un'amica carina... eh eh eh.
A parte gli scherzi, non saprei davvero quando farlo.
Spero almeno di esserti stato utile.
Ciao
Riccardo Baldinotti

RobertOne

unread,
May 26, 2011, 5:09:30 AM5/26/11
to

"Riccardo Baldinotti" ha scritto nel messaggio...
>

Allora potresti aggiungere, nello Storico, la data di acquisto, cioè


nel momento in cui vai a scriverlo aggiungi la data di quel giorno o
una data che puoi inserire a mano. Non chiamare "data" quel campo,
altrimenti Access va in confusione, piuttosto chiamalo
"giornoacquisto".
La sottomaschera può essere ordinata per data di acquisto in senso
discendente per vedere a quando risale l'acquisto di un certo
prodotto. Oppure in ordine di prodotto, poi nella formattazione
condizionale del campo Des, metti, per esempio,
[giornoacquisto]>= DateValue(Now())-3
occhio alla doppia parentesi chiusa, così evidenzi se l'acquisto è
recente.

> Eventualmente per capire meglio quest'intruglio, se mi dai un indirizzo di
> posta elettronica ti mando il db in questione.
>
Sto rubando tempo all'ufficio fra i tre db che mi hanno chiesto
recentemente, a casa non ho neppure Access, pensa te. Ho messo mano a
un db altrui solo nel caso di un'amica carina... eh eh eh.
A parte gli scherzi, non saprei davvero quando farlo.
Spero almeno di esserti stato utile.
Ciao
Riccardo Baldinotti


Ti ringrazio per avermi seguito fino a quì, vedo che hai pazienza. E chiedo
scusa se ti faccio perdere del tempo prezioso. Fai bene a mettere mano ai
soli db delle amiche carine! Forse però non mi sono spiegato bene cosa
intendo fare, premetto che se anche non riuscirò nell'intento farò
ugualmente qualcosa, anzi dopo devo postare nuovamente per altri problemi...
Faccio un esempio più pratico. Poniamo che abbia in mano un foglio di carta
con scritto la lista dei prodotti da acquistare al supermercato ed un foglio
bianco dove andro a copiare dall'altra lista, tutti quei prodotti che mi
servono per fare la spesa. Se prima di andare a fare la spesa, mi è venuto
in mente che devo aggiungere altri prodotti, li aggiungo però attenzione,
devo fare attenzione e guardare che non ci siano già nella lista compilata
in precedenza. Per questo stavo cercando un sistema che mi evidenziasse i
prodotti già inclusi nella lista per fare acquisti.

E' un pò ingarbugliata la faccenda... Grazie ancora per il tempo dedicatomi
e buon lavoro.

Roberto


0 new messages