Creare un form o un pulsante per la ricerca dei record

mercoledì 21 ottobre 2009 - 16.30

orim Profilo | Newbie

Ciao A tutti,
come neofita mi rivolgo a voi per imparare.
Ho sviluppato o almeno sto cercando di sviluppare un DB in access, che mi permetta di gestire:
rapporto interventi, anagrafica clienti, anagrafica operatori e strumenti utilizzati.
Come DB sembra funzionare riesco a inserire e eliminare dati. Però sto incontrando delle difficoltà nell'implementare un modulo di ricerca. Non riesco a capire bene cosa sia meglio fare e come.
Come si può e si deve implementare un modulo di ricerca dei record?
Per esempio come faccio ad inserire una stringa ( che puo essere un nome o il cognome ) su una casella di testo e fare in modo che ci sia un pulsante "cerca" che alla pressione mi dia come output, i record desiderati??
Grazie infinite


Essendo dei neofiti cogliamo l'occasione d'imparare dai piu bravi

ciao
orim


echo "se la chiave per imparare è sbagliare, allora voglio sbagliare sempre "

kakashi Profilo | Newbie

Ciao,
io avrei provato come soluzione una select simile che si attiva all'evento CLICK del tasto Cerca:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Questa è la mia personale idea e protrebbe funzionare su una sola tabella, ora non so se la tua ricerca viene eseguita contemporaneamente su più tabelle referenziate o cose.

Premesso che sono neofita anch'io, però almeno hai un'opinione in più.

Ciao.

orim Profilo | Newbie

Ciao Kakashi sensei :)
(from naruto)

Thanks per la query esempio, molto utile.
Una volta creata la query, dove consigli di appliccarla? Cioè come mi conviene agire, applicandola direttamente nella tabella proprietà sul campo ROW SOURCE ?

Ciao
Grazie mille

echo "se la chiave per imparare è sbagliare, allora non mi vergogno di sbagliare"

kakashi Profilo | Newbie

>Ciao Kakashi sensei :)
>(from naruto)
Ciao, ehehehehe ammetto un forte debole per questo manga.

>Thanks per la query esempio, molto utile.
Di nulla

>Una volta creata la query, dove consigli di appliccarla? Cioè
>come mi conviene agire, applicandola direttamente nella tabella
>proprietà sul campo ROW SOURCE ?

Dipende un attimo da come vuoi strutturare la ricerca, se inserire un campo testo + tasto CERCA oppure una lista di parole possibili da cercare + tasto CERCA, anche perchè non so a chi fa riferimento questa proprietà ROWSOURCE.
Con che linguaggio vuoi svilupparlo?

Io personalmente proverei con i soliti oggetti in vb.net:
- Un DataAdapter, nel tuo caso OleDbDataAdapter che trovi in System.Data.OleDb (Per creare un 'ponte' tra DB e vb.net)
- Un OleDbCommand, che trovi in System.Data.OleDb (Per scrivere la select)
- Un OleDbConnection, sempre in System.Data.OleDb (Per connetterti al DB)
- Un OleDbDataReader, sempre in System.Data.OleDb (Per leggere il DB, se devi anche modificare i dati usa DataSet)
- Un DataView, in System.Data (per leggere i dati ed eventualmente cercare qualcos al suo interno)
- Un CurrencyManager (per poterti muovere tra i record nel caso in cui tu volessi fare una cosa tipo: <<Primo, <Prec, >Succ, >>Ultimo)

Poi puoi o creare un DataGridView dove far visualizzare i risultati, oppure ti crei una maschera con delle label o dei campi nel caso di modifiche e associ i dati letti nel seguente modo:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Questo è come proverei ad impostarlo, se tu avessi altri elementi su una tua idea, possiamo confrontare.

>
>Ciao
>Grazie mille
Di nulla, faccio quello che posso.

Ciao Orim

orim Profilo | Newbie

>>Ciao Kakashi sensei :)
>>(from naruto)
>Ciao, ehehehehe ammetto un forte debole per questo manga.
Anche io :)


>
>>Una volta creata la query, dove consigli di appliccarla? Cioè
>>come mi conviene agire, applicandola direttamente nella tabella
>>proprietà sul campo ROW SOURCE ?
quando apri il form o maschera stanno nella finestra proprietà sotto il campo data

>
>Dipende un attimo da come vuoi strutturare la ricerca, se inserire
>un campo testo + tasto CERCA oppure una lista di parole possibili
>da cercare + tasto CERCA, anche perchè non so a chi fa riferimento
>questa proprietà ROWSOURCE.
>Con che linguaggio vuoi svilupparlo?

hai centrato il problema maggiore, ovvero la programmazione VBA, so praticamente poco e niente . E' da circa una settimana che mi sn buttato su access e purtroppo sto ancora imparando....ma non mi scoraggio.


>
>Io personalmente proverei con i soliti oggetti in vb.net:
>- Un DataAdapter, nel tuo caso OleDbDataAdapter che trovi in
>System.Data.OleDb (Per creare un 'ponte' tra DB e vb.net)
>- Un OleDbCommand, che trovi in System.Data.OleDb (Per scrivere
>la select)
>- Un OleDbConnection, sempre in System.Data.OleDb (Per connetterti
>al DB)
>- Un OleDbDataReader, sempre in System.Data.OleDb (Per leggere
>il DB, se devi anche modificare i dati usa DataSet)
>- Un DataView, in System.Data (per leggere i dati ed eventualmente
>cercare qualcos al suo interno)
>- Un CurrencyManager (per poterti muovere tra i record nel caso
>in cui tu volessi fare una cosa tipo: <<Primo, <Prec,
>>Succ, >>Ultimo)

Uhmm qui m'incarto un po:)

>
>Poi puoi o creare un DataGridView dove far visualizzare i risultati,
>oppure ti crei una maschera con delle label o dei campi nel caso
>di modifiche e associ i dati letti nel seguente modo:
>
>
>'esempio fatto con dataset, perchè ho copiato da un mio codice
>già scritto
>
>'cancello il testo
>lblMiaLabel.Text=""
>
>'cancello i dati associati
>lblMiaLabel.DataBinding.Clear()
>
>'Associo i dati dal DB ai campi
>lblMiaLabel.DataBindings.Add("Text", objDataView, "tuocampo1")
>
>
>
>Questo è come proverei ad impostarlo, se tu avessi altri elementi
>su una tua idea, possiamo confrontare.

Ti andrebbe se ti facessi vedere come sto sviluppando il DB? MAgari allegandoti il db stesso?


ciao
Grazie

echo "se la chiave per imparare è sbagliare, allora non mi vergogno di sbagliare"

kakashi Profilo | Newbie

Ciao,

>quando apri il form o maschera stanno nella finestra proprietà
>sotto il campo data
Ma stai programmando per caso su Access?

>hai centrato il problema maggiore, ovvero la programmazione VBA,
>so praticamente poco e niente . E' da circa una settimana
>che mi sn buttato su access e purtroppo sto ancora imparando....ma
Perchè io non sono per nulla capace. , forse non è tanto differente da VB.NET, ma io uso VB.NET, no VBA.

>non mi scoraggio.
Miglior metodo..

>Uhmm qui m'incarto un po:)
Se volessi farlo in VB.NET posso provare a speigarti

>
>Ti andrebbe se ti facessi vedere come sto sviluppando il DB?
>MAgari allegandoti il db stesso?

Se la cosa non ti dispice poso provare a vedere il DB e vedere come va. P.S.: avrai comunque un'opizione di un NON esperto, qualcosa ho studiato su relazioni e normalizzazione dei DB, ma a livello Universitario

Ciao.

orim Profilo | Newbie

>Ciao,
>
>>quando apri il form o maschera stanno nella finestra proprietà
>>sotto il campo data
>Ma stai programmando per caso su Access?
Yes


>
>>hai centrato il problema maggiore, ovvero la programmazione VBA,
>>so praticamente poco e niente . E' da circa una settimana
>>che mi sn buttato su access e purtroppo sto ancora imparando....ma
>Perchè io non sono per nulla capace. , forse non è tanto
>differente da VB.NET, ma io uso VB.NET, no VBA.
:(


>Se la cosa non ti dispice poso provare a vedere il DB e vedere
>come va. P.S.: avrai comunque un'opizione di un NON esperto,
>qualcosa ho studiato su relazioni e minimizzazione dei DB, ma
>a livello Universitario

meglio due teste volenterose che una pigra :)
in allegato il file

P.S.
nel file potrai trovare degli errori in una query, causa smanetto continuo per il problema "RICERCA"
lol
>
>Ciao.


echo "se la chiave per imparare è sbagliare, allora non mi vergogno di sbagliare"

kakashi Profilo | Newbie

Ciao, scusa ma io sono un po' antiquato in quanyto ad Office... mi puoi convertire o salvare il db in formato access 2003, tanto per intenderci in formato .mdb?

Grazie mille.

PS: ci ho messo un po' a rispondere perchè fortuna vuole che internet abbia smesso di funzionare.
PPS: volevo scrivere NORMALIZZAZIONE e no MINIMIZZAZIONE..

orim Profilo | Newbie

yes sure!
ecco a te



echo "se la chiave per imparare è sbagliare, allora non mi vergogno di sbagliare"

kakashi Profilo | Newbie

Grazie, gli do un'occhiata.

kakashi Profilo | Newbie

Ciao,

mi puoi solo un attimo spiegare come dovrebbe funzionare la ricerca? e su cosa deve effettuare la ricerca?

Grazie.

orim Profilo | Newbie

>Ciao,

>
>mi puoi solo un attimo spiegare come dovrebbe funzionare la ricerca?
>e su cosa deve effettuare la ricerca?

Certamente:

il motore di ricerca deve permettere di poter scrivere il nome del cliente e dare come output la scheda totale cliente ( nome, cognome ) con gli interventi effettuati nel tempo ( Tipo Intervento, Strumento, Descrizione, data ).
Sarebbe poi fighissimo se tutto questo venisse riportato su un report in modo da fare poi la stampa.
Ho provato a fare una query di ricerca clienti, per poi riportarla su un report, ma stampava a video tutti i record.

Che ne dici ?

ops mi dimenticavo su cosa de effettuare la ricerca

dalla tabella Traporto deve selezionare il record: strumento, descrizione e data di apertura
dalla tabella Tclienti deve selezionare il record: Nome
dalla tabella Tattività deve selezionare il record: Colore



>
>Grazie.


echo "se la chiave per imparare è sbagliare, allora non mi vergogno di sbagliare"

kakashi Profilo | Newbie

Ho capito, allora mi scrivo meglio e provo dal tuo DB l'idea che mi è venutoin mente ora, poi se funziona, o per lo meno, da i riultati che spero siano quelli, te la propondo e mi dici se va bene o meno.

Ok?

A più tardi.

orim Profilo | Newbie

>Ho capito, allora mi scrivo meglio e provo dal tuo DB l'idea
>che mi è venutoin mente ora, poi se funziona, o per lo meno,
>da i riultati che spero siano quelli, te la propondo e mi dici
>se va bene o meno.
>
>Ok?
okisssimo!! ho modificato anche il messaggio precedente aggiungendo una descrizione migliore.


>
>A più tardi.
a dopo.

PS
Stai seguendo anche bleach?

ciao

echo "se la chiave per imparare è sbagliare, allora non mi vergogno di sbagliare"

kakashi Profilo | Newbie

Ciao,

>PS
>Stai seguendo anche bleach?
No, seguo solo naruto...sono un appasionato i ninja e arti marziali..

Allora, io ho creato tre query:
- SelectRicercaData (per cercare la data, perchè non riesco a cercare data e testi contemporneamente, almeno, io non ci ono riuscito )
- SelectRicercaTxt (per cercare nei cmpi testo che mi hai indicato, comunque è personalizzabile la query, fatta con UNION)
- SelectRicercaTxt2 (per cercare nei cmpi testo che mi hai indicato, comunque è personalizzabile la query, fatta con OR)

Poi ho modificato un attimo la tabella TClienti e le relazioni, dagli un'occhiata, io mi sono permesso.

Puoi provare a fare una ricerca dove ci sono i seguenti elementi:

cboTipoRicerca -> all'interno ci metterai, DATA o TESTO, se DATA usi SelectRicercaData, se TESTO usi SelectRicercaTxt
txtTestoRicerca -> dove inserisci quello che vuoi cercare
btnCerca -> esegue le query in base alla cboTipoRicerca

Io una cosa del genere la saprei fare su vb.net, no su VBA

Mi sono accorto di averti scritto una cosa sbagliata sull query della LIKE, infatti avevo usato come carattere jolly il %, ma in Access usa *, scusami.

Guarda un attimo se la situazione ti fa comodo.

Sia SelectRicercaTxt e SelectRicercaTxt2 fanno la stessa cosa, ma scritte in modo diverso, io preferisco la 2 perchè più intuitiva.

Questa è la mia soluzione, spero sia quello che volevi.

Ciao

orim Profilo | Newbie

>Ciao,
>
>>PS
>>Stai seguendo anche bleach?
>No, seguo solo naruto...sono un appasionato i ninja e arti marziali..
>
DB forever fa al tuo allora :)
>
>Allora, io ho creato tre query:
>- SelectRicercaData (per cercare la data, perchè non riesco a
>cercare data e testi contemporneamente, almeno, io non ci ono
>riuscito )
mi ci metto anche io al limite si potrebbe ricreare una tabella apparte per gestire le date...

