Newsgroup: it.comp.appl.access
Titolo: Settare la proprietà sourceobjcet di un report da VBA

Salve a tutti,
   come da oggetto volevo sapere come si può settare da codice VBA la 
proprietà sourceobject di un report.Grazie Mille a chi mi risponderà!!

 proprietà sourceobject di un report.Grazie Mille a chi mi risponderà!!
X Es. su evento apertura del report :
Me.Report.RecordSource = "Tua_Tabella/query"
-- 
Ciao
Pablitomf (Maurizio Facciuti)
Access : Ver.97 - 2K
----------------------------------
http://www.accessgroup.it/
http://www.sitocomune.com/
----------------------------------
Non mi fido molto delle statistiche, perchè un uomo con la testa nel forno
acceso e i piedi nel congelatore statisticamente ha una temperatura media.
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 proprietà sourceobject di un report.Grazie Mille a chi mi risponderà!!
E' da chiarire da dove vuoi eseguire la cosa:
Spero dal Report all'apertura:
Me!OggettoSubReport.SourceObject="Nome SubReport"
Presumo ti serva anche rivedere il collegamento Campi Master/Child
Questa cosa sui Report in ogni caso ti potrebbe creare grossi
problemi di Aggiornamento/Refresh dati.
Ciao
@Alex
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Alessandro Baraldi ha scritto:

Ciao, grazie per avermi risposto ma avevo provato a fare anche io come 
mi dici tu ma mi dice che in apertura del report non può settare questa 
proprietà del sottoreport, se riuscissi a risolvere questo problema 
riuscirei ad evitare di creare molti report distinti che nell'aspetto 
sono uguali ma nei sottoreport hanno caricato dei report diversi.Ciao 
spero in una soluzione di questo problema.

 spero in una soluzione di questo problema.
Devi assegnare l'origine sull'evento Open del Sottoreport (mente con le
SubForms puoi assegnare dinamicamente l'origine anche dalla Form Padre).
Ciao.

 
Mi potresti fare un esempio perchè non ho ben capito come fare. Tieni 
conto che ho un report padre con un report figlio che contiene a sua 
volta un altro report figlio. Io voglio settare la proprietà 
sourceobject in vba dei due sottoreport in modo che quando apro il 
report padre siano visualizzati i sottoreport desiderati.Grazie per 
l'aiuto fino ad ora e ne aspetto altri.Ciao!!

 l'aiuto fino ad ora e ne aspetto altri.Ciao!!
Mi viene il sospetto d'aver frainteso il problema.
Se devi cambiare solo SourceObject lo puoi fare su evento Open del report
principale.
La cornice oggetto sottoreport č un controllo appartenente al Report
principale...
Ciao.

 
Ciao,
   è proprio quando vado nella open del report principale che provo a 
cambiare il sourceobjcet del sottoreport mi da un errore dove mi dice 
che è impossibile impostare questa proprietà nell'apertura del report, 
io chiedevo se esiste un altro modo che a run-time da VBA possa settare 
questa proprietà.Grazie 1000.

 questa proprietą.Grazie 1000.
Non l'ho mai fatto su un Report, ma dovrebbe essere possibile.
Purtroppo i Report nonostante siano Classi simili alle Form
in realtą hanno vincoli strutturali molto differenti.
Prova ad eseguire la modifica dalla Form(Chiamate) subito
dopo aver aperto il Report.
Il problema che dovresti trovare poi č quello di non riuscire
ad effettuare il Refresh dello stesso.
Tieni sempre presente il discorso LinkChildFields, LinkMasterFields
Per questo si risolve in un'altro modo.
Docmd.OpenReport "NomeReport"
With Reports!NomeReport!NomeSubReport
   .SourceObject="TuoNuovoSource"
   .LinkChildFields = NULL
   .LinkMasterFields = NULL
   .LinkChildFields = "CampoInSottoReport"
   .LinkMasterFields = "CampoInReportPrincipale"
End With
' Ora dovrebbe essere fatto ma non Visibile ed Aggiornato
' visto che l'Oggetto Report non dispone del Metodo Requery
' occorre usare questo metodo:
With Reports!NomeReport
       If .Filter = vbNullString Then
             .FilterOn = True
             .Filter = " "
             .Filter = vbNullString
       Else
             .Filter = .Filter
             .FilterOn = True
       End If
End With
Prova la cosa se quadra.


 in realtà hanno vincoli strutturali molto differenti.
Però il cambio al volo di SourceObject su apertura Report funziona, l'ho
fatto qualche volta...
Ho la sensazione che il suo problema sia determinato dalla circostanza del
sotto-sotto report (esigenza francamente molto rara)..
Ciao.

 wrote in message
news:D3f7e.44400$
IN.7...@twister2.libero.it

Io sinceramente non ho mai fatto il cambio in Report, ma 
sviluppando quel Demo del mio sito per la Formattazione
Report(MDE) ci si è accorti che l'oggetto Report nel caso
in cui il SubReport non sia nel Corpo dà spiacevoli problemi
non comprensibili.
Il 3° livello di SubReport spero non sia solo raro ma che 
nessuno si sogni di usarlo, lo ritengo solo una complicazione
inutile, tuttavia è fattibile.
In questo caso poi non è ben chiaro si tratti del 3° livello
ma concordo con te che se il SubReport si trova nel Corpo
dovrebbe(deve) essere fattibile su Open, anche se la gestione
del parametro da passare con una versione A97 
che non consente OpenArgs non lo renderebbe poi così 
intuitivo obbligandoti all'uso di una Variabile 
Public per l'argomento, cosa che non amo moltissimo.
