Report da maschera con sotto maschera
Buongiorno.
Premetto che non sono espertissimo di VBA ma qualcosa mastico.
Utilizzando un DB esistente e adattato, funziona benissimo ma mi sono arenato sulla creazione di un report che deve estrarre i dati da un campo di una sotto maschera contenuta in una maschera, popolato da una query, anzi da 2 query relazionate.
Detta così non dice nulla ma provo a chiarire.
1) query 1 CONTATTI_ESTESI
Query su tabella NOMINATIVI dove esistono i campi
ID
Cognome
Nome.. (Non servono tutti gli altri campi)
SELECT IIf(IsNull([Cognome]),IIf(IsNull([Nome]),[Nome]),IIf(IsNull([Nome]),[Cognome],[Cognome] & ", " & [Nome])) AS Archivia_come, IIf(IsNull([Cognome]),IIf(IsNull([Nome]),[Nome]),IIf(IsNull([Nome]),[Cognome],[Nome] & " " & [Cognome])) AS [Nome contatto], Contatti.*, Contatti.ID
FROM Contatti
ORDER BY If(IsNull([Cognome]),IIf(IsNull([Nome]),[Nome]),IIf(IsNull([Nome]),[Cognome],[Cognome] & ", " & [Nome])), IIf(IsNull([Cognome]),IIf(IsNull([Nome]),[Nome]),IIf(IsNull([Nome]),[Cognome],[Nome] & " " & [Cognome]));
____________________________________________
2) query 2 VESTIARIO_ESTESO
Query su tabella VESTIARIO dove esistono i campi
VESTIARIO.Articolo
Proprietario
Data ritiro
ID (Non servono tutti gli altri campi)
SELECT VESTIARIO.*, VESTIARIO.Articolo, CONTATTI_ESTESI.Archivia_come
FROM VESTIARIO INNER JOIN CONTATTI_ESTESI ON VESTIARIO.Proprietario = CONTATTI_ESTESI.Contatti.ID
WHERE (((VESTIARIO.[Data ritiro]) Is Null Or (VESTIARIO.[Data ritiro])>=Date()))
ORDER BY VESTIARIO.Articolo, CONTATTI_ESTESI.Archivia_come;
---
a) Le 2 query sono relazionate 1 a 1 fra CONTATTI_ESTESI.Contatti.ID e VESTIARIO_ESTESO.ID.
Nella maschera primaria, DETTAGLI_NOMINATIVI_E_VESTIARIO, prelevo con la prima query tramite casella combinata (nome cboGoToContact), il valore Archivia_come che contiene Cognome e Nome uniti. (Query 1).
b) Passo il valore a una sotto maschera SOTTOMASCHERA_VESTIARIO_X_VOLONTARIO campo Proprietario con la query 2. Correlati sono Contatti.ID e Proprietario.
c) Quando la sotto maschera si popola di diversi articoli intestati al Proprietario scelto in maschera principale, (Cognome e nome),
come posso creare un report soltanto con QUEL dato cioè l'attuale Proprietario con i suoi articoli ?
Mi sono arenato perché il report continua a riportare a rottura di Proprietario tutti i proprietari e relativi articoli.
Ho utilizzato il comando DoCmd.OpenReport "TEST", acViewReport, , strScelta, e varianti
ma... sempre tutti i record.
Non riesco a capire cosa devo passare al report per avere soltanto il nome del Proprietario corrente con il materiale a lui assegnato.
Difficile essere chiaro al massimo ma..... Grazie.
Posso passare il Db volendo.....