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

Più che un aiuto, un bell'effetto per una selezione record.

155 views
Skip to first unread message

ignazio.pilone

unread,
Nov 14, 2013, 7:07:11 AM11/14/13
to
Buongiorno a tutti,
come da oggetto non vorrei il classico aiuto che sempre domando e sempre gentilmente ricevo dai sempre "disponibili" ma una "dritta" sulla base della vs. impareggiabile esperienza.

Ho una maschera continua che attinge da una query i miei dati.
Selezionando alcuni di questi record (circa 20/30 in base a [progr]) avrei bisogno di modificarne due campi, uno data e uno testo come preventivamente impostato in combo nell'intestazione di pagina.

Praticamente, dalla maschera continua, selezionando una ventina di record avrei bisogno di modificare il campo data ponendolo uguale a quello indicato dalla combodata in intestazione e un altro campo testo.

Dovrei riuscire a fare più o meno tutto, mi piacerebbe però poter selezionare i record direttamente dalla maschera su click, magari modificandone il colore una volta selezionati, e avviando un msg box: "stai per modificare i progr n° xxxxx sei sicuro ?"

Qualcuno ha già fatto qualcosa di simile e mi può supportare ?

grazie infinite.

Pablitomf

unread,
Nov 14, 2013, 8:35:00 AM11/14/13
to
ignazio.pilone <ignazio...@gmail.com> ha scritto:
Per selezionare, aggiungi un campo check-box per ogni record (es. MioCheck)

Per colorare i selezionati, poni a "trasparente" lo sfondo di tutti i
campi del form, poi aggiungi un campo (messo rispetto a tutti gli altri in
"SECONDO PIANO"), formattalo con Testo "TERMINAL" e in origine controllo
dello stesso, ci metti :
=IIf([MioCheck]=true;"ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ";"")

Per "dire" al sistema quali sono i campi su cui stai apportando delle
modifiche, crea una query (Es. TuaQuery) di aggiornamento che prenda solo
i campi con MioCheck a true, per aggiornarli a ciò che hai nella Tua combo
e nel Tuo campo testo del Form

Per avere una richiesta di conferma, sul pulsante che ti avvia
l'aggiornamento, su click ci metti:

If MsgBox("SICURO?", vbYesNo, "INFO") = vbYes Then
docmd.OpenQuery "TuaQuery"
End If

--
------------
Pablitomf
Napoli sempre nel "Q"uore!
"mammasantissima" si nasce, non si diventa.

TheSpaceCowboy :
Britos deve recuperare per arrivare in forma al prossimo
infortunio - 24/10/12

ignazio.pilone

unread,
Nov 14, 2013, 9:40:05 AM11/14/13
to

> Britos deve recuperare per arrivare in forma al prossimo infortunio - 24/10/12

Pablito, questa mi fa sbellicare ogni volta, bellissima...

