Newsgroup: it.comp.appl.access
Titolo: riempire controlli facilmente

Ciao sono Fanciullo,
su una maschera (orario scolastico istituto alberghiero) ho delle caselle di
testo
su ognuna delle quali  dovrei scrivere qualcosa del genere:
___________
| matematica   |     (la seconda parola va a capo)
|fanciullo         |
|_________ _|
Per facilitare l'immissione vorrei prelevare i valori da due caselle di
riepilogo
CASELLA DI RIEPILOGO 1
(mi elenca le materie --> es. matematica)
CASELLA DI RIEPILOGO 2
(mi elenca gli insegnanti --> es. fanciullo)
Sull'evento AfterUpdate() della casella di riepilogo MATERIE devo indicare
via codice che  la casella di testo che ha il focus
deve avere  il valore selezionato (quindi matematica)
Sull'evento AfterUpdate()  della casella di riepilogo INSEGNANTI devo
via codice andare a capo e copiare il valore selezionato (quindi fanciullo)
Qualcuno mi può dare qualche suggerimento su come scrivere il codice??
grazie

 ha scritto nel messaggio 
news:rjjfh.76817$Fk1.2...@twister2.libero.it...

Ciao,
pensi che con il codice seguente puoi farcela?
1 casella combinata con nome = casellamaterie
1 casella combinata con nome = casellainsegnante
1 textbox con nome = testomaterie
Private Sub casellamaterie_AfterUpdate()
     Dim materia As String
     Me.casellamaterie.SetFocus
     materia = Me.casellamaterie
      Me.testomaterie.SetFocus
      Me.testomaterie = materia
      Me.testomaterie.SelStart = 0
      Me.testomaterie.SelLength = Len(Me.testomaterie)
      Me.testomaterie.SetFocus
End Sub
---
Private Sub casellainsegnanti_AfterUpdate()
      Dim insegnante As String
      Me.casellainsegnanti.SetFocus
      insegnante = Me.casellainsegnanti
     Me.testomaterie.SetFocus
      Me.testomaterie = Me.testomaterie & Chr(13) & Chr(10) & insegnante
      Me.testomaterie.SelStart = 0
      Me.testomaterie.SelLength = Len(Me.testomaterie)
      Me.testomaterie.SetFocus
End Sub
---
Vedi se ti va bene...
Buona serata :-)

 ha scritto nel messaggio 
news:9Nkfh.76912$Fk1.2...@twister2.libero.it...

Prova ad iniziare a sbirciare sull'help di access ;-)
Notte :-) 

 > > Qualcuno mi puň dare qualche suggerimento su come scrivere il codice??

Ho provato funziona benissimo, ma c'č un problema che non hai considerato:
io ho diverse caselle di testo (quella che tu chiami me.testomaterie) una
affianco a l'altra
ti faccio un disegnino cosě sono piů chiaro:
   caselle di testo affiancate che stando al tuo esempio chiamerei
  testomaterie     testomatrie2      testomaterie3
____________________________________
 |matematica   |  francese        |  inglese             |
 |fanciullo        | baldo             | toni                   |
 |__________|___________|_____________|
ora il tuo codice funziona sulla casella di testo "testomaterie" ma
quando mi sposo sulle altre ???
Che mi consigli??
Grazie vito


Basta adattare quel codice ai vari controlli considerando che puoi 
selezionare ognuno di essi (x evidenziarne il contenuto) solo dopo aver 
passato il focus al controllo stesso nel seguente modo
Me.nomecontrollo.SetFocus
Se devi immagazzinare il valore di una combo o di un testo per copiarne il 
valore ti dichiari una variabile e gli passi il valore del controllo
Dim nometuavariabile
nometuavariabile= Me.nomecontrollo
e quindi per riportare il valore della variabile ad es. in una textbox 
procedi al contrario
Me.tuatextbox.SetFocus
Me.tuatextbox = nometuavariabile
Per quanto riguarda le selezioni di testo procedi con queste righe
Me.tuatextbox.SetFocus  'rendi attivo il controllo
Me.tuatextbox.SelStart = 0  'selezioni il testo dall'inizio
Me.tuatextbox.SelLength = Len(Me.tuatextbox) 'estendi la selezione alla 
parte scritta
E' abbastanza semplice e quindi se non devi gestire un'enorme quantità di 
textbox puoi procedere in questo modo ed iniziare a scrivere qualche riga di 
codice...
Notte :-)

 ha scritto nel messaggio 
