Newsgroup: it.comp.appl.access
Titolo: Collegamento Report

Per necessità devo collegare ad un Db delle Tabelle che cambiano a seconda
del Db, purtroppo so, ma spero di sbagliarmi, che i report non si possono
collegare come le tabelle, qundi mi devo adeguare in altra maniera.
Ho fatto così cancello il report e poi lo importo da un altro Db che
contiene solo Report, ma qui nasce un altro problema quando trasformo il Db
in MDE questa operazione non è più possibile ( errore 29045 impossibile
importare modificare ecc.ecc.) come fare.
Voglio usare lo stesso Db ma con dei report diversi c'e' qualcuno che ha già
avuto lo stesso problema.
Ciao Ciao Enrico Pietrobon

"Blink S.n.c." wrote:

probabilmente la soluzione più veloce è quella di mantenere tutti i report in un
db separato da lo lanci con una procedure del tipo
Dim app As Application
Set app = New Application
app.OpenCurrentDatabase ("\\percorso\Report.mdb")
app.DoCmd.OpenReport "Fatture"
......
......
app.quit
naturalmente questo db deve contenere il collegamento a tutte le tabelle che
necessitano per comporre i report.
Un'altra soluzione è quella di crearti un database aggiunta (mda) che contenga
report (e quant'altro ti serva condividere), e registrarlo come aggiunta ai tuoi
db  in modo da avere sembre a disposizione il contenuto dell'aggiunta in tutti i
db a cui lo colleghi.
saluti
Paolo

 Paolo
Ciao e grazie per avermi risposto, ho provato con la tua prima soluzione, ma
ho avuto qualche problema, il comando esatto che ho è questo
    S = "Esercizio =" & Format(DataFattura, "yyyy") & " And NumFattura = " &
Str(NumFattura)
    app.OpenCurrentDatabase (Percorso & "\Stampe.mde")
    app.DoCmd.OpenReport "Fattura" ', acPreview, , S
    app.Quit
Quando viene eseguito il codice (app.docmd.ope....) appare il seguente
errore (2501 l'azione OpenReport è stata annullata).
Non sono riuscito in nessuna maniera a capire il perchè.
Per quanto riguarda la seconda possibilita non ho capito molto bene cosa
intendevi.
Ciao Grazie
Enrico Pietrobon

Enrico Pietrobon wrote:

non credo che dipenda dal modo utilizzato, a me funziona, sia con un file mdb
che con un mde.
guardando il tuo codice mi pare ci possa essere un errore sulla costruzione
della stringa criteri,
"Esercizio" è data o numerico? NumFattura è numerico o testo?
a seconda del tipo di campo cambia la composizione della stringa criteri (date
comprese tra #, testo compreso tra ').
inoltre con questo comando
 app.DoCmd.OpenReport "Fattura" ', acPreview, , S
tu mandi direttamente in stampa (c'è l'apice prima del preview) hai provato a
fare anteprima?
il file che contiene le stampe ha le tabelle che sottostanno ai report
collegate?
ciao
Paolo

 Paolo
Ti ringrazio ancora per la tua disponibilità.
Allora ho ricontrollato tutto nuovamente, o collegato le tabelle e ora
sembra che funzioni, il codice che ho usato è questo,
    S = "Esercizio =" & Format(DataFattura, "yyyy") & " And NumFattura = " &
Str(NumFattura)
    R = Percorso & "\Stampe.mdb"
    app.OpenCurrentDatabase (R)
    app.Visible = True
    app.DoCmd.OpenReport "Fattura", acViewPreview, , S
    app.Visible = True
    app.Quit
Esercizio e NumFattura sono campi numerici e funzionano, l'unico problema è
che una volta eseguito il codice "do.cmd.openReport..." il Db principale
continua con l'istruzione successiva chiudendo quindi l'appicazione così
facendo però vedo il nuovo db che si apre vedo il report ma subito dopo si
chiude tutto, ovviamente perchè il db principale esegue il codice
"App.Quit".
Come posso bloccare il codice, in modo che fino a quando non chiudo il
report interessato.
Ho pensato di passare una variabile da un db all'altro, ma a parte il fatto
che non so ne se si può ne come fare, anche se fosse come dovrei usarlo???
Enrico Pietrobon

 Enrico Pietrobons
se i report li mandi in preview, puoi evitare di mettere app.quit sul db
chiamante, e mettere la chiusura dell'applicazione nell'evento chiusura di ogni
report,
l'alternativa, come ti dicevo, potrebbe essere, la creazione di un'aggiunta,
ossia un db che contiene report, funzioni, tabelle ecc. che puoi collegare
tramite il gestore aggiunte (menu strumenti). Questo ti consente di avere a
disposizione, in qualunque db tu colleghi l'aggiunta tutte le 'risorse' presenti
nel db aggiunta. La procedura per crearla è un po complicata, ma è descritto nel
manuale di sviluppo di access(97), presente nella cartella
VALUPACK/ACCESS/BLDAPPS/MENU.HTM del cd di office.
(è in inglese)
ciao
Paolo

Ti ringrazio sei stato molto gentile.
Enrico