Criteri indipendenti in una query

di
Anonimizzato14164
il
23 risposte

Criteri indipendenti in una query

Salve, ho un problema con una ricerca di dati in una query.
Ho una tabella "clienti", una di "spese" e una di "categoria".
Ho creato le relazioni uno a molti tra spese/clienti e spese/categoria.
Ho creato le varie maschere di inserimento.
Ho creato una query con 2 criteri di ricerca su nome e su categoria.
Ho creato una maschera e nell'intestazione ho inserito una casella combinata per clienti e una per categoria. Nel corpo ho inserito una sottocartella che fa riferimento alla query.
La ricerca è basata ai dati che compaiono nelle caselle combinate.
E fin qui tutto funziona correttamente. Il mio problema è che per ogni ricerca ci devono essere i dati inseriti nelle caselle.
Sarà anche una cosa semplice ma non riesco a cambiare i criteri della query in base alle caselle della maschera. Cioè se voglio fare una ricerca per nome deve mostrarmi solo i nomi, se inserisco anche la categoria deve ricercare per nome e per categoria. Altresi se inserisco la categoria deve mostrarmi solo i record in base alla categoria.
Grazie per l'aiuto. Omar.

23 Risposte

  • Re: Criteri indipendenti in una query

    Ciao,
    il valore dei record nei campi a cui intendi applicare il filtro sono sempre valorizzati oppure possono anche rimanere vuoti?

    esempio di spazi vuoti...
    categoria
    aaaa
    bbbb

    dddd
    eeee
    fffff

    hhhh

    ... se sono sempre valorizzati (dunque senza spazi vuoti te la cavi con qualcosa di simile---
    Like IIf(IsNull([Forms]![maschera1]![CATEGORIA]);"*";"*" & [Forms]![maschera1]![CATEGORIA] & "*")
    da inserire nei criteri della query della sottomaschera... se hai spazi vuoti la cosa si complica...
  • Re: Criteri indipendenti in una query

    Ciao,
    La ricerca funziona ma con con tutti i valori.
    Se seleziono uno mi compare un'altra ricerca.
    Comunque tutti le spere hanno una ditta e una categoria. Non ci sono campi vuoti.
  • Re: Criteri indipendenti in una query

    Scusa... non ho capito nulla...

    hai provato ad applicare il codice nella query? che cosa accade fammi capire meglio... con quello io ho risolto...
  • Re: Criteri indipendenti in una query

    Il codice funziona. Ma non per tutti i valori.
    Quando apro la maschera mi visualizza la sottomaschera con tutti i record.
    Quando nella casella di riepilogo seleziono una categoria nella sottomaschera si visualizzano più categorie. Poi quando inserisco il nome, la ricerca è corretta.
    Esempio. Se seleziono la categoria "deposito" mi compaiono i record con "deposito" e "trasferimento", lo stesso se faccio il contrario. Poi se seleziono il nome "soci" mi visualizza i record per "soci" e "deposito" se è selezionato "deposito" o per "soci" e "trasferimento" se è selezionato "trasferimento".
    Se invece seleziono solo il "nome" mi visualizza tutti i record con quel nome.
  • Re: Criteri indipendenti in una query

    OK
    come hai valorizzato la proprietà "nome elemento" delle caselle nelle quali fai la selezione?
    come hai valorizzato la proprietà "nome elemento" della sottomaschera che visualizza i risultati?
    come si chiamano, nelle varie tabelle, i soli campi che sono influenzati dalla selezione?

    detto ciò puoi abbinarmi il "nome campo tabella" al "nome elemento della casella per la selezione"?

    esempio...
    se nella sub mask hai il campo "CATEGORIA" che ha per origine il medesimo campo "CATEGORIA" della tabella (come si chiama?) vorrei...
    Tab_nome![CATEGORIa] <-> form!nometabellacheospitailcontrollo!nomeelemento controllo

    ciao
  • Re: Criteri indipendenti in una query

    Kenyaomar ha scritto:


    Ho creato le relazioni uno a molti tra spese/clienti e spese/categoria
    Come è possibile che stiano così le cose? Mi suona strano. Io ci vedrei una relazione Clienti molti-a-molti con Categorie attraverso la tabella Spese, ma ho bisogno di una spiegazione che chiarisca questo punto.

    Kenyaomar ha scritto:


    Ho creato una maschera e nell'intestazione ho inserito una casella combinata per clienti e una per categoria. Nel corpo ho inserito una sottocartella che fa riferimento alla query
    Che cosa è una "sottocartella che fa riferimento alla query"?
  • Re: Criteri indipendenti in una query

    Scusa ma non ho ben capito quello che mi hai scritto. Non sono un esperto.
    Io ho ricontrollato e tutti i nomi e i collegamenti sembrano corretti.
  • Re: Criteri indipendenti in una query

    Provo a italianizzare...
    nome della maschera...
    nome della sottomaschera...
    nome dei campi interessati dal filtro...
    nomi dei controlli (le caselle di testo o caselle combinate) che utilizzi per mettere i filtri...
    nome della tabella in cui sono contrnuti i campi sopra...

    ciao
    Kenyaomar ha scritto:Ho creato le relazioni uno a molti tra spese/clienti e spese/categoria


    Come è possibile che stiano così le cose? Mi suona strano. Io ci vedrei una relazione Clienti molti-a-molti con Categorie attraverso la tabella Spese, ma ho bisogno di una spiegazione che chiarisca questo punto.

    Kenyaomar ha scritto:Ho creato una maschera e nell'intestazione ho inserito una casella combinata per clienti e una per categoria. Nel corpo ho inserito una sottocartella che fa riferimento alla query


    Che cosa è una "sottocartella che fa riferimento alla query"?
    concordo...
  • Re: Criteri indipendenti in una query

    Scusate quello che ho scritto era un BD di prova che per capire la formula. Questo è il vero DB:
    Tabelle: categoria, clienti, costi, dettagli, dati.
    Query: qcosti (ricerca per costo), qcosti2 (ricerca per costi, categoria, e dettagli)
    Maschere: categoria, clienti, costi, dettagli, dati, ricercacosti, sottomascheraqcosti (creata da qcosti) e sottomascheraqcosti2 (creata da qcosti2)
    Relazioni: (clienti, costi, dettagli, costi) uno a molti (dati) per ogni tabella.
    Nella maschera (ricercacosti) ho messo tre caselle di riepilogo una per costi, una per categoria e una per dettagli nell'intestazione della maschera. Nel corpo di ricercacosti ci sono le due sottomaschere. Quando visualizzo i dati nelle tre caselle di riepilogo le sottomaschere mi visualizzano correttamente le query a cui fanno riferimento.
    Il mio problema è: quando seleziono solo (categoria) la sottomascheraqcosti2 mi visualizzi solo per categoria. Oppure se selezione solo (dettagli) mi visualizzi solo per dettagli. Oppure quando seleziono (dettagli) e (categoria) mi visualizzi solo per dettagli e categoria. Oppure se seleziono anche (costi) la sottomascheraqcosti mi visualizzi solo per costi e la sottomascheraqcosti2 mi visualizzi per costi, dettagli e categoria.

    Inserendo nella query la formula che mi hai dato, le sottomaschere mi visualizzano i record correttamente.
    Ad eccezzione di alcuni valori dei costi e delle categorie. In riferimento alla tua risposta sia costi, che categorie, che dettagli possono avere dei valori con degli spazi vuoti ma ogni record ha un valore per costo, categorie e dettaglio.

    Spero di essere stato chiaro nella spiegazione. Grazie ancora per l'aiuto.
  • Re: Criteri indipendenti in una query

    Kenyaomar ha scritto:


    Tabelle: categoria, clienti, costi, dettagli, dati.

    Kenyaomar ha scritto:


    Relazioni: (clienti, costi, dettagli, costi) uno a molti (dati) per ogni tabella.
    Io non ci capisco ancora nulla sulla struttura generale. Ti pregherei di dare una descrizione come la seguente:
    Tabella1
    CampoA (chiave primaria)
    CampoB

    Tabella2
    CampoC (chiave primaria)
    CampoD
    CampoE

    Tabella3
    CampoF (chiave primaria)
    CampoG
    CampoH
    CampoI

    Relazioni:
    [NomeTabellaPartenza].[NomeCampoChiavePrimaria] uno-a-molti con [NomeTabellaArrivo].[NomeCampoArrivoChiaveEsterna]
    descrivi TUTTE le relazioni UNA PER UNA.
  • Re: Criteri indipendenti in una query

    Oppure alleghi una bella immagine delle relazioni facendo vedere tutte le tabelle, tutti i campi delle tabelle e tutte le relazioni...

    ciao
  • Re: Criteri indipendenti in una query

    Tabella [clienti]
    Idclienti (chiave primaria)
    Clienti

    Tabella [costi]
    Idcosti (chiave primaria)
    Costi

    Tabella [categorie]
    Idcategorie (chiave primaria)
    Categorie

    Tabella [dettagli]
    Iddettagli (chiave primaria)
    Dettagli

    Tabella [dati]
    Iddati (chiave primaria)
    Clienti
    Costi
    Categorie
    Dettagli

    Relazioni:
    [Clienti].[Idclienti] uno-a-molti con [Dati].[clienti]

    E cosi via per le altre
  • Re: Criteri indipendenti in una query

    Per me è una strutturazione tabelle senza senso. Non vedo alcuna logica.
    Di cosa parla il tuo database?
    Chi sono i Clienti?
    La tabella Dettagli significa... "dettagli di che cosa"?
    Idem la tabella Dati???
    Non per cavillo, ma per ortodossia, i nomi Tabelle si scrivono al plurale (OK), i nomi Campo al singolare.
  • Re: Criteri indipendenti in una query

    Grazie per il consiglio dei nomi da dare.
    Il DB fa riferimento alle spese di una ditta. Nella tabella [dati] ci sono tutti i vari riferimenti alle varie tabelle e con altre info come data di spesa/incasso, importo, su che conto corrente è stato fatto ecc..
    Per ogni record [dati] c'è un [cliente], un tipo di [costo], un tipo di [categoria] e un tipo di [dettaglio]. Potrà sembrarvi incasinato come l'ho creato ma funziona.
    Il problema è quello che ho scritto all'inizio e devo dire che, dopo aver inserito il criterio suggerito, se non ci sono quei due costi e quelle due categorie che mi confondono la ricerca il DB, a mio parere da principiante, potrebbe funzionare.
    Chiedo scusa se non uso termine corretti ma questo è il mio secondo DB un pò più complicato per me.
    Chiedo cortesemente un aiuto da parte vostra, e con qualche consiglio in più potrei rifarlo in maniera corretta. Grazia ancora.
Devi accedere o registrarti per scrivere nel forum
23 risposte