news:rjjfh.76817$Fk1.2...@twister2.libero.it...

Se intuisco cosa ti serve, sei sulla strada sbagliata...
Ciao.
-- 
Sergio MAZZA 

 Grazie anche Sergio e Gasparre
Si usano le Classi per gestire gli eventi globali su MultiOggetti...!
Dai un'occhiata a questo demo... fa esattamente quello che chiedi, su
un'evento diverso
ma è la strada maestra...!
http://www.alessandrobaraldi.it/DettaglioFaq.asp?IdFAQ=157
@Alex

 
http://snipurl.com/14q5p
-- 
ac
y-1=x

>
Ciao,
non mi avevi parlato di 60 controlli e da come ti vedo ti consiglio 1 
approccio "morbido" alla classe che di x sè è affascinante e utile ma come 
le belle donne richiede un pò di attenzione ;-)
Ecco qualche link oltre agli altri già suggeriti:
http://www.vbsimple.net/index.htm?/howto/ht_000.htm
http://www.itportal.it/developer/vb/leclassi/
http://www.itportal.it/developer/algoritmi/access_vba/default.asp
http://support.microsoft.com/kb/198465/it
Buon lavoro :-)
Aspetto ancora Baldassare e Melchiorre ma è ancora presto ;-) 

 Grazie anche Sergio e Gasparre
Io non mi riferisco alla funzionalità che stai cercando ma al motivo per il 
quale la stai cercando.
Quando vedo che in campo si vuole scrivere due informazioni di natura 
differente (materia e docente) ma associabili tra loro, la cosa mi "suona 
male".
Mi suonerebbe meglio se, invece di utilizzare un campo per due informazioni 
ne utilizzi, sempre uno, ma per memorizzare l'identificativo del/dei 
record/s associati.
Io la vedrei così:
tabMaterie
- id, contatore, indicizzato (valori univoci);
- materia, testo.
tabDocenti
- id, contatore, indicizzato (valori univoci);
- nominativo, testo.
tabOrario
- id, contatore, indicizzato (valori univoci);
- idMateria, numerico, intero lungo;
- idDocente, numerico, intero lungo.
Utilizzando la tabOrario come origine dati della form e con le caselle di 
riepilogo con origine dati le rispettive tabelle (Docenti/Materie), hai 
creato la giusta relazione.
Nel tuo caso se hai sbagliato un nome di un docente, devi riscriverlo in 
tutta la tabella; nel mio esempio no, solo nella tabella tabDocenti.
Sempre se ho capito quello che vuoi fare...
Ciao.
-- 
Sergio MAZZA 

 ha scritto nel messaggio
news:elo9aq$dmc$1...@tdi.cu.mi.it...

Ho capito questo è l'approccio giusto..........il fatto strampalato nasceva
da un modello cartaceo riprodotto in una maschera (una cosa preseesistente).
Per una leggibilità esterna al database (immagina il modello stampato che
gira su carta) era importante che in una celletta (quindi con bordo esterno)
ci fossero racchiusi nel  i due dati (materia, insegnante).
Ora potrei benissimo reimpostare le tabelle come dici tu:
Ma poi cosa mi consigli per presentare o a report o a maschera i due
controlli con un bordo esterno???
Disegno in un report o in una maschera un rettangolo e dentro ci caccio i
controlli con bordo  invisibile???
Grazie Sergio

 Grazie Sergio
Il problema del report è un falso problema; la giusta visione è che il 
report sia interpretabile facilmente da chiunque lo legga, quindi non è 
detto che il vecchio disegno cartaceo sia la situazione migliore e da 
riprendere paro-paro. Mi sono scontrato molte volte con persone così 
assuefatte da moduli incomprensibili che ho fatto fatica a rimuovere delle 
cazzatine (righe, grassetti e spostamenti di valori); comunque il report che 
dovresti realizzare tu io lo farei con un report principale ed un 
sottoreport e il sottoreport lo puoi benissimo bordare.
La maschera? Fai una maschera associata alla tabOrario con le due caselle di 
combinate associate al campo idMateria e idDocente; e magari visualizzi la 
maschera a "foglio dati" o "maschere continue"...
Ciao.
-- 
Sergio MAZZA 

 ha scritto nel messaggio
news:elr8k8$cei$1...@tdi.cu.mi.it...

Grazie provo ciao