Newsgroup: it.comp.appl.access
Titolo: 3.125 TreeView in puro VBA senza OCX

Salve a tutti.
Vorrei creare un menù ad albero. Ho letto diversi post e sono arrivato
all'esempio del sito comune di cui all'oggetto.
Quello che mi servirebbe è far aprire una maschera o un report sul
click o doppio click sulle voci cliccate (quelle con il segno >). Ho
creato una form "frmanagrafica" e nella maschera Treeview_Recordset ho
provato a mettere sul codice della casella di riepilogo su evento
DblClick anche:
Case "MAT001"
DoCmd.OpenForm "frmanagrafica"
ma non succede niente.
La domanda è: si può ottenere questo risultato implementando questo
demo nel mio db?
Un grazie anticipato e buon weekend a tutti.
Giuseppe.


Quel demo mi pare di conoscerlo.....  ;-)
Certo che si può... ma devi avere una preparazione un pò evoluta non è
banalissimo e
adeguarlo alle tue esigenze è un compito che solo tu puoi fare, dopo
averlo compreso.
@Alex

 Giuseppe.
Quel demo mi pare di conoscerlo.....  ;-)
Certo che si puň... ma devi avere una preparazione un pň evoluta non č
banalissimo e
adeguarlo alle tue esigenze č un compito che solo tu puoi fare, dopo
averlo compreso.
---------
e spiegaglielo jŕŕŕŕ! :D 

 e spiegaglielo jàààà! :D
Infatti Alex.
Grazie.


Nessun aiuto?
Per favore.
Grazie.
Giuseppe.

 Giuseppe.
Scusa Giuseppe ma che aiuto vuoi...?
La domanda era "Si può adattare quel demo al mio DB...?"
La risposta è stata SI, ma devi esserne capace...!
Sei capace...?
Se si allora devi metterti a lavorare conil VBA e la ristrutturazione
del codice...
Se no allora c'è ben poco da chiedere aiuto... se non trovi uno che ti
faccia il lavoro non ce ne vai fuori, ma questo è un'altro tema.
In che condizione sei...?
@Alex

 e spiegaglielo jàààà! :D
Ha fatto la BBBattuta... ;-)
Sai bene che io sono un pò pretenzioso da chi guarda le mie cose... in
pratica le dovrebbero guardare
solo quelli che non ne hanno bisogno perchè già capaci... ;-)
@Alex

 ha scritto nel messaggio 
news:031e3261-973b-43ab...@30g2000yql.googlegroups.com...


---------------
Mi hai costretto a scaricarlo.. sappilo!!! ;)
cmq, quanto hai scritto non ha senso, perchè il tuo "CASE" non potrà mai 
avere il valore che hai indicato perchè Elenco0.Column(3) contiene solo i 
segni "+", "-" e ">" (almeno così mi pare)... per cui non il CASE non si 
verificherà mai... quindi a limite il CASE va fatto con il ">", ovvero 
l'ultimo ramo figlio di un ramo padre. Stabilito che è un "figlio" (ovvero 
un ">") c'è da stabilire ora se nel testo c'è quel "MAT001"... per cui 
verifichi se in Elenco0.Column(0) che di fatto contiene il testo descrizione 
c'è il testo di cui prima, e se c'è fai quel che ti pare (io ho messo il 
msgbox, tu metterai l'apertura del form)....
Questo il codice:
    Select Case Elenco0.Column(3)
      Case "+"
        CaricaLista Elenco0.ListIndex
      Case "-"
        ScaricaLista Elenco0.ListIndex
      Case ">"
        If InStr(1, Elenco0.Column(0), "MAT001") > 0 Then
            MsgBox "OK"
        End If
      Case Else
     End Select 

Ha fatto la BBBattuta... ;-)
Sai bene che io sono un pò pretenzioso da chi guarda le mie cose... in
pratica le dovrebbero guardare
solo quelli che non ne hanno bisogno perchè già capaci... ;-)
-------------------------
uhauhauhauha
infamissimo... il brodetto della mensa ti ha fatto male negli anni... :D 

 infamissimo... il brodetto della mensa ti ha fatto male negli anni... :D
Si mi sto disintossicando con 2 mesi a casa.... ;-)
Certo che inizio ad abituarmi a questa noia... quasi quasi... mi metto
in infortuni a vita...!
;-)
@Alex

 ha scritto nel messaggio 
news:f398507b-cb64-4d01...@c16g2000vbp.googlegroups.com...

Azz... fai il "FINTO" infortunato?... fai come Bisio in Benvenuti al Sud?... 
quelli ti trasferiscono a Napoli per punizione (dove ovviamente troverai poi 
la tua pace) :D 

 ha scritto nel messaggio 
news:TyjAo.112682$Ua.2...@twister2.libero.it...

Alessà a proposito... tu  ti stai occupando di ASP.net vero?... se è così 
devo chiederti una cosuccia uccia uccia... quando puoi vai di MSN ;) 

 devo chiederti una cosuccia uccia uccia... quando puoi vai di MSN ;)
Assolutamente no... , non che non puoi chiedere, ma che non saprei
cosa risponderti... ho aperto Vb.Net ci ho giocato
una settimana, ed ho abbandonato, questo 6 mesi fà....
ASP.NET
 non sò nemmeno cosa sia... questa sera prendo una ASPirina...
se può servire ne ho una anche per te... ;-)
Scherzi a parte, non apro Access da 2 anni e come ti dicevo il
tentativo con NET è fallito al concepimento...
Non ho più tempo da dedicare alla programmazione quindi direi che
abbandono...
Ciao Maurizio.
@Alex

 ha scritto nel messaggionews:031e3261-973b-43ab...@30g2000yql.googlegroups.com...

Grazie Pablito, per l'aiuto. Non sono molto esperto ma con l'aiuto di
tutti voi guru di questo gruppo ho imparato tante cose.
Spero con questo tuo aiuto di riuscire ad attuare ciò da me sperato.
Appena ho un pò di tempo metto in pratica.
Grazie ancora.
Giuseppe.


Allora @Alex e Pablitomf.
Sono riuscito a capire il funzionamento della form TreeView_recordset.
Il problema è che se carico le tabelle, le query e le form  nel mio
db, su apertura mi dà errore sulla connessione
Set cn = CurrentProject.Connection
Il mio db è diviso in Be e Fe.
Come devo ricreare la connessione al mio db?


Il demo si basa di connessioni ADO... probabilmente le tue form
avranno codice che richiamano connessioni DAO... è questione di
riferimenti.


Grazie Pablitomf della risposta.
Purtroppo non conosco la differenza tra connessioni ADO e DAO.
Sicuramente la cercherò in rete, ma la domanda che ti pongo è:
se po fà o stesso.
Te la dico in napoletano anche se io non lo sono, ma se non ricordo
male lo sei tu e senza voler assolutamente sviolinare, per me i
napoletani sono gente simpatica.
Ciao e buon weekend.
Giuseppe.

 napoletani sono gente simpatica.
bhè in effetti non ti si può non attribuire il fatto che tu in gusti
sia di palato sopraffino... non è da tutti, complimenti! :D



Ciao Pablitomf.
Ho importato tutti gli oggetti nel database di esempio, facendolo
diventare il fe della mia applicazione ed ora funziona.
Solo una domanda:
ogni tanto la form treeview_Recordset, quando clicco su una voce, mi
dà questo messaggio di errore:
"errore di run time '3704': L'operazione non è consentita se l'oggetto
è chiuso".
Questo messaggio, quando avviene, avviene su tutte le voci esistenti
nella form. Sono costretto pertanto a chiudere dal pulsante di
chiusura e riaprire la form dall'elenco delle form. Come posso
individuare il problema? Se faccio debug, mi evidenzia in Vba
Rs_List.Move Idx   della Sub   Sub ScaricaLista(ByVal Idx As Long).
Grazie anticipate.
Saluti.
Giuseppe.

 wrote:

Usa un RS ADO disconnesso in memoria solo per rielaborare quello che
poi userà per associare un RS alla LISTVIEW.
Non c'azzecca nulla il fatto delle LINK_TABLE...
Mi viene il sospetto che non si sia capito bene come funziona o
sbaglio...!!!
Metti nei RIFERIMENTI Microsofr Activex Data Object 2.8, e riprova...
@Alex

 Metti nei RIFERIMENTI Microsofr Activex Data Object 2.8, e riprova...
Da quando sono passato da Access 2003 ad Access 2007 ancora ho
difficoltà con le voci dei menù. Ad esempio quella appunto dei
riferimenti che non riesco a trovare.
Scusa @ Alex l'ignoranza, ma li ho girati tutti ed ho provato anche su
Opzioni di Access ---> Database corrente.
Dove si trova la voce riferimenti?
Thanks.
Giuseppe.


Ok trovato. Dovevo vedere in Vba e non in Access.
Comunque la voce era già spuntata.
Giuseppe.

 Giuseppe.
Si infatti in A2007 ha mantenuto queste opzioni nello stesso posto di
A97...!
Se così era allora fai Debug seriamente e verifica cosa e perchè
restituisce errore...
Io ho il sospetto che tu abbia molto sottovalutato quel codice, e che
in realtà tu non lo abbia colto a pieno... ;-)
Ciao
@Alex

Rs_List.Move Idx   della Sub   Sub ScaricaLista(ByVal Idx As Long).
questo è quanto succede se clicco su debug.
Se ti è possibile indicarmi cos'altro controllare o modificare, ti
ringrazio anticipatamente.
Ciao.
Giuseppe.


A parte che quel codice ha qualche anno e non lo ricordo a memoria...
ma in quel demo devi sincronizzare la proprietà ListIndex
usata appunto per aggiornare il RS associato alla ListBox.
In quel caso la funzione di SCARICALISTA serve per chiudere
l'espansione del RAMO, quindi deve rimuovere dal RS gli Items sottesi
al nodo...
Il problema è che se hai strutturato diversamente i dati e non hai
capito per bene come funziona... non parliamo di nulla perchè l'errore
deve essere una banalità...
il codice è molto semplificato... ma il Debug lo devi fare da te...
@Alex