Quando scrivevo di impareggiabile esperienza non pensavo a una tale soluzione semplice,(ora che l'ho capita) e immediata.
Ho solo un problemino. Non ho il font TERMINAL e non posso installarlo per problenmi di sicurezza (sic !)
Posso in alternativa, dare un colore di fondo da codice alla casella ? Ora ci provo...
Domanda di tecnica, scusa se approfitto. Posso utilizzare sia una casella di testo che un etichetta ? Con l'eichetta risparmio risorse ?


grazie infinite

BFS

unread,
Nov 14, 2013, 9:44:31 AM11/14/13
to

> Per colorare i selezionati, poni a "trasparente" lo sfondo di tutti i
> campi del form, poi aggiungi un campo (messo rispetto a tutti gli altri in
> "SECONDO PIANO"), formattalo con Testo "TERMINAL" e in origine controllo
> dello stesso, ci metti :
> =IIf([MioCheck]=true;"ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ";"")
>

non so che versione di access hai...
ma fai prima ad impostare la formattazione condizionale dei vari
controlli. (tasto destro sul controllo--->formattazione condizionale)

ciao
BFS

ignazio.pilone

unread,
Nov 14, 2013, 10:05:01 AM11/14/13
to
eccezzionale e ....grandioso.
grazie
Ciao
M

Pablitomf

unread,
Nov 14, 2013, 11:27:51 AM11/14/13
to
> > Britos deve recuperare per arrivare in forma al prossimo infortunio -
24/10/12

> Pablito, questa mi fa sbellicare ogni volta, bellissima...

e' che conosco i miei polli... ;)

> Quando scrivevo di impareggiabile esperienza non pensavo a una tale
soluzione semplice,(ora che l'ho capita) e immediata.
> Ho solo un problemino. Non ho il font TERMINAL e non posso installarlo per
problenmi di sicurezza (sic !)

Eh... no problem... vedi sotto

> Posso in alternativa, dare un colore di fondo da codice alla casella ? Ora
ci provo...

certo... con la Formattazione condizionale...

> Domanda di tecnica, scusa se approfitto. Posso utilizzare sia una casella
di testo che un etichetta ? Con l'eichetta risparmio risorse ?

no.. con l'etichetta non puoi usare gli iif...

> grazie infinite

di nulla

--
------------
Pablitomf
Napoli sempre nel "Q"uore!
"mammasantissima" si nasce, non si diventa.

TheSpaceCowboy :

Pablitomf

unread,
Nov 14, 2013, 11:29:03 AM11/14/13
to
> non so che versione di access hai...
> ma fai prima ad impostare la formattazione condizionale dei vari
> controlli. (tasto destro sul controllo--->formattazione condizionale)

neanche io lo so che versione ha lui... per questo gli ho postato una
soluzione che va bene a prescindere dalla versione... ;)

ignazio.pilone

unread,
Nov 15, 2013, 6:09:46 AM11/15/13
to
Pablito e BFS una ulteriore chicca....spero di non abusare troppo.
posso nel codice:

If MsgBox("SICURO?", vbYesNo, "INFO") = vbYes Then
docmd.OpenQuery "TuaQuery"
End If

indicare i progr delle query ?
Cioè porre una domanda del tipo --"Sei sicuro di voler modificare "progr1","progr5","progr7","progrx",---
dove i progr sono quelli indicati nella "miaquery".

grazie infinite a entrambi.

Pablitomf

unread,
Nov 15, 2013, 6:17:57 AM11/15/13
to
ignazio.pilone <ignazio...@gmail.com> ha scritto:
certo che puoi... basta che prima di porre la domanda, ti cicli da codice la
"TuaQuery" e ti porti in una variabile "TuaVariabile" i valori (tutti in fila
come li hai descritti) che ti servono...

If MsgBox("Sei sicuro di voler modificare " & TuaVariabilt & "?", vbYesNo,
"INFO") = vbYes Then

Pablitomf

unread,
Nov 15, 2013, 6:18:55 AM11/15/13
to
Pablitomf <pabl...@hotmail.it> ha scritto:

> ignazio.pilone <ignazio...@gmail.com> ha scritto:
>
> > Pablito e BFS una ulteriore chicca....spero di non abusare troppo.
> > posso nel codice:
> >
> > If MsgBox("SICURO?", vbYesNo, "INFO") = vbYes Then
> > docmd.OpenQuery "TuaQuery"
> > End If
> >
> > indicare i progr delle query ?
> > Cioè porre una domanda del tipo --"Sei sicuro di voler modificare
> "progr1","progr5","progr7","progrx",---
> > dove i progr sono quelli indicati nella "miaquery".
> >
> > grazie infinite a entrambi.
>
> certo che puoi... basta che prima di porre la domanda, ti cicli da codice la
> "TuaQuery" e ti porti in una variabile "TuaVariabile" i valori (tutti in fila
> come li hai descritti) che ti servono...
>
> If MsgBox("Sei sicuro di voler modificare " & TuaVariabilt & "?", vbYesNo,
> "INFO") = vbYes Then

unico problema potrebbe essere è il numero di caratteri permesso dal MsgBox e la
leggibilità dello stesso...

ignazio.pilone

unread,
Nov 15, 2013, 7:12:12 AM11/15/13
to
.....e ti porti in una variabile "TuaVariabile" i valori (tutti in fila
come li hai descritti) che ti servono...

i progr sono quelli che trovo nella query "checcati" ma come farli digerire a VBA
cioè come importare nella variabile solo i progr(..e non gli altri campi ) della query ?

ciao, scusami ..non rompo più, ci SIAMO riusciti....

grazie infinite

Pablitomf

unread,
Nov 15, 2013, 8:56:29 AM11/15/13
to
ignazio.pilone <ignazio...@gmail.com> ha scritto:

> ......e ti porti in una variabile "TuaVariabile" i valori (tutti in fila
Dim TuaVariabile As String
TuaVariabile=""

Dim db As Database
Dim rs As DAO.Recordset

Set db = Currentdb
Set rs = db.OpenRecordset("TuaQuery")

With rs
While rs.EOF = false
If TuaVariabile="" Then
TuaVariabile = !progr
Else
TuaVariabile = TuaVariabile & vbcrlf & !progr
End If
.MoveNext
Wend
End With

rs.close
Set rs = Nothing
Set db = Nothing

ignazio.pilone

unread,
Nov 18, 2013, 5:33:50 AM11/18/13
to

>
> Per selezionare, aggiungi un campo check-box per ogni record (es. MioCheck)
>

Pablito, scusami ancora se rompo.
sono in difficoltà perchè dopo l'aggiornamente dei record avrei bisogno di cancellare il true dai checkbox in tabella, (volevo farlo tramite pulsante).
Ho provato a cercare un pò su Google per capire l'istruzione per azzerare i campi, ma con il solo risultato di confondermi ancor di più.
Se ad esempio su 15.000 record ne avessi solo 5 cui azzerare il checkbox, mi conviene sempre azzerare tutto il contenuto del campo in tabella o solo dove impostato a true ?
Scusami, ti saluto e...giro la ruota, compro una vocale....

grazie ciao

ignazio.pilone

unread,
Nov 18, 2013, 5:36:44 AM11/18/13
to

Pablitomf

unread,
Nov 18, 2013, 6:06:46 AM11/18/13
to
ignazio.pilone <ignazio...@gmail.com> ha scritto:
devi semplicemente a fine operazione fare una query di aggiornamento che
riporti il campo al valore iniziale...

UPDATE TuoCampo SET TuaTabella.TuoCampo = "False" WHERE
TuaTabella.TuoCampo="true"

Pablitomf

unread,
Nov 18, 2013, 6:07:34 AM11/18/13
to
ignazio.pilone <ignazio...@gmail.com> ha scritto:
la firma, per lui e' sempre valida... non mi hai detto se il popolamento della
Variabile ti e' servita...

ignazio.pilone

unread,
Nov 18, 2013, 8:24:49 AM11/18/13
to

> la firma, per lui e' sempre valida... non mi hai detto se il popolamento della
>
> Variabile ti e' servita...

Non ci son riuscito e ho lasciato una versione più semplice, senza la dichiarazione dei Progr che verranno modificati.

Il codice si bloccava sulla alimentazione della variabile con i numeri Progr
(cioè quelli da indicare nella variabile) che intercetto dalla query "QRY_Checcati" che ha questa forma

Check Progr stato Status
Sì 11 Da Effettuare Blocco
Sì 16 Da Effettuare Blocco
Sì 22 Da Effettuare Chiuso

Non voglio seccarti oltre e ti ringrazio, da domenica prossima terrò d'occhio anch'io Britos... ;-)

Pablitomf

unread,
Nov 18, 2013, 10:45:15 AM11/18/13
to
ignazio.pilone <ignazio...@gmail.com> ha scritto:
Si bloccava non e' una spiegazione utile per aiutarti... dimmi cosa in che punto
e quando si bloccava e che errore ti dava in fase di blocco...


> da domenica prossima terrò d'occhio anch'io Britos... ;-)

E' una "puzza" di giocatore... non serve a nulla se non a dimostrare di volta in
volta quanto sia stato un acquisto errato. Quindi posa gli occhi su altri...
magari ti divertirai di piu'.
0 new messages