Come propagare modifiche archivi base su form attive ?

di il
4 risposte

Come propagare modifiche archivi base su form attive ?

Il classico gestionale bolle/fatture
La form per l'inserimento/modifica fatture prevede ovviamente anche delle combobox per la selezione anagrafica cliente
Ci sono ovviamente altre form che prevedono la selezione cliente da combobox
Avviando una schermata per l'inserimento di un nuovo cliente o l'aggiornamento di un cliente esistente, si pone il problema di come/quando aggiornare le combobox presenti nelle form1 e form2....formX
Come fareste per aggiornare i dati sulle combobox form1 e form2....formX?

Quindi la domanda e': dato un numero variabile di form (ddt/ordini/fatture/...) che utilizzano dati da archivi che possono venire aggiornati da un numero variabile di form (l'archivio clienti posso aggiornarlo sia dalla schermata 'clienti' che da 'clienti rapida' o altre), come fare per propagare l'aggiornamento di un archivio base su tutte le form utilizzatrici aperte in questo momento?

Il problema e' generale perche' in un certo momento possono essere aperte diverse form che utilizzano degli archivi base, modificando uno o piu' record da questi ultimi le modifiche devono potersi vedere istantaneamente sulle form aperte

Ho provato con delle variabili globali ma non funziona, nel senso che settare un flag nella schermata dove aggiungi un articolo, poi leggere quel flag nell'evento Activate della form che lo usa, consente si di aggiornare le combobox contenenti articoli
Pero' poi il flag verrebbe resettato ed eventuali altre form aperte non potrebbero sfruttarlo
Forse c'e' una soluzione elegante per risolvere il tutto
Come fareste voi?

4 Risposte

  • Re: Come propagare modifiche archivi base su form attive ?

    C'è qualcosa di confusionario nella descrizione che non riesco ad afferrare. Quando lavori con le maschere, caselle combinate e successivi "aggiornamenti", tali aggiornamenti si ripercuotono sulle tabelle sottostanti. Perché ti ritrovi ad avere MOLTE maschere aperte che puntano sugli stessi dati? Fornisci più dettagli con nomi propri e facci capire una situazione "tipo".
  • Re: Come propagare modifiche archivi base su form attive ?

    Potresti utilizzare nei form l'evento timer (magari impostato ogni secondo) per poi fare il requery di quello che vuoi che si aggiorni (form / combobox) ......
    Ma poi sei sicuro che sia vantaggioso per l'utente vedersi cambiare i dati mentre sta a sua volta modificando i dati (ovviamente mi riferisco alle modifiche effettuate da altri utenti)? Forse può essere sufficiente un pulsante/spia che si illumina (cambia colore / compare una scritta) che informa che i dati sono stati modificati e che premendolo effettua un requery della base dati.
  • Re: Come propagare modifiche archivi base su form attive ?

    Per quanto credo di aver capito.... non si tratta di utilizzo multi-utenza, ma di METODO di sviluppo dell'interfaccia utente, mediante la quale l'utente apre a ripetizione maschere su maschere di editing...

    Sempre io abbia ben compreso, e premesso che ognuno sviluppa come pensa sia meglio..., quando.ci si confronta si può anche ricevere un commento non condiviso...

    Nella sostanza secondo me hai sbagliato l'approccio.
    Il metodo normalmente usato è l'apertura della form2 in modalità acdialog o Sincrona che è appunto una modalità particolare.
    Questo metodo consente di rendere sequenziali le azioni... quindi la form2 blocca la.form1.
    Se dalla form2 apro la form3 per effettuare editing su voci di elenco della.form2... la form2 si blocca...
    Il tutto fino a che non inizio a chiudere l'ultima form.
    Quindi dopo l'openform.... si effettua il requery degli oggetti databound correlati alla form successiva appena chiusa.

    Ciò detto serve dare un rigore ed una funzionalità all'interfaccia ed a me non è mai capitato di aprire più di 2 maschere... perche poi si rende tutto troppo un puzzle.

    In ogni caso l'ergonomia delle interfacce grafiche per l'utente è una parte dello sviluppo sw forse più complessa della Normalizzazione.

    P.s. ci sono in ogni caso sistemi che consentono di ereditare eventi degli oggetti aperti successivamente di cui si recupera l'istanza ma stanti le cose non credo sia il caso di usarlo.
  • Re: Come propagare modifiche archivi base su form attive ?

    Da considerare che nella fase di progettazione (ed in particolar modo quando si opera in ambito condiviso) andrebbe pianificato il flusso seguito dai dati (nel loro trattamento da parte dell'applicativo) cercando di centralizzare le operazioni di inserimento e modifica; inoltre preferenziale è offrire la esclusiva visione dei dati in modo da procedere solo su richiesta ad effettuare una variazione, con conseguente lock del record (sottostante) al fine di impegnare nel minor tempo possibile la tabella che li contiene.
Devi accedere o registrarti per scrivere nel forum
4 risposte