Newsgroup: it.comp.appl.access
Titolo: Modificare origine Record report

Ciao a tutti!
Mi piacerebbe modificare l'origine report di un report in modo da non creare
due oggetti report praticamente uguali. Il fatto è che il report viene
aperto da due maschere diverse e quindi la modifica dell'origine record del
report deve avvenire su comando da apposito tasto: ho provato a impostare la
proprietà RecordSource prima dell'apertura del report, ma mi dà oggetto  non
aperto, mentre se cerco di impostarla dopo l'apertura del report mi dice che
non è possibile modificare il RecordSource di un report aperto!
Come si può fare?
Grazie e ri-ciao!

 wrote in message
news:UA9Pa.15254$
qa5.3...@news2.tin.it

Se tu basi l'origine dati su di una QRY la cosa ti risulta
molto più agevole.
Ti basta modificare il predicato SQL della QRY e poi aprire il
Report.
Currentdb.Querydefs(NomeQuery).SQL="SELECT * FROM......."
Docmd.OpenReport.......
Ciao.
@Alex.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ha scritto nel messaggio
news:UA9Pa.15254$qa5.3...@news2.tin.it...

In un modulo del tuo database dichiarati una variabile pubblica booleana
chiamata Pippo:
Public Pippo As Boolean
Prima di aprire il report dalla prima maschera imposta a True la variabile
Pippo; impostala invece a False prima di aprire il report dall'altra
maschera.
Se l'origine record del report quando lo apri dalla prima maschera deve
essere Tabella1 e deve essere Tabella2 quando lo apri dalla seconda
maschera.
A fronte dell'evento "Su apetura" del report genera il seguente codice VBA:
Private Sub Report_Open(Cancel As Integer)
If Pippo = True Then
    Me.RecordSource = "Tabella1"
Else
    Me.RecordSource = "Tabella2"
End If
End Sub
-- 
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


soluzione perfetta anche per me che ho lo stesso problema con due maschere
Due domande:
1) qual'č la sintassi per fare riferimento alla variabile nel modulo?
2) se al posto di due report me ne servissero tre o piů, cosa si potrebbe
usare al posto del boolean???
Ciao
Marco

 Marco


 Ed ora quale sarebbe la nuova situazione?
Volevo dire se devo aprire una maschera (o un report) impostando TRE o più
origini diverse
non potremmo usare boolean che accetta solo True o False. Possiamo usare un
altro tipo (es. variant)
ed imppostargli i valori oppure dobbiamo cercare altre strade??
Ciao
Marco


 impostare per esso due origini record diverse.
[cut]
Buon giorno
scusate se mi intrometto, sto lavorando da un po' su un problema
analogo, solo che il report come dice Roberto è sempre lo stesso, al
suo interno vi sono sempre gli stessi sotto-report ed entrambi (report
principale e vari sottoreport) traggono origine da tabelle (identiche
nella struttura), scelte di volta in volta attraverso una combo sul
cui evento "dopo aggiornamento" si imposta automaticamente una qry di
selezione sulla tabella selezionata. Il problema che incontro è che,
"dopo aggiornamento" della combo i controlli del report principale  si
aggiornano, mentre i controllo dei singoli sottoreport mantengono i
valori della selezione precedente. Se può essere d'aiuto a chiarire la
mia situazione:
Tabella mensile xx1
mese 
Nr. telefonico chiamato
importo
report principale    ----> totale fattura del mese ... origine strSQL
da Tabella mensile xx1
sottoreport1 ----> totale fatturato per prefisso 330 ... origine
strSQL330 da Tabella mensile xx1
sottoreport2 ----> totale fatturato per prefisso 348 ... origine
strSQL348 da Tabella mensile xx1
ecc...
Spero di non aver abusato della vs. pazienza
Grazie di cuore se vorrete darmi una mano
Andrea

 ed imppostargli i valori oppure dobbiamo cercare altre strade??
Io dichiarerei la variabile pubblica Pippo di tipo String:
Public Pippo As Sring
Quindi, prima di aprire la maschera memorizzerei in tale variabile il nome
dell'origine record che voglio usare:
Pippo = "Tabella1"
oppure
Pippo = "Tabella2"
oppure
Pippo = "Tabella3"
ecc. ecc.
Quindi a fronte dell'evento "Su apertura" del report (o della maschera)
genera il seguente codice VBA:
Me.RecordSource = Pippo


 ha scritto nel messaggio
news:4fae75e.03071...@posting.google.com...

Onestamente non ho capito bene cosa tu voglia fare: le origini record dei
sottoreport devono restare gli stessi?
Comunque prova a fare un requery dei controlli sottoreport.



Spiegazioni perfette.
l'unico problema è che non so assegnare il valore alla variabile.
Le operazioni che ho fatto:
1) In un modulo ho scritto:
            Public ValoreDettagliCliente  As boolean
2) Sull'evento CLICK del pulsante "Dettagli" (che mi apre la maschera
"DettagliCliente")  ho scritto;
        Set ValoreDettagliCliente  =  False
    A questo punto mi da errore di compilazione: NECESSARIO OGGETTO
Non so se ho dichiarato bene la variabile nel modulo (che si chiama MODULO1)
e non so se gli faccio correttamente riferimento
Grazie per la pazienza
Marco

 Marco
-- 


Grazie,
provo e ti faccio sapere

Non ho ancora visto nuovi post ho comunque risolto usando un po' di
meningi sui suggerimenti di Roberto:
praticamente ho registrato tante variabili Public (compreso la
variabile destinata ad accogliere la stringa SQL come recordsource del
report principale), in un modulo del database quante sono i
sottoreport contenuti nel report principale, ad ogni sottoreport su
"apertura" ho assegnato la relativa stringa SQL (per filtrare i totali
individuali di un prefisso chiamato) attraverso la relativa
variabile... Evviva funziona!!
risultato per ogni merse riesco attraverso una combo ad attribuire
allo stesso report (standard) di volta in volta i totali di spesa
("filtrati" da tabelle mensili) relativi ad ogni prefisso chiamato.
lo so' non sono molto chiaro nell'esposizione, prima di andare in
pensione spero di risuscire ad imparare la linearità e la chiarezza,
che leggo con molto interesse nei poste dei "Nonni" del NG.
Grazie cmq a Roberto  e tutto il NG

 ha scritto nel messaggio
news:xhzPa.165425$Ny5.4...@twister2.libero.it...

Ho provato dichiarando per  Pippo in un apposito Modulo sia valore di
Integer sia quello di String così:
Public Pippo As Integer
oppure
Public Pippo As String
e funzionano!
Basta assegnare in qualunque Sub un valore a Pippo così:
Pippo = 1 (o altro numero se Pippo è Integer)
oppure
Pippo = "quellochetipiace" (se Pippo è String)
e poi uno ci fa fare quello che vuole!
Penso che la possibilità di utlizzare questa Varibile Pubblic sia veramente
utilissima!
Un grazie sentito a tutti, ho visto che la mia domanda ha scatenato dei
bellissimi botta e risposta: eccezziunale veramente!!!!
Buon WeekEnd a tutti, anche se io dovrò lavorare!