Newsgroup: it.comp.appl.access
Titolo: maschere/sottomaschere e maschere esterne...

Ciao a tutti, cerco di esporre rapidamente il problema: ho una maschera
A(scrittori) che contiene una sottomaschera B(libri).
Scegliendo lo scrittore la sottomaschera mi elenca solo i libri dello
scrittore scelto.
Nell'intestazione di maschera A, ho creato una funzionalità che mi
permette di cercare lo scrittore a partire dalle  iniziali(in base alle
iniziali immesse nella casella di testo vengono elencati i nomi
corrispondenti in un listbox).Fin qui tutto ok!
Ho aggiunto un pulsante che mi apre una maschera per l'inserimento di
un nuovo scrittore.
Il nome dello scrittore aggiunto compare nel listbox ma non nella
maschera.Devo chiudere e riaprire la maschera per associare
correttamente il nuovo nome, come posso evitarlo?
Grazie e scusate la lunghezza del post.

 ha scritto nel messaggio news:1153468444.9...@i42g2000cwa.googlegroups.com...

[risposta]
Alla chiusura della form fai un requery della casella combinata sull'altra maschera:
es.
Forms!nomeCasella.Requery
Docmd.Close acform,
me.name
Ciao.
-- 
Sergio MAZZA 

 Sergio MAZZA
Grazie Sergio mi hai fatto venire un'altra idea: ho provveduto a
chiudere la form principale e riaprirla  alla chiusura della form
esterna ;)
Ciao.

 Ciao.
Secondo me è un metodo "dispendioso" in termini di risorse; la chiusura e riapertura della form ti costringe a rileggerti il 
recordset...
Ciao.
-- 
Sergio MAZZA 

 Sergio MAZZA
Ho fatto cosi perchè non ho ben capito quale era il tuo consiglio, se
me lo rispieghi accetto volentieri.Probabilmente non illustrato
chiaramente , ci riprovo :)
Le 2 maschere (A e B) fanno riferimento a 2 tabelle libro, scrittore.
Con un pulsante aggiungo un nuovo scrittore tramite una form
esterna.Chiusa la form esterna, lo scrittore compare nella listbox( è
stata da me aggiunta per vedere in modo veloce tutti gli scirttori
presenti ed esegue questa query
 SELECT scrittore.id_scrittore, scrittore.nome FROM scrittore WHERE
scrittore.nome Like forms!fat1!testo8 ORDER BY scrittore.nome;
Il problema è che tutti gli altri campi( caselle di testo ,
navigazione del db etc...) creati automaticamente da access tramite la
creazione guidata, sembra che non si accorgano della presenza del nuovo
scrittore, fin quando non chiudo e riapro la maschera.
Ciao

 ha scritto nel messaggio news:1153478110.4...@p79g2000cwp.googlegroups.com...
Ho fatto cosi perchè non ho ben capito quale era il tuo consiglio, se
me lo rispieghi accetto volentieri.Probabilmente non illustrato
chiaramente , ci riprovo :)
Le 2 maschere (A e B) fanno riferimento a 2 tabelle libro, scrittore.
Con un pulsante aggiungo un nuovo scrittore tramite una form
esterna.Chiusa la form esterna, lo scrittore compare nella listbox( è
stata da me aggiunta per vedere in modo veloce tutti gli scirttori
presenti ed esegue questa query
 SELECT scrittore.id_scrittore, scrittore.nome FROM scrittore WHERE
scrittore.nome Like forms!fat1!testo8 ORDER BY scrittore.nome;
Il problema è che tutti gli altri campi( caselle di testo ,
navigazione del db etc...) creati automaticamente da access tramite la
creazione guidata, sembra che non si accorgano della presenza del nuovo
scrittore, fin quando non chiudo e riapro la maschera.
Ciao
[risposta]
Oltre al requery della casella combinata dovrai posizionarti sul record appena aggiunto/creato:
es.
if me.dirty then me.refresh '<-- forza la scrittura del record
...requery casella combinata su form B...
Dim rst As Recordset
Set rst = Forms!B.RecordsetClone
rst.FindFirst "[id]=" & Me!id
If rst.NoMatch Then
    MsgBox "Non trovato."
Else
    Forms!B.Bookmark = rst.Bookmark
End If
set rst = nothing
...chiudi maschera...
Ciao.
-- 
Sergio MAZZA 

Ciao Sergio, non ci riesco. Se vuoi posso rendere disponibile il file
access.
Grazie, Marco
Sergio MAZZA ha scritto:


 ha scritto nel messaggio 
news:1153560892.0...@h48g2000cwc.googlegroups.com...
Ciao Sergio, non ci riesco. Se vuoi posso rendere disponibile il file
access.
Grazie, Marco
[risposta]
In cosa "non riesci"?
Ciao.
-- 
Sergio MAZZA 

>Forms!B.RecordsetClone mi da errore....ho provato anche varie combinazioni ma niente

ma niente
Forse la sintassi giusta č:
Forms!B.Form.RecordsetClone
Ciao.
-- 
Sergio MAZZA