Newsgroup: it.comp.appl.access
Titolo: Refresh delle opzioni di una maschera Access

Salve,
In Access 97 ho creato una maschera con due gruppi di opzioni.
Nel primo gruppo, composto da 5 opzioni, attivando ad esempio la prima mi 
disattiva due opzioni particolari del secondo gruppo. Ho creato lo script e 
l'ho attribuito all'evento "Prima di aggiornare" ... Funziona tutto alla 
perfezione!
L'unico problema e che quando vado al record successivo mi visualizza le 
opzioni precedenti senza avere un "refresh" aggiornato  della maschera ... 
cioč se ad esempio sul primo record mi compare un campo disattivato, andando 
poi nel record successivo o precedente mi visualizza lo stesso campo sempre 
disattivato!
Devo sempre cliccare sull'opzione per poterlo ri-aggiornare!! Arghh ..
Concludendo vorrei che nel momento in cui vado al record precedente o 
successivo, si abbia un "refresh" delle opzioni, visualizzando il tutto in 
maniera esatta, linda e pulita! ;D ...
Di seguito un semplice esempio di quanto menzionato:
Private Sub OpzioneTest_BeforeUpdate(Cancel As Integer)
     With Me
        If OpzioneTest = 1 Then
            !OpzioneResult.Enabled = True
        ElseIf OpzioneTest = 2 Then
            !OpzioneResult.Enabled = False
  End If
  End With
End Sub
Mi date una mano?  ;)
Grazie,
Frank
_________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at 
http://www.hotmail.com
.
Share information about yourself, create your own public profile at 
http://profiles.msn.com
.
--
Posted from [204.90.182.2] by way of 
f16.law4.hotmail.com
 [216.33.149.16] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Frank
Ciao, Sib

 Frank
Credimi, ho letto per mezz'ora di seguito il tuo messaggio, ma non sono
riuscito ha capirlo (sicuramente per colpa mia). Ti chiedo pertanto
chiarimenti:
1) Io ho capito che il primo gruppo di opzioni si chiama OpzioneTest e che
il secondo gruppo di opzioni si chiama OpzioneResult; č giusto?
2) I due gruppi di opzioni sono controlli associati oppure non associati e
si trovano nel corpo o nell'intestazione della maschera?
3) Io so che in un gruppo di opzioni si puň attivare SOLO un'opzione alla
volta, visto che per definizione attivandone una tutte le altre vengono
disattivate: come fai ad attivare o disattivare contemporaneamente "due
opzioni particolari del secondo gruppo"?
4) Ho dato uno sguardo al tuo codice VBA, e mi sembra di capire che alla
fine non attivi nulla, ma abiliti o disabiliti l'intero secondo gruppo di
opzioni e non solamente due opzioni di questo gruppo: mi servirebbe di
capire cosa di preciso ti serve fare.
5) Per i due gruppi di opzioni hai assegnato un valore predefinito?
6) Cosa intendi quando parli di "refresh" delle opzioni? Forse debbono
assumere un valore predefinito? Se si quale?
Le osservazioni di Sib le ritengo comunque pertinenti.
Ciao
--
Roberto
---------------------------------------------
il sito comune di it.comp.appl.access:
http://members.xoom.it/it_db_access/
---------------------------------------------


Ciao, Sib


Per ovviare a qualsiasi altro dubbio ho preferito allegarvi il database 
Access relativo via e-mail. Un esempio concreto vale più di mille parole!
Nota per Roberto: sono spiacente di aver usato una sintassi descrittiva poco 
chiara, ma ciò è dovuto al fatto che sono un neofita sia di Access che di 
VBA ... è da circa un paio di settimane che smanetto sul primo e da due 
giorni che smanetto sul secondo! E tanti meccanismi e termini che per voi 
sono assodati per me sono del tutto nuovi ... perdonatemi!
Nota per Sib: Ho provato a versare il Dash (liquido) come da tuo consiglio 
sulla mia  postazione di lavoro! Wow!!! :D ... i risultati sono stati i 
seguenti:
1) Versandolo sul monitor, le immagini da che erano a colori sono sbiancate 
di un bianco che più bianco non si può! Finalmente sono riuscito, grazie al 
tuo consiglio, a fare una pulizia interna efficace senza perdere troppo 
tempo! Peccato per le immagini che sono diventate tutte in bianco (quando è 
accesso) e nero (quando è spento) ;)
2) Versandolo nelle feritoie dell'alimentatore ho avuto la stanza inondata 
da un gradevolissimo odore di detersivo ... dopo c'è stato qualche "squiz" 
misto a scintille con scoppiettii vari ... ma è un'aspetto secondario, su 
cui possiamo sorvolare!
3) Nel lettore cd invece, dove avevo un CD dei Simply Reds, le canzoni sono 
tramutate magicamente in quelle di Barry White ... wow! A saperlo prima ... 
;D ... hehehehe
4) Versandone un pò sull'hard disk, ho avuto come risultato un disco "soft" 
... soffice e candido al tocco! Sarà dovuto alla formula "ammorbidente" 
contenuta nel Dash? Boh! ;D ....
Ciao,
Frank
_________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at 
http://www.hotmail.com
.
Share information about yourself, create your own public profile at 
http://profiles.msn.com
.
--
Posted from [204.90.182.2] by way of 
f248.law4.hotmail.com
 [216.33.149.248] 



Accidenti!! Questa faccina non la conosco, cosa vuol dire?
Vedi quante lacune si accumulano nion partecipando alle chat!!
Roberto


Ho ricevuto al mio indirizzo e-mail il DB di esempio di Francesco e gli
risposto così:
Innanzi tutto, se questo ti consola, circa otto mesi fa ero nelle tue stesse
condizioni; ho usato però un approccio ad Access diverso dal tuo; per due
mesi ho solo studiato: sui libri, sull'help, sui database di esempio
(Northwind, Ordini, Soluzioni ecc.) e sui DB creati con l'autocomposizione.
Ho realizzato il mio primo database solo dopo due mesi di studio.
Rispetto la tua scelta di adoperare per l'apprendimento il metodo induttivo
anzichè quello deduttivo, però devi studiare almeno quel minimo che serve
per avere una buona proprietà di linguaggio, altrimenti non riuscirai a
formulare i quesiti in maniera comprensibile e quindi non riceverai risposte
pertinenti, ma solo qualche battuta scherzosa.
Come immaginavo, il tuo db non è fatto proprio come tu ci hai raccontato con
il tuo post sul NG.
E' questo il motivo di tutte quelle mie domande: speravo che rispondendo
alle mie domande ti saresti, tu per primo, chiarito le idee: lo farò io per
te (ma non prenderci l'abbitudine ;-) )
1) Ho visto come si chiamano i due gruppi di opazioni.
2) I due gruppi di opzioni sono controlli ASSOCIATI a due campi della
tabella Output_Form e sono collocati nel corpo della maschera. Visto che
così stanno le cose, lo stato dei due gruppi di opzioni viene memorizzato
nei relativi record, ed è pertanto normale che, a seconda del record che è
corrente, tu veda le opzioni in un certo stato, è quello che tu hai
impostato al momento della memorizzzione del record visualizzato: non vedo
come puoi aspettarti una cosa diversa. Se invece vuoi svincolare lo stato
delle opzioni dal record che è corrente nella maschera, occorre che ti
dichiari i gruppi di opzioni come NON associati, e sarebbe bene collocarli
nell'intestazione della maschera; naturalmente devi tirare fuori dalle
cornici dei gruppi di opzioni le due caselle di testo associate Part_Other e
Problem_Other che lascerai nel corpo della maschera. Così facendo, come ti
ha detto Sib, scrivendo del codice VBA a fronte dell'evento "Su corrente"
della maschera, ad ogni cambio di record puoi decidere lo stato che vuoi che
assumano le tue opzioni.
5) Ai due gruppi di opzioni hai assegnato il valore predefinito 1, infatti
quando inserisci un nuovo record, trovi selezionate le prime opzioni di ogni
gruppo: agendo sul valore predefinito, puoi cambiare il comportamento di
Access all'inserimento di un nuovo record.
6) A questa domanda puoi rispondere solo tu; dal DB di esempio non emerge
cosa intendi per "refresh", prova a spiegarlo in "parole povere"; mi auguro
che quanto ho scritto al punto 2 e 5 ti aiuti comunque a risolvere il
problema.
Poichè il codice VBA che hai usato ha tanto l'aria di essere copiato da un
esempio (difficilmente un neofita adopera With e i commenti in inglese),
cerca di capire in che contesto veniva usato e valuta se c'è identità con il
tuo caso.
Roberto

 Access relativo via e-mail. Un esempio concreto vale piů di mille parole!
Anch'io, come Roberto ho ricevuto il db, e prima di tutto č bene precisare
che questo non č un buon comportamento.
Senza voler apparire scortese voglio specificare che cestinero' qualsiasi
allegato che mi pervenga senza esclusioni.
Per questo specifico caso, dato che per questa volta e' andata cosi',
(premesso che per fortuna di Francesco avevo cinque minuti in piu' da
perdere) ho scritto a Francesco quanto segue:
Rivediti il db (revisionato e corretto).
Noterai che ho fatto quello che ti avevo suggerito di fare sul ng:
1 usare gli eventi AfterUpdate (DOPO aggiornamento e non prima)
2 Copiare tutte le istruzioni nell'evento current della form par fargli
ricontrollare tutti gli enable quando cambi record.
Infine io, in casi simili, uso Select Case invece di tutti quegli If, č piů
veloce e meglio comprensibile
Ciao, Sib
PS No more database in e-mail please.

 a Sib che disse

Solo per precisare che non ho mai partecipato a una chat in tutta la mia
vita.
Non per cosa, ma non mi entusiasmano.
Ciao, Sib

Ringrazio pubblicamente entrambi (Sib & Roberto) per il preziosissimo aiuto 
concessomi! Mi ritengo davvero fortunato nell'aver trovato delle persone 
tanto gentili, che andando contro le "regole" (divieto di invio file), mi 
hanno saputo dare una mano nel momento del bisogno! Grazie davvero, (anche a 
nome di tutti i "neofiti" di Access!) ;D ...
Ciao,
Francesco
_________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at 
http://www.hotmail.com
.
Share information about yourself, create your own public profile at 
http://profiles.msn.com
.
--
Posted from [204.90.182.2] by way of 
f227.law4.hotmail.com
 [216.33.149.227] 
