Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    ACCESS - Filtrare casella di riepilogo basata su query UNION

    Salve a tutti!
    Vi scrivo perché non riesco a risolvere il mio problema (e' la prima volta che utilizzo access) e spero in una vostra risposta.


    Ho 6 tabelle, ognuna delle tabelle contiene un determinato tipo di prodotto.
    Queste 6 tabelle hanno tra loro la maggior parte dei campi diversi tranne alcuni su cui mi sono basato per fare la ricerca.
    Ho 1 tabella che contiene ID e SISTEMA (chiave primaria) in quanto univoco.

    Da una specifica maschera sto cercando di fare una ricerca degli elementi presenti in DB basandomi su Sistema uno dei valori comuni tra le 6 tabell (quindi selezionando SistemaA oppure SistemaB oppure SistemaC, ecc).

    In pratica ho creato una query che utilizza la UNION ALL sulle 6 tabelle per poter avere la lista completa degli elementi presenti in DB e con i campi comuni.
    La seguente query ListaElementiPerSistema l'ho semplificata per chiarezza e si basa su sole 2 tabelle:

    codice:
    (SELECT INVOLUCRO.COMPONENTE, INVOLUCRO.[NOME PRODOTTO], INVOLUCRO.DESCRIZIONE, INVOLUCRO.[PREZZO (€/m2)], INVOLUCRO.[Già utilizzato da BS?], INVOLUCRO.ID, INVOLUCRO.SISTEMA 
    FROM SISTEMI INNER JOIN INVOLUCRO ON SISTEMI.SISTEMI = INVOLUCRO.SISTEMA) 
    
    UNION ALL 
    
    (SELECT [SERRAMENTI E VETRI].COMPONENTE, [SERRAMENTI E VETRI].[NOME PRODOTTO], [SERRAMENTI E VETRI].DESCRIZIONE, [SERRAMENTI E VETRI].[PREZZO FORNITURA (€/m2)], [SERRAMENTI E VETRI].[Già utilizzato da Beni Stabili?], [SERRAMENTI E VETRI].ID, [SERRAMENTI E VETRI].SISTEMA 
    FROM SISTEMI INNER JOIN [SERRAMENTI E VETRI] ON SISTEMI.SISTEMI = [SERRAMENTI E VETRI].SISTEMA);
    Preciso che come risultato di questa query potrò avere ID ripetuti in quanto riferiti alle singole tabelle ma li ho tenuti per poter andare a fare la ricerca nella tabella appropriata in una fase successiva a quella attuale del mio problema.

    Successivamente nella maschera ho creato:
    - Una Casella combinata su cui ho fatto comparire i sistemi presenti nel database
    - Una Casella di riepilogo in cui ho comparire, come accennato sopra, la lista degli elementi presenti in database basandomi sulla query ListaElementiPerSistema.

    Il mio problema sta nel fatto vorrei filtrare la Casella di riepilogo in base al tipo di sistema che seleziono nella Casella combinata ma non funziona nulla perché pare che questo tipo di casella si basi su un ID univoco per mezzo del quale è possibile filtrare.
    Come posso fare per riuscire a risolvere il problema???

    Vi ringrazio in anticipo per il vostro aiuto!

  2. #2
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Non ho letto con molta attenzione ( scusami )

    ma se in 6 tabelle vuoi dei valori univoci due modi per ottenerlo possono essere .....

    ---- 1°)---
    alle 6 tabelle aggiungi un campo ( chiamiamolo "distintivo" ) con un valore predefinito costante ( ma diverso in ogni tabella )
    poi la tua ricerca la fai su ID e contemporaneamente sul tuo distintivo


    ---- 2°)---
    In ogni tabella ci metti un valore predefinito
    ="t1" & Format(Now();"aaaammgghhnnss")
    dove t1 è ancora un valore diverso per ogni tabella
    ( in questo 2° caso non potrai inserire piu di un record al secondo )


    __________________________________________________ _____



    Oppure potresti NON disturbare le tabelle aggiungendo direttamente nella query UNION il tuo valore costante e diverso per ogni tabella
    poi indirizzi la ricerca in funzione di quel valore



    Facci sapere



    .

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.