Condividi tramite

Sottomaschera: filtrare i valori di un campo in base al valore selezionato in un altro campo

Anonimo
2015-07-31T08:02:38+00:00

Buongiorno, apro un thread nuovo per l'argomento in oggetto di cui vado a spiegare la necessità.

Sempre la stessa maschera con sottomaschera. La maschera riporta i dati generici della campagna pubblicitaria,

la sottomaschera riporta i cartelloni pubblicitari affittati per la campagna.

I campi della sottomaschera sono IDAffissioni (campo correlato alla maschera), poi IDFornitore, IDManufatto, IDTipoAffitto, IDNegozio ecc. ecc.

Vorrei che, in base all'IDFornitore selezionato (tramite casella combinata) il campo IDManufatto mostrasse solo i manufatti relativi a quel determinato fornitore. E' possibile?

Spero in un vostro aiuto...

fausto.

Microsoft 365 e Office | Accesso | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

  1. Anonimo
    2015-08-11T09:52:17+00:00

    ciao Fausto,

     Me.txtSupplier = aSupplier(1)

    Provo, selezioni IDProdotto e NomeProdotto (non capisco però le lettere p. e a., le dovrei utilizzare anche io??) dalla tabella "articoli" che è relazionata alla tabella prodotti tramite i campi A.IDProdotto e P.IDProdotto e filtri dove l'IDfornitore è uguale

    a quello riportato da aSupplier in txtSupplier... è così??

    p e a sono alias, usati per identificare tabelle e campi in Sql.

    è pratico l'utlizzo degli alias per abbreviarne il nome, fondamentali nei campi calcolati per identificarli.

    Rendono la risoluzione della query, relazionale.

    Puoi utilizzare il nome per esteso della tabella oppure semplicemente il nome del campo, è preferibile sempre però identificare il campo con il nome della tabella o alias che sia.

    il ragionamento che esponi circa la query è corretto, però nella textbox visualizzo il nome per esteso del fornitore, nella clausula where utizzo invece l'idfornitore.

    strSQL = "SELECT IDCartellone, Ubicazione " & _

             "FROM tblCartelloni "where IDFornitore=" & aSupplier(0)

    Me.lstCartelloni.RowSource = strSQL

    Me.txtSupplier = aSupplier(1)

    ora non ricordo la struttura del tuo db per verificare la validità dell'sql...( ho il vizio di dimenticare facilmente... :-(( ), ma la stringa sql per come l'hai impostata è spezzata nella concatenazione prova così :

    "SELECT IDCartellone, Ubicazione " & _

             "FROM tblCartelloni where IDFornitore=" & aSupplier(0)

    o così :

    "SELECT IDCartellone, Ubicazione " & _

             "FROM tblCartelloni " & _

             "where IDFornitore=" & aSupplier(0)

    ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento

Risposta accettata dall'autore della domanda

  1. Anonimo
    2015-07-31T20:24:44+00:00

    ciao Fausto,

    modifica l'origine riga del controllo idmanufatto così :

    PARAMETERS IDFornitore Long;

    SELECT tblManufatti.IDManufatto,

           tblManufatti.Cimasa,

           tblManufatti.IDFornitore

    FROM

           tblManufatti

    WHERE

          tblManufatti.IDFornitore=[IDFornitore];

    e su evento dopo aggiornamento del controllo idfornitore:

    me.idmanufatto.requery.

    imposta tre colonne per il numero di colonne della combo Idmanufatto e la larghezza 3;3;3

    non so se già erano impostate così, ma modificando velocemente.....le ho impostate come sopra.

    Non ho guardato bene il tuo db ma forse qualcosina a livello di normalizzazione da rivedre magari c'è...

    ciao :-)

    Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento

37 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2015-07-31T08:49:46+00:00

    ciao Fausto,

    devi sincronizzare due combo ?

    prova cos'ì : http://1drv.ms/1GilBGG cbo.accdb.

    Ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2015-07-31T08:39:48+00:00

    Ciao Mimmo, intanto ti ringrazio per la risposta.

    Realmente non è quello che stavo cercando. Durante l'inserimento dei cartelloni pubblicitari, affitati per la campagna promozionale, l'operatore deve selezionare il fornitore da cui ha affittato (quindi 1a casella combinata per la scelta del fornitore). Una volta scelto il fornitore deve inserire i cartelloni relativi a quel fornitore (quindi 2a casella combinata filtrata in base alla precedente scelta del fornitore).

    Questo è quello che dovrebbe risultare...

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2015-07-31T08:19:27+00:00

    Ciao Fausto,

    dai un'occhiata al link FiltraDati.

    MImmo

    La risposta è stata utile?

    0 commenti Nessun commento