Gestione Sottomaschere

di
Anonimizzato13232
il
17 risposte

Gestione Sottomaschere

Esiste un metodo per visualizzare sottomaschere diverse in base ai dati presenti in un campo della maschera master?

17 Risposte

  • Re: Gestione Sottomaschere

    Si puoi fare quello che vuoi se hai le idee chiare....
    
    Me!sfcontrol.SourceObject = "MiaProssimaSottoMaschera"
    Me!sfcontrol.LinkChildFields = ""
    Me!sfcontrol.LinkMasterFields = ""
    Me!sfcontrol.LinkChildFields = "CampoInSottomaschera"
    Me!sfcontrol.LinkMasterFields = "CampoInMascheraPrincipale"
  • Re: Gestione Sottomaschere

    Traduco quello che @Alex ha scritto in termini codificati (non mi frustare per favore ).
    Partendo dalla maschera principale, in visualizzazione struttura puoi attaccare più sottomaschere. Ogni volta che attacchi/colleghi una sottomaschera, devi preoccuparti di impostare le proprietà:
    Collega campi secondari
    Collega campi master
    Di solito tali campi corrispondono esattamente al campo chiave primaria della tabella/maschera principale.
    Se devo essere sincero, non ho mai capito cosa succede, oppure che senso ha poter indicare altri campi.
  • Re: Gestione Sottomaschere

    E se ho più sottomaschere e quella da visualizzare è in funzione del valore contenuto nel campo causale? cioe la sottomaschera proposta/ visualizzata non deve essere sempre la stessa ma deve variare in base al valore contenuto nel campo delle maschere principale!
  • Re: Gestione Sottomaschere

    Potresti essere più esplicito, spiegando tutti i campi che entrano in gioco, caso per caso? Oppure qualche esempio non sarebbe male.
  • Re: Gestione Sottomaschere

    Certo!
    Maschera1. Campi: id_causale, causale
    Maschera2. Campi:Id_scadenza; ID_CAUSALE(CHIAVE EST), scadenza
    Maschera3. Campi:id_soggetto; ID CAUSALE (CHIAVE EST), soggetto

    La maschera principale è la Maschera1 le sottomaschere le altre 2.
    Durante la compilazione della Maschera1 vorrei che a seconda del valore contenuto nel campo causale venisse aperta in alternativa la maschera2 o maschera3 con il campo chiave esterna già compilato.
    TI ringrazio per la disponibilità, dovessi avere bisogno di ulteriori chiarimenti sono ben disponibile a fornirteli!
  • Re: Gestione Sottomaschere

    Potresti chiarimi di cosa parla il tuo database?
    Cosa significano i campi Causale, Scadenza, Soggetto?
  • Re: Gestione Sottomaschere

    Deve produrre la una prima nota contabile.
    il campo Causale può assumere il valore FATTURA RICEVUTA o FATTURA RICEVUTA E PAGATA
    a secondo del valore che assume questo campo dovra lanciarsi una maschera1 o maschera2 (problema risolto grazie ad una macro) con il campo chiave esterna compilato con la chiave primaria per evitare di doverlo inserire manualmete!
  • Re: Gestione Sottomaschere

    Attenzione. Comincio a sospettare che i due thread da te postati parlino lo stesso linguaggio. Io credo che ci sia un problema di impostazione tabelle a monte e non sia necessario complicarsi la vita con tutte queste maschere/macro ecc...
    Potresti farmi 3 esempi con FATTURA RICEVUTA e 3 con FATTURA RICEVUTA E PAGATA?
    Non vedo un campo IDFattura in tutto il discorso.
  • Re: Gestione Sottomaschere

    A prescindere dalla traduzione... non riuscita, il codice che ho proposto serve per cambiare la subform da codice a runtime, access non si gestisce in modalità struttura MAI.
    Ovviamente per farlo serve capire quali sono i parametri base.

    Quindi se vuoi cambiare completamente subform, sempre sia veramente la strada tecnicamente idonea, devi implementare i criteri e ripristinare il tutto personalizzando il codice come da mio esempio.
  • Re: Gestione Sottomaschere

    Alex purtroppo sono un contabile e non un informatico, con i codici ho difficoltà e riesco a lavorare solo in modalità struttura.

    Cambiare subform, è esattamente ciò che desidero fare e credo sia anche la strada giusta ( i programmi di contabilità con cui lavoro fanno questo), quello che non capisco è come fare a implementare i criteri e ripristinare il tutto personalizzando il codice.
  • Re: Gestione Sottomaschere

    Gli informafici esistono proprio per fare le cose che i Ragionieri non sanno fare....
    Scherzi a parte... se non hai un minimo di dimestichezza tale da capire quello che ti ho suggerito, significa che anche proseguendo a spiegarti non riusciresti a meno di scriverti TUTTO il codice, e questo non è proprio il presupposto del Forum sembrerebbe uno sviluppo privato e personale....
    Quindi se vuoi provare mettendoci del tuo, siamo qui ad aiutare.
  • Re: Gestione Sottomaschere

    Ciao Alex,
    mi dicevi che se avessi avuto le idee chiare sarei riuscito a fare ciò che volevo, sto provando quindi a schiarirmele!
    Potresti gentilmente indicarmi dove va inserito in VBA il codice che cambia la proprietà SourceObject del controllo sottomaschera (nell'esempio "sfcontrol") nella maschera principale?
  • Re: Gestione Sottomaschere

    A mio avviso dovresti gestire l'evento CURRENT di MASCHERA, nel quale puoi determinare la condizione che io non conosco per lo switch...!
    
    Private Sub Form_Current()
       If Me!NomeCampo=XXX Then
            Me!sfcontrol.SourceObject = "MiaProssimaSottoMaschera1"
            Me!sfcontrol.LinkChildFields = ""
            Me!sfcontrol.LinkMasterFields = ""
            Me!sfcontrol.LinkChildFields = "CampoInSottomaschera1"
            Me!sfcontrol.LinkMasterFields = "CampoInMascheraPrincipale1"
       ElseIf Me!NomeCampo=YYY Then
            Me!sfcontrol.SourceObject = "MiaProssimaSottoMaschera2"
            Me!sfcontrol.LinkChildFields = ""
            Me!sfcontrol.LinkMasterFields = ""
            Me!sfcontrol.LinkChildFields = "CampoInSottomaschera2"
            Me!sfcontrol.LinkMasterFields = "CampoInMascheraPrincipale2"
       End If
    End Sub
    Chiaramente devi sapere TU, e solo tu, cosa scrivere in quei testi per far funzionare la cosa...

    Rimango tuttavia MOLTO PERPLESSO che veramente serva una cosa simile... ho più il sospetto che tu abbia creato N SUBFORM in modo ERRATO... ma non ci hai dato modo di capirlo...
  • Re: Gestione Sottomaschere

    Ti ringrazio per la disponibilità! Provo a spiegarti cosa dovrebbe fare il mio database cosi da poter confermare la mia idea circa le n sottomaschere che ho creato!
    Durante la compilazione della tabella Prima Nota è necessario gestire diversi eventi identificati con il campo causale: es FATTURA RICEVUTA o FATTURA RICEVUTA E PAGATA o FATTURA PAGATA o EMESSA FATTURA o EMESSA E PAGATA FATTURA o PAGATO MUTUO o GIROCONTO.
    Se ad esempio consideriamo la gestione degli eventi che riguardano le fatture ricevute può capitare che la fattura sia solo ricevuta, in questo caso avra delle scadenze (unica o rateale) con dovranno essere registrate nella tabella scadenze che conterrà la chiave primaria della tabella prima nota.
    Se l'EVENTO è solo: PAGATA FATTURA SI DOVRà aprire la tabella scadenze che dovrà essere filtrata sulla base del fornitore e mi dovrà far vedere solo le scandenze non ancora pagate in maniera tale da modificare lo stato in pagato.
    Se l'evento è RICEVUTA E PAGATA dovrà essere consentita la compilazione dei restanti campi la tabella prima nota senza generzione di alcun evento.
    Che ne pensi ?
    Ps : ho trovato tuoi commenti anche in altri Forum è ho colto il tuo livello di preparazione, spero di riuscire a seguirti, scusa l'incompetenza!!!
Devi accedere o registrarti per scrivere nel forum
17 risposte