Newsgroup: it.comp.appl.access
Titolo: Controllo TreeView e maschere PopUp

Ho inserito un controllo TreeView Microsoft in una maschera al fine di
aprire, sull'evento click del nodo, una seconda maschera.
Sia la maschera con il TreeView che la seconda
hanno il PopUp attivo.
Il problema nasce nel momento in cui clicco sul nodo del controllo per 
consentire l'apertura
della seconda maschera.
Cioe: l'evento si verifica regolarmente, ma nonostante il PopUp attivo,
la maschera viene nascosta dietro quella contentente il TreeView.
Diversamente, utilizzando un pulsante di comando per l'apertura della stessa 
maschera
non riscontro alcun problema.
Soluzioni?
Grazie
Angelo 

 ha scritto nel messaggio 
news:fto2c4$gob$1...@aioe.org...

Subito dopo l'apertura della maschera scrivi:
docmd.selectobject acform, "NomeMaschera"
oppure sposta il focus fuori il treview...e poi apri la maschera.
Ciao, Carlo 

 Ciao, Carlo 
Ciao Carlo,
ho provato entrambi i suggerimenti, ma sembrano non funzionare.
Ti sarei grato se avessi  qualche esempio di codice funzionante
da postare.
Grazie, Angelo

 ha scritto nel messaggio 
news:ftokhl$ptn$1...@aioe.org...

Anche se non conosco il tuo codice, prova a seguire questa strada:
crea una variabile locale di tipo string (Dim NomeMaschera as string);
imposta l'evento "su Timer" della maschera a [Routine evento];
nel codice su timer scrivi:
DoCmd.OpenForm NomeMaschera
DoCmd.SelectObject acForm, NomeMaschera
Me.TimerInterval = 0
dove NomeMaschera può essere una variabile stringa (nome della maschera da 
aprire) o il TreeviewObject.Nodes(indice).Text
se questo restituisce il nome della maschera.
Sull'evento NodeClick del controllo TreeView scrivi:
NomeMaschera = Me.NomeControlloTreeView.Nodes(indice).Text
Me.TimerInterval = 200
Exit Sub
Puoi cambiare il codice a tuo piacimento rispettando la regola che 
l'apertura della maschera viene comandata sull'evento "su Timer" e subito 
dopo l'intervallo timer viene impostato su zero altrimenti va in loop...
Fammi sapere.
Ciao, Carlo 

 Sull'evento NodeClick del controllo TreeView:
Private Sub objTree_NodeClick(ByVal Node As Object)
If Node.Key = "Customers" Then
 DoCmd.OpenForm "Customers"
 DoCmd.SelectObject acForm, "Customers"
 Dim Maschera As String
 Maschera = "Anagrafe"
 Maschera = Node.Key
 Me.TimerInterval = 200
 Exit Sub
End if
Se il non ho interpretato male le tue indicazioni dovrebbe essere correto.
Purtroppo il risulatato è sempre lo stesso:
apertura della maschera  dietro la principale, cioè quella contenete il 
TreeView.
Ciao
Angelo 

 Sull'evento NodeClick del controllo TreeView:
Private Sub objTree_NodeClick(ByVal Node As Object)
If Node.Key = "Customers" Then
 DoCmd.OpenForm "Customers"
 DoCmd.SelectObject acForm, "Customers"
 Dim Maschera As String
 Maschera = "Customers"
 Maschera = Node.Key
 Me.TimerInterval = 200
 Exit Sub
End if
Se non ho interpretato male le tue indicazioni dovrebbe essere corretto.
Purtroppo il risulatato è sempre lo stesso:
apertura della maschera  "Customers" dietro la principale, cioè quella 


> Exit Sub
Ciao Carlo,
credo di aver risolto impostando l'intervallo ad un valore più alto:
Me.TimerInterval = 500
In questo modo la form si apre normalmente.
Grazie per l'aiuto
Angelo 

 ha scritto nel messaggio 
news:ftq73g$epv$1...@aioe.org...

Benissimo.
Proverei con intervalli più rapidi, 250, 350 o 400 in modo da accelerare il 
processo di apertura.
500 è uguale a mezzo secondo, 100 è uguale a un decimo di secondo.
Ciao, Carlo