Newsgroup: it.comp.appl.access
Titolo: AXP - Evento di attivazione di un mdb/mde riferito.

Ciao!
Stavolta tocca a me chiedere aiuto & lumi.
 
Ho un mdb (DB0) in cui ho inserito il riferimento ad un altro mdb
(DB1, che potrebbe, in futuro, diventare un mde).
 
Cio' di cui avrei bisogno e' far partire del codice nel DB1 nel
momento in cui viene attivato.
 
E che sia attivato e' dimostrato dalla creazione del file DB1.LDB nel
momento in cui apro il DB0.
 
Ho provato mettendo in DB1 prima una form in avvio automatico, poi la
macro AutoExec, ma la msgbox che mi segnala l'avvio del db riferito
non salta fuori.
 
Vero è che potrei, dal DB0, richiamare una funzione pubblica del DB1
che faccia il tutto, ma per varie ragioni e' una strada che preferirei
evitare di seguire, cosi' da lasciare ad Access il compito di fare
tutte le sue cose (anche perche' mi viene il dubbio che possa esserci
anche qualche cos'altro che non viene eseguito/inizializzato nel db di
libreria, e vorrei evitare sorprese future).
 
Avete qualche idea in proposito?
 
Popi

 momento in cui viene attivato.
Cosa intendi con "nel momento in cui viene attivato"?.
A logica dovrebbe essere attivato in partenza (collegato, non a caso se 
non c'e' appare il famoso "MANCA"). Le sue risorse dovrebbero 
(condizionale perche' non lo so) poi essere usate quando servono e solo 
se richieste dal clienta (MDB FE), la logica mi direbbe questo.
 
 
-- 
 
ac (x=y-1)


wrote:

Attivato nel senso di:
- DB0 cerca DB1 e lo "collega",
- Access scatena un evento "Initialize" che dice "DB1, sei stato
collegato".
 
Popi


Non è possibile, confondi Access(CLIENT) che espone eventi su Oggetti
e JET(Server o Engine di DB)...!
 
Potresti farlo se tu realizzassi ServerSide(BE) la routine di LINK, ma
sarebbe una mezza Bufala, in quanto dovresti fare la procedura al
contrario, quindi dal FE chiami la funzione sul BE che istanzia
un'oggetto Databae riferito al FE e gestire le LINKED...
 
Mamma mia...
 
@Alex


Belin, oggi mi spiego da cani!!!
 
Dato che avrei bisogno, tutte le volte che apro un (una serie di) mdb,
di far partire alcune routine che, fra l'altro, impostino un po' di
SetOption, giochino con le CommandBar, verifichino la presenza di
determinate TableDef e QueryDef (o le creino, se mancanti), avevo
pensato di piazzare tutto l'ambaradan all'interno di un mdb esterno da
piazzare nei riferimenti del mdb in esame in quel momento.
 
Ci riprovo: sapete se a livello di db esiste un evento "Open" che
potrei filtrare per determinare nel DB1 se è stato aperto?
 
Popi


Io mi limiterei a chiamare il tutto da uno startup() del FE.
Se proprio voglio essere preciso prima controllo che la "Libreria" sia 
presente (e attiva, quindi "aperta" come dici tu) fra i references.
Oppure, come spinge a fare @Alex "LateBinding", fare un "LateBinding" 
che non sarebbe altro che l'apertura che cerchi comandata a piacere dal FE.
 
-- 
 
ac (x=y-1)

 ha scritto nel messaggio 
news:b95af22b-0fcc-4434...@u10g2000yqk.googlegroups.com...
Ciao!
Stavolta tocca a me chiedere aiuto & lumi.
 
Ho un mdb (DB0) in cui ho inserito il riferimento ad un altro mdb
(DB1, che potrebbe, in futuro, diventare un mde).
 
Cio' di cui avrei bisogno e' far partire del codice nel DB1 nel
momento in cui viene attivato.
 
E che sia attivato e' dimostrato dalla creazione del file DB1.LDB nel
momento in cui apro il DB0.
 
Ho provato mettendo in DB1 prima una form in avvio automatico, poi la
macro AutoExec, ma la msgbox che mi segnala l'avvio del db riferito
non salta fuori.
 
Vero č che potrei, dal DB0, richiamare una funzione pubblica del DB1
che faccia il tutto, ma per varie ragioni e' una strada che preferirei
evitare di seguire, cosi' da lasciare ad Access il compito di fare
tutte le sue cose (anche perche' mi viene il dubbio che possa esserci
anche qualche cos'altro che non viene eseguito/inizializzato nel db di
libreria, e vorrei evitare sorprese future).
 
Avete qualche idea in proposito?
 
Popi
--------------------------------
 
Se il DB1 contiene le tabelle da collegare al DB0 allora quando le tabelle 
nel DB0 sono collegate vuol dire che il DB1 č attivo.
Praticamente quando apri il DB0 crea una routine che ricollega tutte le tab. 
collegate, se tutto funziona allora...il db1 č stato avviato.
 
Ciao, Carlo