Modificare dati in maschera caricata da query

di il
4 risposte

Modificare dati in maschera caricata da query

Ciao a tutti, non sono molto pratico di Access e volevo chiedere un'informazione.
Ho provato a cercare ma non ho trovato una risposta alla mia domanda, quindi ecco qui:

Contesto: sto realizzando un programma "simil-gestionale" in cui ho bisogno di permettere l'inserimento di alcuni dati. Cambio un poco le tipologie di elementi, ma la struttura è questa:
ho N persone che possono prendere 5 elementi di tipo prefissato in posti diversi.
Gli acquisti di ognuna di queste persone potrebbero essere riassunti così:
            PERE MELE PESCHE NOCI UVA
MILANO      1    0    0      9    0
TORINO      0    0    3      0    0
NAPOLI      0    8    0      6    0
ROMA        3    0    0      0    3
BOLOGNA     0    0    0      0    0
FIRENZE     3    0    0      0    0
PALERMO     7    7    3      3    7
L'elenco delle città è molto variabile, quello della frutta molto meno.

Sul database pensavo di strutturare così la cosa:
TAB. CITTA (ID_Citta, NomeCitta)
TAB. FRUTTA (ID_Frutto, NomeFrutto)
TAB. PERSONA (ID_Pers, Info Anagrafiche....)
TAB. ACQUISTO (ID, Anno, IDPersona, IDCitta, IDFrutto, QuantitaAcquistata).

In questo modo riesco a minimizzare i dati memorizzati e rimango flessibile sia in caso di nuove città che di nuovi frutti.

Il problema è nell'inserimento dei dati: il committente vorrebbe utilizzare un'interfaccia molto simile a quella presentata nella prima parte del post, nella quale vengono visualizzate tutte le città e per ogni città deve esserci uno spazio per ogni tipo di frutto, da poter visualizzare e eventualmente modificare.

Pensavo di utilizzare una query che, sfruttando il left join, caricasse i dati assumendo a 0 i valori in cui non ci sono acquisti.

Se però creo una maschera tabulare utilizzando come origine dati questa query, i dati non risultano modificabili!!

E' possibile creare una maschera, riempirla con i dati ottenuti dalla query, e poi comportarsi come se si fosse in un form, cioè permetterne la modifica e successivamente tramite un pulsante di salvataggio e opportune macro/vba consentire l'inserimento di ogni singolo "acquisto" nella tabella ACQUISTO?

Grazie in anticipo!!

4 Risposte

  • Re: Modificare dati in maschera caricata da query

    Come non detto....

    ho trovato in questo post una domanda simile
    (https://www.iprogrammatori.it/forum-programmazione/access/inputare-dato-validare-vba-caricare-tabella-t22155.html), credo sia simile anche la risposta...

    Allora stavo pensando di fare la seguente cosa:
    • - fare una maschera in cui selezionare la persona di cui si vogliono vedere gli acquisti;
    • - una volta dato l'ok, eseguire la query di cui parlavo prima facendo una insert into una tabella temporanea (ACQUISTI_TEMP) precedentemente svuotata;
    • - aprire la maschera di editing che a questo punto DOVREBBE essere modificabile;
    • - fare un pulsante Conferma Modifiche che per ogni valore di acquisto (spero si capisca cosa intendo) verifica se c'è nella tabella ACQUISTO, e se non c'è la inserisce....
    Forse è un po' elaborata come soluzione, ma è l'unica che mi viene in mente.... avreste altre soluzioni?

    Grazie in anticipo
  • Re: Modificare dati in maschera caricata da query

    Non sono in grado di valutare se ci sia similitudine fra la tua domanda e l'altro thread. Trovo tutto il discorso contorto e inutile. La cosa più ovvia che ti consiglio di progettare è una maschera/sottomaschera Persone/Acquisti. Richiami la Persona dalla maschera principale e l''input lo fai record per record per i soli acquisti reali. Per le Quantità 0 non scrivi nulla.
  • Re: Modificare dati in maschera caricata da query

    Purtroppo quello che chiedi denota una anomala visione di gestione...!
    Sembra più un approccio di un foglio di EXCEL che non è compatibile con la visualizzazione di Maschere di Access, se non costruendole RIGIDE non associate ecc...

    Personalmente non mi infilerei in un buco di questo tipo.
  • Re: Modificare dati in maschera caricata da query

    OsvaldoLaviosa ha scritto:


    Trovo tutto il discorso contorto e inutile.
    Posso anche concordare con te, e ho provato a convincere il committente che si lavora meglio come suggerito anche da te, ma se è lui che paga, dopo averglielo detto dieci volte devo provare a fare come vuole lui... In fondo è tutto tempo - perso - aggiuntivo che si trova a dover pagare.

    @Alex ha scritto:


    Sembra più un approccio di un foglio di EXCEL che non è compatibile con la visualizzazione di Maschere di Access, se non costruendole RIGIDE non associate ecc...
    Ci hai esattamente preso in pieno. Se non sbaglio prima lavoravano proprio con fogli excel che si erano rivelati assurdi da gestire, e quindi mi hanno chiesto se fosse possibile fare qualcosa di nuovo

    Bah, proverò di nuovo a convincerlo....

    Comunque grazie per l'attenzione e le risposte!!
Devi accedere o registrarti per scrivere nel forum
4 risposte