Somma valori in sottomaschera da riportare in maschera

di il
10 risposte

Somma valori in sottomaschera da riportare in maschera

Buongiorno a tutti

ho una maschera A contenente una sottomaschera B. puntano entrambe alle rispettive tabelle con un rapporto di uno(A) a molti(B).

nella sottomaschera B c'è un campo X (quindi una colonna) la cui somma vorrei riportare in una casella di testo presente nella maschera A.

Ho creato una query che raggruppa il campo X a parità di ID ma non riesco a far puntare la casella di testo alla query.

mi potete aiutare?

Grazie

10 Risposte

  • Re: Somma valori in sottomaschera da riportare in maschera

    carlazza ha scritto:


    ...
    nella sottomaschera B c'è un campo X (quindi una colonna) la cui somma vorrei riportare in una casella di testo presente nella maschera A.
    Ho creato una query che raggruppa il campo X a parità di ID ma non riesco a far puntare la casella di testo alla query.
    Non con la query ma con un controllo calcolato (che potresti anche tenere nascosto) all'interno della sottomaschera che fa la somma di X. Nella maschera principale con origine dati
    =Me!NomeContainterSottomaschera.Form!NomeControlloCalcolato.Value
    Attenzione a non cadere nella stessa situazione di questo thread:
    https://www.iprogrammatori.it/forum-programmazione/access/funzione-dlookup-campo-calcolato-t31300.html
  • Re: Somma valori in sottomaschera da riportare in maschera

    (che potresti anche tenere nascosto)
    in che modo? ho provato con visualizza solo su stampa, ma niente


    nell'origine controllo del campo presente sulla maschera, se la scrivo così,
    =[Me]![Testo32].[Form]![testo10].[Value]
    dove testo32 è il campo della maschera e testo10 è il campo della sottomaschera

    mi dà errore : #Nome?
  • Re: Somma valori in sottomaschera da riportare in maschera

    carlazza ha scritto:


    nell'origine controllo del campo presente sulla maschera, se la scrivo così,
    =[Me]![Testo32].[Form]![testo10].[Value]
    Infatti non va scritto così. Non va usata alcuna parentesi quadrata (in questo caso, visto che i controlli hanno nomi senza spazi, di certo non per racchiudere Form e la proprietà Value). Poi ho anche qualche dubbio sulla correttezza nel nome dei controlli.
    Qui trovi una panoramica generale

    carlazza ha scritto:


    (che potresti anche tenere nascosto)
    in che modo?
    Nelle proprietà del controllo, Visibile = No
  • Re: Somma valori in sottomaschera da riportare in maschera

    Ho dato un'occhiata al link che mia hai dato. molto molto utile. grazie

    credo che la parte che mi riguardi sia questa
    Me! Subform1.Form! ControlName
    solo che Ho paura che io stia però fraintendendo il significato di "ControlName"

    nel mio caso testo32 è il nome del campo presente nella maschera(A), che dovra contenere testo10 che invece è il campo nella sottomaschera(B)
    che contiene una somma

    nel campo della sottomaschera il visibile = no non funziona. il campo si vede sempre(tra l'altro come colonna del foglio dati, è normale?)
    ho fatto la stessa prova sul campo della maschera e funziona.
  • Re: Somma valori in sottomaschera da riportare in maschera

    carlazza ha scritto:


    il campo si vede sempre(tra l'altro come colonna del foglio dati, è normale?)
    ho fatto la stessa prova sul campo della maschera e funziona.
    Il controllo dove si fa la somma nella sottomaschera deve essere inserito nel pié di pagina della sottomaschera, non nel corpo. Così si risolvono anche i problemi di visualizzazione e impostando la proprietà Visibile = No non lo vedi più.

    carlazza ha scritto:


    ...solo che Ho paura che io stia però fraintendendo il significato di "ControlName"
    Prima sistema quello che sta qui sopra poi questa parte viene di conseguenza.
  • Re: Somma valori in sottomaschera da riportare in maschera

    Se lo metto nel pié di pagina non me lo fa vedere proprio, a prescindere se imposto la proprietà Visibile o meno
  • Re: Somma valori in sottomaschera da riportare in maschera

    carlazza ha scritto:


    Se lo metto nel pié di pagina non me lo fa vedere proprio, a prescindere se imposto la proprietà Visibile o meno
    In visualizzazione "Foglio Dati" è normale che sia così, non vengono visualizzate le intestazioni e i pié di pagina ma vi si possono inserire i controlli in struttura e usarli proprio per una situazione di questo tipo. Ma a che ti serve vederlo nella sottomaschera? Hai già il controllo nella maschera principale che ne "pesca" il valore. (anche se potevo intuirlo, la prima volta in cui ho tirato in ballo la proprietà Visibile non sapevo che la sottomaschera fosse in visualizzazione foglio dati)
  • Re: Somma valori in sottomaschera da riportare in maschera

    Ah ok

    ad ogni modo, ho riprovato ma credo di sbagliare ancora qualcosa
    anche perchè le parentesi quadre le mette access non io.

    io la scrivo cosi
    =Me!Testo32.Form!testo14.value
    e dopo aver salvato me la trovo così
    =[Me]![Testo32].[Form]![testo14].[Value]]
  • Re: Somma valori in sottomaschera da riportare in maschera

    carlazza ha scritto:


    ...
    =Me!Testo32.Form!testo14.value
    ...
    Sicuro che il container (il controllo che contiene la sottomaschera) della sottomaschera si chiami Testo32? Se hai usato la composizione guidata o il "trascinamento" solitamente prende il nome della maschera che viene inserita come sottomaschera. Solo nel caso di interventi manuali del nome nelle proprietà del container c'è divergenza tra nome della maschera (che diventa sottomaschera) e container. In quel caso suggerirei di non chiamarlo Testo32, molto fuorviante. Verifica bene il nome del container della sottomaschera.
    Fa qualche prova magari con una maschera di test, molto semplice, con pochi controlli, creando con trascinamento la sottomaschera e guarda come si fa a riconoscere le proprietà dei vari controlli della maschera principale e come cambia la finestra delle proprietà quando selezioni in container e quando invece selezioni la sottomaschera. Vediamo se trovo una pagina in cui si spiegava bene come capire i diversi oggetti presenti in caso di sottomaschera.
    Eccola https://btabdevelopment.com/easy-way-to-remember-how-to-refer-to-subforms/
    Leggo in giro che potrebbero esserci problemi con l'uso del [Me!]. Prova a non metterlo, dopo aver verificato la correttezza di tutti i nomi, ovviamente e se il problema continua a prensentarsi
  • Re: Somma valori in sottomaschera da riportare in maschera

    Ecco dove sbagliavo

    per container pensavo intendessi il nome del campo nella maschera che avrebbe preso il valore del campo(invisibile) presente nella sottomaschera.

    ora ho capito.

    col Me! non funziona, senza si.
    =[SottomascheraPREST].[Form]![testo14]

    ho imparato un'altra cosa.
    Grazie
Devi accedere o registrarti per scrivere nel forum
10 risposte