Query con scelta parametri da maschera

Anonimo
2021-11-30T10:20:33+00:00

Win10

Access 2013

lo so che sembra una domanda banale e già ritrita ma non capisco perchè in questo caso NON riesco a venirne a capo!

in poche parole vorrei interrogare la mia tabella tramite query e mentre viene eseguita trova i parametri con cui dare il risultato richiesto.

allora sulla query, nel campo località ho scritto:

[forms]![Maschera]![cboLocalita]

poi ho creato la Maschera e ho inserito una Combo dove selezionare la Località desiderata e tutto funziona perfettamente :) e mi sono anche detto bravo Ivan :)

poi dovevo poter scegliere che la query restituisse solo gli eventi che avevano come numero di salvati >= 0 oppure >=100 oppure >=200

allora ho creato una tabella [TSalvati] dove ho messo:

IDSalvati 'PK

Scelta Valore 'Testo (descrizione di cosa voler trovare)

Codice 'Testo (>=0; >=100; >=200 ecc ecc )

poi sono andato sulla query e sul campo Salvati ho scritto:

[forms]![Maschera]![Salvati]

nella maschera ho inserito una Combo dove prende i dati dalla TSalvati ma quando vado ad eseguire la query mi restituisce Errore 3464 - Tipo di dati non corrispondenti nell'espressione criterio

ho controllato che la colonna associata fosse quella dove deve prendere il valore richiesto (>=0 ; >=100 ecc) ma niente! non capisco dove stà l'inghippo :(

ero partito tanto bene e poi mi sono arenato nel deserto di Access

aiutooooo

Microsoft 365 e Office | Access | 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
Anonimo
2021-11-30T12:14:44+00:00

Salve,

Non puoi inviare operatori come >= come parametri ad una query. Sono sempre trattati solo come testo. Ci sono due soluzioni comuni:

  1. Puoi fissare l'operatore nella query, cioè usare un criterio come:

>=Forms!TuaMaschera!TuoControllo

o se il parametro dev'essere opzionale:

>=Forms!TuaMaschera!TuoControllo Or Forms!TuaMaschera!TuoControllo Is Null

  1. Oppure puoi comporre il testo SQL della query utilizzando codice VBA. Così puoi anche usare operatori come parte del testo.

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento
Risposta accettata dall'autore della domanda
domenico laurenza 9,900 Punti di reputazione Moderatore volontario
2021-11-30T12:14:02+00:00

Tu dici:

sul campo Salvati ho scritto:

[forms]![Maschera]![Salvati]

se salvati contiene un numero puoi scrivere nella query

>=[forms]![Maschera]![Salvati]

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

4 risposte aggiuntive

Ordina per: Più utili
  1. domenico laurenza 9,900 Punti di reputazione Moderatore volontario
    2021-11-30T12:11:20+00:00

    Un campo è numerico se contiene solo numeri, mi sembra di capire che tu voglia inserirci i caratteri < > e =.

    Ciao Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2021-11-30T11:35:27+00:00

    ciao Mimmo,

    il valore nel campo Salvati è numerico e può trovare valore >1 oppure nullo

    il problema è proprio questo, che la tabella dove inserisco i valori per la ricerca (>=0 ; >=150; ecc) il campo non me lo fa fare numerico ma solo testo!! uffà

    quindi mi dici che non si può fare quanto voglio :(

    Ivan

    La risposta è stata utile?

    0 commenti Nessun commento
  3. domenico laurenza 9,900 Punti di reputazione Moderatore volontario
    2021-11-30T11:32:13+00:00

    Ciao,

    che valori può assumere il campo Salvati ?

    che valori assume il controllo [forms]![Maschera]![Salvati] ?

    il messaggio ti dice che il tipo di dato (Numerico o testo o Data ) è diverso tra i due di cui sopra.

    Non puoi confrontare un numero con una stringa ad esempio.

    Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento