Newsgroup: it.comp.appl.access
Titolo: Maschera con sottomaschera e report

Salve a tutti,
ho creato una maschera con una sottomaschera, un report con relativo
sottoreport.
Ho creato un pulsante comando per la stampa di un record per volta in VBA
cosě:
    Dim stDocName As String
    Dim stLinkCriteria As String
    stDocName = "Ordini"
    stLinkCriteria = "[ID] = [Forms]![Ordini]![ID]"
    DoCmd.OpenReport stDocName, acNormal, , stLinkCriteria
Il mio problema č che la maschera mi stampa un record per volta ma non so
come comportarmi per la sottomaschera perchč questa stampa tutti i record.
Come posso fare per creare una sottomaschera con casella combinata per
gestire l'indirizzo dei clienti e che lo stesso comando sopra mi stampi nel
report un record alla volta sia nella maschera che nella sottomaschera
riportando cosě l'indirizzo scelto dalla casella combinata.
Un grazie a tutti

 ha scritto nel messaggio
news:99e2mu$72t$1...@nreadA.inwind.it...

Io proverei scrivendo correttamente i criteri, ovvero:
stLinkCriteria = "[ID] =" & [Forms]![Ordini]![ID]
e se il pulsante č contenuto nella maschera Ordini:
stLinkCriteria = "[ID] =" & Me![ID]
naturalmente dando per scontato che il controllo ID sia associato ad un
campo di tipo numerico o contatore.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 wrote in message
pwbu6.8871$bw6.1...@news.infostrada.it...

Ok, ma non ho risolto il mio problema, in quanto la sottomaschera continua a
stamparmi tutti i record e non quello che voglio io, devo creare un campo da
associare alla maschera e dare qualche comando in VBA?

 wrote in message ...



Io ho capito che:
1) Hai una tabella tblOrdini in relazione uno-a-molti con una tabella
tblDettagli tramite i campi ID.
2) Hai una maschera MaskOrdini che ha come origine record tblOrdini e che
contiene una sottomaschera che ha invece come origine record tblDettagli.
Sicuramente nelle proprietà Collega campi secondari e Collega campi master
del controllo sottomaschera contenuto in MaskOrdini hai scritto ID (e se non
l'hai scritto tu, l'avrà fatto l'autocomposizione di Access).
3) In MaskOrdini è inserito un pulsante di comando che serve ad aprire il
report Ordini e a fronte dell'evento "Su clic" del pulsante di comando hai
generato il odice VBA di cui abbiamo discusso nei messaggi precedenti.
Se le cose stanno così, a mio modesto parere occorre che:
a) Il report Ordini deve avere come origine record tblOrdini.
b) Il report Ordini deve contenere nel corpo un sottoreport che ha come
origine record tblDettagli
c) Nelle proprietà Collega campi secondari e Collega campi master del
controllo sottoreport contenuto nel report Ordini hai DEVI scrivere ID.
A questo punto dovrebbe funzionarti tutto.
A mio avviso tu non hai fatto quanto ho indicato nel punto c); se non scrivi
nulla in quelle due proprietà, stamperai nel sottoreport sempre TUTTO il
contenuto dell'oggetto che è origine record del sottoreport stesso.


 wrote in message
6flu6.11685$bw6.1...@news.infostrada.it...

Innanzitutto ti ringrazio per aver risposto così tempestivamente:
ho capito tutto, ma scusa la mia ignoranza, non riesco a trovare nelle
proprietà: Collega campi secondari e Collega campi master sia nella maschera
che nel sottoreport


[CUT]

Le due proprietà in questione sono relative o ad un CONTROLLO sottomaschera
contenuto in una maschera principale o ad un CONTROLLO sottoreport contenuto
in un report (fai attenzione che ho scritto controllo sottomaschera e non
sottomaschera e controllo sottoreport e non sottoreport).
Nel mio esempio che ti ho postato nel messaggio precedente, per vedere le
due proprietà relative ala controllo sottomaschera devi:
1) Aprire la struttura di MaskOrdini.
2) Evidenziare con il mouse sul controllo sottomaschera.
3) Aprire dalla barra dei comandi la finestra delle Proprietà (se non è già
aperta).
4) Selezionare sulla finestra delle Proprietà la scheda Dati.
5) La seconda e terza riga in elenco sono relative alle due proprietà in
questione.
che per vedere quelle relative al controllo sottoreport diventa:
1) Aprire la struttura del report Ordini.
2) Evidenziare con il mouse sul controllo sottoreport.
3) Aprire dalla barra dei comandi la finestra delle Proprietà (se non è già
aperta).
4) Selezionare sulla finestra delle Proprietà la scheda Dati.
5) La seconda e terza riga in elenco sono relative alle due proprietà in
questione.


 wrote in message
Kmru6.3332$dJ6....@news.infostrada.it...

Ho trovato e provato il tutto, risultato che ora la sottomaschera è
collegata all'id della maschera,
idem sottoreport, cioè se ID della maschera è su 10, anche ID della
sottomaschera segna 10 e la casella combinata non funziona più. Io vorrei
poter scegliere a piacimento l'ID della sottomaschera,
esempio: se ID maschera è su 10, la sottomaschera mi deve dare la
possibilità di scegliere qualsiasi ID con una casella combinata e stamparmi
nel report quello scelto.
Grazie del tempo perso, si può fare?


Certo che si può fare.
Penso che però vale la pena di chiudere questo thread, visto che, sullo
stesso problema, ne hai aperto un altro più circonstanziato oggi alle 12:12
che ha per subject "Indirizzi clienti".
Per non creare inutile confusione, andiamo avanti con quello.
Forse valeva la pena andare avanti con questo.
