Query con parametri da maschera

di
Anonimizzato29440
il
4 risposte

Query con parametri da maschera

Salve a tutti,
sono un principiante di access e ho costriuto un piccolo database per l'azienda dove lavoro.
sono arrivato ad un punto morto e non riesco a risolvere questo problema.
Vorrei fare una maschera dove con la spunta in un elenco di dati vado a cambiare i criteri nella query.
Al momento vado a scrivere i criteri dirattamente nella query ma effettivamente non è agile come operazione
esempio:
"20-0483" Or "20-0484" Or "20-0482" Or "20-0486" Or "20-0488" Or "20-0497" Or "20-0480" questi sono i dati che scrivo nella query e mi piacerebbe fare in modo di scegliere con una spunta questi riferimenti tipo "20-0484" da un elenco.
spero di essermi spiegato bene
grazie da un principiante sessantenne

4 Risposte

  • Re: Query con parametri da maschera

    In generale per la presentazione dei dati si impiegano maschere e report, ove effettuata una selezione in una maschera (ad esempio con una casella combinata) si attiva il relativo filtro (sulla tabella o query che li alimenta).
    Già attraverso il foglio dati con filtro è possibile utilizzare degli strumenti interattivi messi a disposizione in modo predefinito:
    https://support.microsoft.com/it-it/office/uso-dei-fogli-dati-638244b6-6641-4db2-a9e1-1057ea4e8afc
    Mentre parlare di impiegate esclusivamente la query implica dover costruire dinamicamente (in VBA) la Query Parametrica, e fornire tale Parametro (ad esempio della casella combinata, in una maschera, con cui si estraggono i dati) nel Criterio di selezione, ponendolo nella costruzione della query stessa, che poi dovrà essere eseguita.
    IIn tal caso dovresti implementare una sintassi similare:
    
    SELECT * FROM TuaTabella
    WHERE CampoChiave = Forms!NomeMaschera!CasellaCombinata
    
  • Re: Query con parametri da maschera

    Grazie mille ci proverò subito
  • Re: Query con parametri da maschera

    Personalmente lascerei la Query stare senza WHERE CONDITION, sfruttanto invece la proprietà FILTER di maschera che agisce sempre sui dati della Query.

    Il Costrutto da usare nel tuo caso dovrebbe appoggiarsi alla CLAUSOLA IN, invece di usare OR concatenati, ancorchè con la sintassi giusta(la tua è errata).

    Un esempio sarebbe
    
    Dim strWHR As String
    strWHR="NomeCampo IN ('20-0483','20-0484','20-0482','20-0486','20-0488','20-0497','20-0480')"
    Me.Filter=strWHR
    Me.FilterON=True
    Fai attenzione alla sintassi di Formattazione dei campi Testo che richiede gli APICI.
  • Re: Query con parametri da maschera

    Grazie vi farò sapere
Devi accedere o registrarti per scrivere nel forum
4 risposte