Query da campo adiacente

di il
6 risposte

Query da campo adiacente

Ciao
Facendo riferimento a questo topic: https://www.iprogrammatori.it/forum-programmazione/access/query-casella-controllo-t32940.html

Averi più o meno lo stesso problema.
Ragioniamo sempre per regioni, provincie e comuni.
Ho una query (ottenuta da relazioni molti a molti) e per assurdo tante regioni hanno provincie con lo stesso nome e tante provincie hanno comuni con lo stesso nome.

Nel db che sto realizzando non sono previste maschere e quindi non mi posso appoggiare alla logica del topic di cui sopra.

Quindi, in una tabella avrò necessità di inserire, selezionando da casella combinata:
Nel primo campo una Regione, con origine riga la query di cui sopra
Nel secondo campo una Provincia, con origine riga la query di cui sopra ma filtrata per Regione selezionata nel primo campo
Nel terzo campo un Comune, con origine riga la query di cui sopra ma filtrata per Regione e Provincia selezionate nei campi precedenti

Di fatto non so come filtrare l'origine riga del secondo campo in base al valore del primo ammesso che si possa fare.
E se non si può fare avete qualche suggerimento?

6 Risposte

  • Re: Query da campo adiacente

    Frisbee ha scritto:


    ...
    Nel db che sto realizzando non sono previste maschere e quindi non mi posso appoggiare alla logica del topic di cui sopra.
    Quindi, in una tabella avrò necessità di inserire, selezionando da casella combinata:
    Non ci sono maschere? come pensavi di usare la combo? tipo campi a ricerca automatica, aprendo direttamente tabelle e query?
    Hai sbagliato approccio, completamente.
  • Re: Query da campo adiacente

    Il link che hai proposto non mi appare significativo. Per risolvere il tuo problema serve certamente una MASCHERA (puoi anche pensarla come "foglio dati" in modo che appare come la tabella).
    Il tuo problema va sotto il nome in gergo di "caselle combinate a cascata". L'esempio di Regioni/Province/Comuni è uno dei più classici. Prova a vedere qui
  • Re: Query da campo adiacente

    Scusate ma come specificato non posso e non devo usare maschere.
    Il db è un prototipo che avrà vita breve, poi tutto finirà su sqlServer, ecc...

    Parto come fonte dati da una query che e' il risultato di relazioni molti a molti.

    Mi va bene anche creare altre 10 query annidate ma quello di cui ho bisogno e' di poter lavorare su una riga di tabella o query e poter filtrare un campo in funzione del valore del campo adiacente.

    No maschere, si fogli secondari.
  • Re: Query da campo adiacente

    Le maschere possiedono potenti EVENTI che puoi gestire a tuo piacimento e permettere il "giochetto" delle caselle combinate a cascata che tu stai cercando. Eventi e giochetti non si possono ottenere con le tabelle/query.
    Ti ricordo che le maschere poggiano su dati che stanno dentro le tabelle. Quello che digiti/selezioni in maschera va a finire comunque dentro una tabella. La tabella potrai riciclarla poi per SQLServer di cui parli ecc... E poi (ripeto) puoi sempre decidere che il LOOK della maschera sia esattamente FOGLIO DATI che appare agli occhi dell'utente tale e quale a quello delle tabelle.
  • Re: Query da campo adiacente

    Certo ti do ragione, in passato ho sviluppato molte applicazioni sqlServer-access. Non sono proprio neofita anche se non uso access da parecchio, inoltre mi sono sempre dedicato di più alla logica di business piuttosto che alla gestione dati.
    Per fare quello che chiedo, con le maschere, non avrei nessun problema.
    Avevo soltanto bisogno di qualche trick al volo e speravo che ne esistesse uno per questa situazione. A volte si usano approcci sbagliati ma consapevolmente, soltanto per ottenere dei risultati di test utili al momento ma che poi verranno gettati.

    Grazie comunque delle risposte
  • Re: Query da campo adiacente

    Crea una serie di query in cascata ove, in ciascuna, sia richiesto l'input del dato da ricercare (in modo da filtrare progressivamente i valori di Regione, Provincia, Comune):
    https://support.office.com/it-it/article/utilizzare-parametri-per-richiedere-input-durante-l-esecuzione-di-una-query-c2806d3d-d500-45a8-8507-ec6af351b6ed
Devi accedere o registrarti per scrivere nel forum
6 risposte