Condividi tramite

maschere e sottomaschere in access 2016

Anonimo
2017-09-22T13:03:35+00:00

Muovo i primi passi nella costruzione di un database e chiedo scusa per le inesattezze del linguaggio (e non solo!).

Ho quattro tabelle: T1, T2, T3, T4. L'ID di T1 è chiave esterna in T2 e T3 e T4.

Ho creato la maschera M4, derivata da T4.

Attraverso "creazione guidata maschera" ho costruito la maschera M1, derivata da T1, di cui Sm2, derivata da T2, è sottomaschera.

Le ho organizzate attraverso "controllo struttura a schede". Successivamente, inserendo una nuova pagina, ho provveduto a costruire la sottomaschera Sm3, derivata da T3.

In T3 e quindi in Sm3 è presente un campo Sì/No. 

Ho dotato Sm3 di un pulsante che, a richiesta, dovrebbe portarmi al corrispondente record di T4 tutte le volte che il citato campo assume valore Sì. La macro costruita non risponde come io vorrei: si apre una finestra in cui mi si chiede l'ID di T3. Vorrei evitarlo.

Chiedo aiuto. Grazie

Matelda

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

6 risposte

Ordina per: Più utili
  1. Anonimo
    2017-09-24T14:40:51+00:00

    Gentilissimo Sandro,

    ho provato ma non so proprio come fare e la mia inesperienza è tanta quanto... la mia cocciutaggine! La tua demo è molto interessante e la terrò presente dovessi rivedere tutto il mio progetto. Per quanto riguarda la difficoltà incontrata, cerco di spiegarmi così:

    • Tutto funziona se nella maschera M3 inserisco un pulsante collegato dove la condizione WHERE è la seguente [ID4]=[Maschere]![M3]![ID3]. Riesco a raggiungere la maschera M4 e il giusto record.
    • Non altrettanto succede se nella sottomaschera Sm3 eseguo la stessa operazione: inserire un pulsante collegato dove la condizione WHERE è la seguente [ID4]=[Maschere]![Sm3]![ID3].

    Sicuramente, ammesso che si possa fare, non riesco ad azzeccare la sintassi giusta operando da una sottomaschera.

    Posso chiederTi un ulteriore aiuto? Grazie e buona domenica,

    Matelda

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2017-09-23T16:34:44+00:00

    ciao Matelda,

    prova a scaricare questa demo.

    Apri la form maschera1 e muoviti nella subForm prodotto del tab categoria prodotti, e poi spostati nel dettagli.

    Il puntatore del record ti mostra il prodotto su cui eri posizionata nella subForm prodotti.

    Facci sapere.

    Ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2017-09-23T12:15:09+00:00

    Ciao, Sandro! Mi sono impegnata ma con scarsi risultati.

    Mi restituisce - per adesso - un messaggio di errore in corrispondenza di Me.MPK.

    Quindi ho bisogno del Tuo/Vostro aiuto. Resto in attesa di suggerimenti. Grazie, Matelda

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2017-09-22T15:21:28+00:00

    Grazie, Sandro!

    Mi ci metto a lavorare. Forse sarà un po' dura, comunque ti faccio sapere anche per ulteriori aiutini...

    A dopo, Matelda

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2017-09-22T15:05:38+00:00

    ciao Matelda,

    se ho inteso per bene lo scenario io proverei a sincronizzare la subFom che hai in una delle tab con la form nell'altra tab su corrente della subForm :

    Dim frm As Access.Form

    Set frm = Me.Parent.Parent![tuasubForm].Form

    frm.RecordsetClone.FindFirst "idFK=" & Me.MPK

    If Not frm.RecordsetClone.NoMatch Then

        frm.Bookmark = frm.RecordsetClone.Bookmark

    End If

    Set frm = Nothing

    in tal modo spostandoti da una tab ad altra sincronizzi la subForm con la form.

    Facci sapere se ti serve altro aiuto, se sei all'inizio la soluzione proposta potrebbe essere un po' ostica.

    Ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento