View Full Version : [ACCESS][SQL]Chiarimento per un database
Boscagoo
03-11-2010, 13:31
Premetto che non so se sia corretto quello che chiedo, in quanto mi hanno consigliato e messo la pulce nell'orecchio, quindi chiedo venia se la sparo gigante.
Sto realizzando con Access un Database per tenere conta dei miei film in DVD (moltissimi) e di estendere nel prossimo futuro questo progetto, con modifiche, per indicizzare anche la libreria di casa.
Sono riuscito a fare praticamente buona parte di questo progetto, ma l'unica cosa che non riesco a venirne a capo é come fare la ricerca all'interno di questo Database. Ovvero, mi spiego meglio: una volta immessi i dati (per esempio sui film, titolo, regista, genere, anno, ubicazione nello scaffale) e volendo fare una ricerca per uno di questi campi, devo usare SQL all'interno della struttura che faccio per la ricerca o c'é già una funzione di ricerca implementata o da implementare semplicemente in Access?
In caso, potete consigliarmi dei libri nel caso di Access (dalla versione 2003 penso che vada bene ma anche 2007 o 2010) o per SQL?
In caso fossi fuori strada (non escludo di esserlo) mi sapete dire se sarebbe meglio farlo tutto in SQL? Ringrazio per la pazienza, per i consigli e per le critiche (magari costruttive).
Premetto che non so se sia corretto quello che chiedo, in quanto mi hanno consigliato e messo la pulce nell'orecchio, quindi chiedo venia se la sparo gigante.
Sto realizzando con Access un Database per tenere conta dei miei film in DVD (moltissimi) e di estendere nel prossimo futuro questo progetto, con modifiche, per indicizzare anche la libreria di casa.
Sono riuscito a fare praticamente buona parte di questo progetto, ma l'unica cosa che non riesco a venirne a capo é come fare la ricerca all'interno di questo Database. Ovvero, mi spiego meglio: una volta immessi i dati (per esempio sui film, titolo, regista, genere, anno, ubicazione nello scaffale) e volendo fare una ricerca per uno di questi campi, devo usare SQL all'interno della struttura che faccio per la ricerca o c'é già una funzione di ricerca implementata o da implementare semplicemente in Access?
In caso, potete consigliarmi dei libri nel caso di Access (dalla versione 2003 penso che vada bene ma anche 2007 o 2010) o per SQL?
In caso fossi fuori strada (non escludo di esserlo) mi sapete dire se sarebbe meglio farlo tutto in SQL? Ringrazio per la pazienza, per i consigli e per le critiche (magari costruttive).
Immagino che con Access, oltre alla struttura delle tabella/e che ti servono per registrare tutti i vari records relativi alla tua collezione tu ti sia costruito anche una bella maschera di accesso con la quale visualizzi il database, magari filtrato etc.
Se questo è il caso allora ti basta semplicemente piazzare nella maschera una bella textbox ed aggiungere un evento afterupdate a quella textbox che costruisce una query a parametry sql con la quale filtrare la tua attuale visualizzazione dei dati.
Per fare un esempio, mettendo che tu abbia una tabella così costituita:
ID| Titolo | Anno | Regista | Genere
1 | I Hate Access | 1982 | Endy | Romance
2 | I Hate Access 2 | 1986 | Endy | Comedy
3 | Access Hates You | 2010 | Microsoft | Thriller
4 | Ciccio likes it hot| 2010 | Nonna Papera | Porno
E che la visualizzazione della maschera che hai preparato ti presenti l'intero contenuto della tabella in presentazione.
A quel punto un metodo semplice è costruire sull'after update della textbox una query usando la causale "LIKE".
Mettiamo che la tua textbox si chiami texbox1 quindi:
Private Sub textbox1_AfterUpdate()
Dim rst As Recordset
Set rst = CurrentDb.OpenRecordset("SELECT tab1.* FROM Tab1 WHERE Titolo LIKE '*" & Me!textbox1 & "*'")
Set Me!myform.Form.Recordset = rst
Set rst = Nothing
End Sub
A quel punto scrivendo nella casella di testo la parola "access" la visualizzazione verrebbe filtrata così:
ID| Titolo | Anno | Regista | Genere
1 | I Hate Access | 1982 | Endy | Romance
2 | I Hate Access 2 | 1986 | Endy | Comedy
3 | Access Hates You | 2010 | Microsoft | Thriller
Se tu invece scrivessi "Ciccio", vedresti questo:
ID| Titolo | Anno | Regista | Genere
4 | Ciccio likes it hot| 2010 | Nonna Papera | Porno
E via dicendo.
Questo ovviamente sempre ammesso che tu voglia lavorare nella costruzione della maschera ed un pelino con VBA. Altrimenti, se semplicemente vuoi una presentazione della tabella in foglio dati, puoi sempre filtrare a mano cliccando destro sulla colonna desiderata e compilando il campo "Filtro Per:"
Endy.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.