Filtrare con una query tramite casella combinata

domenica 05 febbraio 2012 - 19.42

Pradino Profilo | Newbie


Buonasera,
Ho creato un Db di una gestione aziendale,adesso non riesco a creare una query di ricerca tramite casella combinata.
Praticamente ho due tabelle relazionate uno-molti tbldipendente e tblmansione nella tabella dipendente ci sono tutti i dati anagrafici mentre nella tabela mansione ci sono le mansioni che svolgono (carrellista,macchinista,ect ect.).
Ho una maschera chiamata ricerca dipendente dove ho creato una casella combinata con la tabella mansione.Tramite questa casella devo selezionare la mansione e con un pulsante di comando mi deve cercare i dati anagrafici piu' la mansione che ho selezionato.

finescia Profilo | Newbie

Ciao Pradino, non so se ho capito bene quello che ti serve, comunque ci provo:
SELECT tbldipendente.nome, tbldipendente.cognome, Tblmansione.mansione
FROM tbldipendente INNER JOIN tblmansione ON tbldipendente.id = tblmansione.id
WHERE (tblmansione.mansione=@parametro)
questo presume che tu abbia la tbldipendenti con un campo id e dati anagrafici e una tblmansione con campo id del dipendente e campo mansione.

Pradino Profilo | Newbie

Ciao ti voglio ringraziare della risposta intanto
Ma x questo WHERE (tblmansione.mansione=@parametro) cosa intenti?
Poi questa query la devo chiamare tramite una macro giusto?

finescia Profilo | Newbie

Se ho capito bene vuoi selezionare da una combobox la mansione e sul click di un pulsante visualizzare tutti i lavoratori che sono abilitati alla mansione selezionata. Se è così allora hai bisogno della query parametrica che ti ho scritto e dove @parametro rappresenta la mansione che viene selezionata nella combobox. Non hai specificato il db che stai usando, se comunque usi access allora sostituisci @parametro con un punto interrogativo (tblmansione.mansione=?).
Se hai realizzato tutto con access allora dovrebbe essere così (tblmansione.mansione=[Forms]![Maschera1]![CasellaCombinata1]).
Ciao.

Pradino Profilo | Newbie


1920x1080 242Kb

1920x1080 242Kb

Questa è la query
Ho camiato un po le tabelle sto impazzendo credimi
Ah dimenticavo ho creatpo adesso una relazione molti a molti (tblpersonale;tbldettaglio;tblcorsi).

finescia Profilo | Newbie

Allora in riferimento all'immagine che hai postato, nella colonna "Corsi e Abilitazioni" posizionati nella riga criteri e inserisci "[Forms]![Maschera1]![CasellaCombinata1]" dove naturalmente 'Maschera1' deve essere sostituito con il nome della tua maschera e 'CasellaCombinata1' con il nome della tua casella combinata. Tieni presente che io lavoro con Access97, per cui la sintassi potrebbe essere cambiata. Nel caso non funziona fammi sapere. Ciao.

Pradino Profilo | Newbie

Mi sono dimenticato di dirti che ho creato anche una relazione molti a molti tra tblpersonale; tbldettaglio; e tblincarico non so se va ad interagire sulla query perché devo interrogare due tabelle diverse nella query se ben vedi Ha la relazione.Comunque provo e ti faccio sapere io ho tutti e due tipi di access 97 e 2010.
Grazie in tanto

finescia Profilo | Newbie

Dall'immagine che hai postato (sono 2 ma a me visualizza sempre la stessa, forse l'hai postata 2 volte?) la relazione tra le tabelle (tbl_personale e tbl_dettaglio) è di uno a molti e secondo me è la relazione giusta.

Pradino Profilo | Newbie


1920x1080 279Kb

Ho allegato ila foto con la query che ho creato (che mancava prima) dove ho inserito la dicitura che mi hai data e quella che avevo creato io.
Se tolgo la tabella corsi funziona con la dicitura che ho creato io però al momento che la voglio interrogare mediante una macro mettendo come filtro il nome della query non mi funziona.
Invece con la dicitura che mi hai dato tu non funziona x niente.
Che sfiga.

finescia Profilo | Newbie

Io non so cosa vai a selezionare nella combobox nel senso che se selezioni delle voci tipo 'carrellista' o 'tecnico' allora l'operatore LIKE non serve per cui usa la stringa che ti ho inviato io, (che non deve stare li dove la vedo, ma nella riga criteri al posto di quell'altra). La query funziona anche con tutte e tre le tabelle, l'ho provata io. Devo dirti che la relazione che hai usato tra la tbldettaglio e tblcorsi presuppone che in tbldettaglio il campo Idtblcorsi non deve essere null, ma deve contenere l'id di un corso altrimenti la query non funziona. Verifica questa situazione. Per il fatto della macro che penso sia legata all'evento click di un pulsante credo che sia una macro del tipo Apriquery e deve funzionare a patto che la combobox restituisca il valore giusto. Hai verificato quale valore restituisce la combobox? Da quale tbl e da quale campo prende il valore la combobox? Fammi sapere. Nel caso lasciami un indirizzo mail e ti invio un esempio funzionante in modo che tu possa prendere spunto.
Ciao.

Pradino Profilo | Newbie


1920x1080 288Kb
Ti avevo inserito le due stringhe nella query per farti capire quali avevo provato è sotto inteso che andavano messo nei criteri comunque ti allego il file di come mi hai detto tu. Nella maschera (Cerca personale) come nome elemento l'ho chiamato Abilitazioni come messo nei criteri della query.
Comunque la mia e-mail è pradinoo@yahoo.it magari ti posso anche mandare il file così ti rendi conto del lavoro.
Comunque ti ringrazio dell'aiuto che mi stai dando.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5