Aprire sottomaschera con pulsante

di il
5 risposte

Aprire sottomaschera con pulsante

Ciao a tutti,
stò cercando di realizzare un db con maschera d'inserimento dati a schede; quindi maschera principale e maschere collegate.
ora avevo la necessita di creare nella maschera, una scheda con pulsanti che mi aprisse le sottomaschere ( Mera questione di spazio, non volevo una schermata con 25 schede) ma non riesco a scrivere il codice, ( non ho le basi di Vb e conosco poco la sintassi) credo che parte del codice sia questo

Private Sub Comando200_Click()
On Error GoTo Err_Comando200_Click
Dim stDocName As String
WERE = "[ID_immobile]=" & Form![ID_immobile]
ma poi?...

ho provato anche ad usare una macro al pposto del codice, ma la maschera che apre non è collegata, quindi non ha relazione con la maschera principale.

se qualcuno ha un'idea, o mi può spiegare come fare...
grazie

5 Risposte

  • Re: Aprire sottomaschera con pulsante

    Credo che ti serve DoCmd.OpenForm, poi leggi qui
    https://docs.microsoft.com/en-us/office/vba/api/access.docmd.openform

    quindi
    Private Sub Comando200_Click()
    DoCmd.OpenForm "Nome sottomaschera", , , "[ID_immobile] = " & Me![ID_immobile]
    End Sub
    N.B.: Se il record di "maschera principale" è NuovoRecord (in fase di compilazione), la "maschera collegata" non è in grado ancora di leggerne il suo ID_immobile. Quindi ti consiglio di anteporre a DoCmd.OpenForm la riga
    DoCmd.RunCommand acCmdSaveRecord
  • Re: Aprire sottomaschera con pulsante

    Le sottomaschere non si aprono... sono gia aperte... e se hai correttamente impostato I CAMPI che legano Maschera e Sottomaschera affinché sia rispettata la relazione 1-M che deve esistere tra i dati di Maschera e Sottomaschera quello che stai dicendo ha veramente poco senso...

    Ti faccio anche presente che quand si deve INSERIRE o EDITARE l'idea di usare una Maschera indipendente è da preferire in quanto più semplice la gestione SINCRONA dell'inseeimento/modifica ed i conseguenti aggiornamenti a catena nella form chiamante.

    Penso tu abbia qualche cosa da chiariti come metodo... poi con qualche concetto più solido puoi anche avere una visione tua più personalizzata.... all'inizio, quando si hanno meno basi, conviene muoversi in modo più pulito per evitare danni.
  • Re: Aprire sottomaschera con pulsante

    OsvaldoLaviosa e @Alex, grazie per le risposte, ho trovato un soluzione funzionale, almeno in parte, ma i problemi non sono finiti.
    la maschera di sx fa riferimento alla tabella [pianiimmobile] le maschere di dx fanno riferimento alle relative tabelle; se faccio la somma dei relativi campi MQ della tabella come faccio a far scrivere il valore nella tabella [pianiimmobile]? ho provato con la query di creazione tabella, ma non mi permette di creare una tabella dove i sono delle somme, ho cercato un po' dappertutto, ma non trovo una risposta.
    ho provato a dare il percorso da origine riga, della tabella [pianimmobile] ma la la scelta diventa o una cobo o una casella di riepilogo. e con vb, non ne ho idea:(
    sapreste darmi un indicazione o un suggerimento ? grazie
    Allegati:
    23757_78024ca76b89822402cba2157db3192e.jpg
    23757_78024ca76b89822402cba2157db3192e.jpg
  • Re: Aprire sottomaschera con pulsante

    bobo1964 ha scritto:


    se faccio la somma dei relativi campi MQ della tabella come faccio a far scrivere il valore nella tabella [pianiimmobile]? ho provato con la query di creazione tabella, ma non mi permette di creare una tabella dove i sono delle somme
    I valori di calcolo non devono essere RISCRITTI nelle tabelle. Nelle tabelle risiedono solo i dati primordiali, ossia solo quelli che l'utente digita. Qualsiasi forma di calcolo va delegata alle query...o in apposite "caselle di testo" nelle maschere.

    Poi, non sarebbe tanto attinente alla domanda che hai posto inizialmente, ma l'immagine che hai postato mi insospettisce/inquieta dal punto di vista della NORMALIZZAZIONE.
  • Re: Aprire sottomaschera con pulsante

    Ciao Osvaldo, hai ragione, ho posto una seconda domanda su un post con un quesito diverso. chiedo scusa.
Devi accedere o registrarti per scrivere nel forum
5 risposte