>- SelectRicercaTxt (per cercare nei cmpi testo che mi hai indicato,
>comunque è personalizzabile la query, fatta con UNION)
>- SelectRicercaTxt2 (per cercare nei cmpi testo che mi hai indicato,
>comunque è personalizzabile la query, fatta con OR)
>
>Poi ho modificato un attimo la tabella TClienti e le relazioni,
>dagli un'occhiata, io mi sono permesso.
hai fatto benissimo, siamo qua a smanettare....che figata..cmq...le query funzionano grandissimo!!!!

>
>Puoi provare a fare una ricerca dove ci sono i seguenti elementi:
>
>cboTipoRicerca -> all'interno ci metterai, DATA o TESTO, se
>DATA usi SelectRicercaData, se TESTO usi SelectRicercaTxt
>txtTestoRicerca -> dove inserisci quello che vuoi cercare
>btnCerca -> esegue le query in base alla cboTipoRicerca

hai qualche idea su come si possa applicare il tutto ad un pulsante?

>
>Io una cosa del genere la saprei fare su vb.net, no su VBA
cambia di molto il linguaggio ??

>Mi sono accorto di averti scritto una cosa sbagliata sull query
>della LIKE, infatti avevo usato come carattere jolly il %, ma
>in Access usa *, scusami.
ma va la!!! non preoccuparti sai quante cose sbaglio io :)
>
>Guarda un attimo se la situazione ti fa comodo.
>
>Sia SelectRicercaTxt e SelectRicercaTxt2 fanno la stessa cosa,
>ma scritte in modo diverso, io preferisco la 2 perchè più intuitiva.
>
>Questa è la mia soluzione, spero sia quello che volevi.
yes! grazie a te ci siamo quasi.
Vedendo il db, secondo occhi piu esperti, è stato fatto abbastanza bene?
>
>Ciao


echo "se la chiave per imparare è sbagliare, allora non mi vergogno di sbagliare"

kakashi Profilo | Newbie

Ciao, occhi più esperti IO non mi sembra, però mi sembra relazionato in modo corretto.

Le differenze non le so...spero si avvicini almeno a vb6 o cose simili...

Devo provare..

Io provo a smanettare un pò, se qualcun'altro ha idee spero che ti possa dare una mano in VBA.

>mi ci metto anche io al limite si potrebbe ricreare una tabella apparte per gestire le date...
Secondo me non cambia..il problema è il seguente: se hai visto la SelectRicercaTxt2, la query usa la stessa variabile di ricerca-> [CAMPO], se inseissi la OR con la ricerca di campo sulla data, darebbe errore, perchè testo e data non vanno olto d'accordo, avevo già provato, perciò ho separato la cosa.
Al momento è la soluzione più rapida che mi è venuta.

Comunque adesso provo un pò con VBA e vediamo quanto differisce...

Ciao, di nulla.

orim Profilo | Newbie

Troppo mitico!!
Il primo che trova una soluzione c'è lo segnali :D

echo "se la chiave per imparare è sbagliare, allora non mi vergogno di sbagliare"

kakashi Profilo | Newbie

Ciao, ci sono quasi, devo solo capire come passare un parametro in VBA ala query, poi penso siamo a cavallo..

kakashi Profilo | Newbie

Ho risolto il problema della combo, cioè come assegnare la stored procedur i base a TESTO o DATA, ma non so come passare i parametri alla stored.
Se non sbaglio il VBA di access dovrebbe essere in VB6, ma non ne sono sicuro, ed io il VB6 me lo ricordo appena al momento.

Al momento io ti posso dare una mano fino a qui. Oltre al momento non sono in grado.

Spero che altri abbiano una soluzione. Io continuo a provare ancora, anche perchè è diventata una cosa di principio.. .

Ciao

orim Profilo | Newbie

>Ho risolto il problema della combo, cioè come assegnare la stored
>procedur i base a TESTO o DATA, ma non so come passare i parametri
>alla stored.
Eccomi sono rientrato piu carico di prima, stamane mi ributto anche io alla ricerca di soluzioni.

>Se non sbaglio il VBA di access dovrebbe essere in VB6, ma non
>ne sono sicuro, ed io il VB6 me lo ricordo appena al momento.
>
>Al momento io ti posso dare una mano fino a qui. Oltre al momento
>non sono in grado.
sei stato di grande aiuto, vedrai che piano piano lo sbrogliamo

>
>Spero che altri abbiano una soluzione. Io continuo a provare
>ancora, anche perchè è diventata una cosa di principio..
Pure per me.
Sono fiducioso

>
>Ciao


echo "se la chiave per imparare è sbagliare, allora non mi vergogno di sbagliare"
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5