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
e perche' PRIMA di aggiornare? semmai dopo.
> 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 ..
Ovvio che ci sia qualcosa che non va. l'evento PrimaDiAggiornare (che
peraltro non e' quello giusto per questo caso) si verifica solo quando
aggiorni il gruppo di opzioni, quindi, dato che cambiando record non
aggiorni un bel niente, l'evento non si verifica.
Se vuoi che succeda qualcosa quando cambi record devi usare l'evento
Corrente, il quale si verifica ogni volta che un qualsiasi record diventa
(appunto) il record corrente.
> 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 ...
Usa Dash, versane un po' nei fori del monitor e il resto dividilo tra la
fessura del floppy e il cassetto del CD, vedrai che risultati!!
> Di seguito un semplice esempio di quanto menzionato:
>
> Private Sub OpzioneTest_BeforeUpdate(Cancel As Integer)
>
> With Me
> If OpzioneTest = 1 Then
Manca il punto, ma forse nel codice vero non hai avuto questa svista.
> !OpzioneResult.Enabled = True
> ElseIf OpzioneTest = 2 Then
> !OpzioneResult.Enabled = False
> End If
> End With
>
> End Sub
>
>
>
> Mi date una mano? ;)
||||,
>
> Grazie,
> Frank
Ciao, Sib
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/
---------------------------------------------
Sono commosso :,,)
Comunque hai ragione tu. Io ho cercato di interpretare cosa voleva dire per
fare prima, ma a volte si puo' sbagliare facendo come me.
> Ciao
>
> --
>
> Roberto
>
Ciao, Sib
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
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.
Ciao, Sib
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]