Ricerca dati

sabato 31 agosto 2013 - 10.16
Tag Elenco Tags  Access (.mdb)

sergranero Profilo | Junior Member

Ciao a tutti, avrei bisogno del vostro aiuto... vi spiego:
ho una casella di testo contenente una serie di dati in elenco ( "artista"). In funzione del dato scelto, nella casella di destra ("titolo"), compare un altro dato.
Quando digito delle lettere nella casella di testo "ricerca_cd", vengono filtrati i nomi che contengono i dati digitati.
Vi riporto il codice utilizzato per ricercare il dato nella casella di testo "Artista".

Private Sub txtRicercaCd_Change() Dim strWhere As String Dim strOrderBy As String Dim strTxtRc As String ' save impo testo di ricerca strTxtRc = Me.txtRicercaCd.Text ' costruttore stringa where di ricerca e Order By If Not IsNull(strTxtRc) Or Trim(strTxtRc) = "" Then 'Select Case Me.selMyFiltro 'Case 1 ' filtro ricerca su colonna artista strWhere = "Where [show Autori].Artista Like '*" & Trim(strTxtRc) & "*' " strOrderBy = "ORDER BY [show Autori].Artista" Else strWhere = "" strOrderBy = "" End If Me.autore.RowSource = "SELECT [show Autori].Artista " & _ "FROM [show Autori] " & _ strWhere & " " & _ strOrderBy & ";" ' reset controlli Me.txtRicercaCd = strTxtRc Me.txtRicercaCd.SetFocus Me.txtRicercaCd.SelStart = Len(Me.txtRicercaCd) End Sub

A me interesserebbe che digitando le prime tre lettere nella casella di testo "ricerca_cd", in automatico la selezione passi nella casella di testo "Artista"
Spero di essere stato chiaro nella spiegazione.
Grazie
Ciao

renarig Profilo | Expert

Se ho capito bene tu hai:

- Una Tabella di Nome "show Autori" con dentro il campo "Artista"

- Una maschera di nome xxxx con dentro i seguenti controlli:
--- CasellaDiTesto di nome "txtRicercaCd" Non associata

-- CasellaCombimata di nome "autore" Non associata

quando digiti 3 caratteri nella "txtRicercaCd" vuoi:
------- spostare il Focus a "autore"
------- aprire la bandiera a discesa di "autore"
------- impostare il "autore" con il 1° valore della bandiera a discesa

Giusto ????

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

Facci sapere

.




sergranero Profilo | Junior Member

Innanzittutto..... GRAZIEEEEEEEEE!!!!!!!!
Ti allego il database
Grazie ancora!!!!!!!!!!!!!!!!!!!!!!!!!!!!

L'unica cosa.......ora il segno di selezione seleziona l'artista nella casella di testo "autore". Però finchè non sposto il tab di selezione al nome dell'artista sotto non vengono visualizzati i rispettivi dati contenuti nella casella di testo "lista"
Ti faccio un esempio per essere più chiaro....
In "txtRicercaCd" digito "cam" e mi compare
_Campbell and Lanegan
_Campbell

Per visualizzare i dati in "lista", devo spostare la selezione a "Campbell" e poi tornare su a "Campbell and Lanegan"
In effetti la macro è in Evento "Dopo aggiornamento" e credo che sia questo il problema ma l'ho posizionata in Evento "su pressione" e "Su clic" ma non funziona
Grazie

renarig Profilo | Expert

>Per visualizzare i dati in "lista", devo spostare la selezione
>a "Campbell" e poi tornare su a "Campbell and Lanegan"
Perche il Requery di "lista" lo fai dopo Aggiornamento di "autore"

Ptova a modificare il codice cosi:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

sergranero Profilo | Junior Member

Ciao, grazie per la modifica...il problema è che così non ottengo che la selezione passi in automatico ( dopo aver digitato 3 lettere ) nella casella di testo "autore". Secondo te c'è un modo per evitare di associare all'Evento "Dopo aggiornamento" la macro?
Grazie
Ciao

P.s. Non mi fraintendere...non voglio fare il difficile......Già così va molto bene il codice perchè rispetto a prima ora mi visualizza i dati della casella di testo "lista". E diciamo un lusso se riesco a ottenere che la selezione si sposti sulla casella "autore", ma se non si può non c'è problema...sei già stato GENTILISSIMO!!!!!!!!!!!!!!!!!

renarig Profilo | Expert

>Ciao, grazie per la modifica...il problema è che così non ottengo
>che la selezione passi in automatico ( dopo aver digitato 3 lettere
>) nella casella di testo "autore". Secondo te c'è un modo per
>evitare di associare all'Evento "Dopo aggiornamento" la macro?
C'è qualcosa che mi sfugge
ammesso che dopo avere digitato 3 lettere sposti il focus alla CasellaDiRiepilogo "autore"
cosa otterresti ?????

in quel monento la CasellaDiRiepilogo "autore" contiene un insieme di più autori
quindi devi comunque cliccarci sopra per selezionarne 1 specifico ??????
Allora il Focus spostatelo direttamente con il Clik

Cosi come è adesso a parer mio è meglio,
- scrivi in "txtRicercaCd"
- Filtra da solo la CasellaDiRiepilogo "autore" con più autori corrispondenti a "txtRicercaCd"
- Filtra da solo la CasellaDiRiepilogo "lista"

Non puoi ottenere di più non perche mancano le possibilita, ma sei già al massimo !!!!

Facci capire bene quello che ti occorre

.

sergranero Profilo | Junior Member

Si hai ragione.....in effetti non riuscivo a spostare il focus con il tab...probabilemnte avevo il pc bloccato......
Grazie ancora per la disponibilità!!!
Ciao e GRAZIE

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-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5