Newsgroup: it.comp.appl.access
Titolo: Stranissimo...casella di riepilogo

Buongiorno a tutto il NG!
perchč con questa query
SQL = "SELECT * FROM Lista WHERE titolo LIKE '%" & ric & "%'"
il listato non funziona? (non mi visualizza nella casella di riepilogo i
records trovati)
 Elenco.RowSource = SQL
 Elenco.Requery
mentre con questa query
SQL = "SELECT * FROM Lista"
funziona?
grazie
--------------------------------
Inviato via 
http://usenet.libero.it

 funziona?
    1. Cosa contiene "ric"?
    2. Che database usi?
    2.1. Perche' usi "%" invece di "*"?
--
Ciao :-)
Maurizio
--------
?SPQR(C)
 X
--------

 --
Allora ric contiene la parola da ricercare. se digito io nella casella delle
proprietà appare:
Origine riga :SELECT * FROM Lista WHERE titolo LIKE '%io%'
utilizzo access 2000 e se metto gli * non funziona e non ricerca niente!
ho inserito un'etichetta la cui caption assume il valore del titolo del
brano se questo viente trovato..e la cosa strana è che la ricerca funziona!
è solo la casella di riepilogo che non riesco a capire perchè non funzioni!


 funzioni!
    Andiamo con ordine.
    Casella di riepilogo:
        Nome elemento?
        Origine riga?
        Numero colonne?
        Larghezza colonne?
        Colonna associata?
    Casella di testo:
        Nome elemento?
    Scrivi un esempio di testo che digiti nella casella di testo.
    Dopo di cio' cosa succede? Ci sara' del codice associato a qualche
evento o della Casella di testo o di un Pulsante di comando, immagino.
Mostraci quel codice.



ha scritto:

questo è il codice del pulsante "Ricerca"
Elenco.Visible = False
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim SQL As String
Set conn = CurrentProject.Connection
Set rs = New ADODB.Recordset
ric = InputBox("Titolo:", "Ricerca per Titolo")
SQL = "SELECT * FROM Lista WHERE titolo LIKE '%" & ric & "%'"
rs.Open SQL, conn, 3, 3
If rs.EOF Then
   MsgBox "Nessun brano trovato!"
   Titolo.Caption = "Nessun brano trovato..."
   Autore.Caption = "Nessun brano trovato..."
 
Else
   cornice.BorderWidth = 5
   Do While Not rs.EOF
      message = rs![Titolo] & " by " & rs![Autore]
      MsgBox message
    rs.MoveNext
    Loop
 
   Elenco.Visible = True
 
 
 
   SQL = "SELECT * FROM Lista WHERE titolo LIKE '%" & ric & "%'"
 
   Elenco.RowSource = SQL
   Elenco.Requery
End If
la casella di riepilogo si chiama Elenco e ha le seguenti proprietà:
nome elemento Elenco
Origine controllo (niente)
tipo origine riga : Tabella/query
numero colonne: 3
intestazioni colonne: no
larghezza colonne: 0,3,50,3,50
colonna associata : 1
valore predefinito: (niente)
le due etichette (che servono solo per vedere se funziona la ricerca) sono
autore e titolo



Nella casella di riepilogo devi mettere gli * al posto del %.
Un conto sono le query in ADO (qui va bene %) tramite codice un conto
l'origine dati di un controllo.
Prova e fammi sapere.
Saluti, Antonio.


mettendo gli * al posto dei % la ricerca non funziona...mi dice sempre
"Nessun brano trovato!"
uso access 2000


 autore e titolo
    A questo punto manca solo sapere che cosa scrivi nell'InputBox quando
fai le prove...
    Mi sembrava che avessi fatto un esempio con la parola "io". Giusto?
    Mi sembra che tu non usi Option Explicit. Sbaglio?



no non uso Option Explicit.
ho fatto un esempio con "io" e infatti nell'etichette mi visualizza "Io non
so parlar d'amore"...ma nella casella di riepilogo niente!
help!!!


 so parlar d'amore"...ma nella casella di riepilogo niente!
    Forse non c'entra nulla, ma una occhiata alla "correzione automatica" di
Access la darei...


 
"io" "Io" vuoi vedere che la like ha ragione?
come stai con l' "option compare"?
--
a.cara

 a.cara
l'option compaire?!..cioč?...


 l'option compaire?!..cioč?...
vabbe' poi ne discutiamo.
Prova a fare il test usando "amore" invece di "io"
--
a.cara

 > Le Roi [...]:

    :-)


 :-)
come faccio a controllare?..che devo fare praticamente?


 come faccio a controllare?..che devo fare praticamente?
    Verifica che all'inizio (proprio come primissime righe) di ogni modulo
Visual Basic (Modulo, Modulo di classe, Modulo di Maschera o Report, ...) ci
siano le seguenti:
        Option Compare Database
        Option Explicit
(e consulta la guida a riguardo).
    Se non ci sono aggiungile in tutti i moduli poi:
        Visual Basic:
            Strumenti > Opzioni...
            Editor
            [V] Dichiarazione di variabili obbligatoria
    Option Compare Database invece non ricordo con quale opzione si imposti,
ma mi sembra che sia di default, a differenza di Explicit.
    Il problema del fallimento della tua ricerca potrebbe stare nel fatto
che la stringa "io" possa non essere valutata come uguale alla stringa "Io".
Non sono ancora sicuro che sia quello il problema perche' dici che la
analoga stringa SQL precedente funziona. Ma dato che tu sei li' e noi siamo
qui possiamo solo verificare tramite te. Quindi dacci una mano...
    Probabilmente la questione e' un'altra, magari in qualche parte di cio'
che non ci hai ancora fatto "vedere"...
    Come diceva Alessandro, fa' altri test con altre parole e frasi.
    Magari rileggi tutto il 3d (i 3d?) dall'inizio alla fine. Dopo un gelato
e un giro attorno all'isolato, possibilmente...


 ha scritto nel messaggio
news:151Z38Z55Z229Y1...@usenet.libero.it...

Dopo tante prove prova cosě:
SQL = "SELECT Lista.* FROM Lista WHERE (((Lista.Titolo) Like " & "'*" & ric
& "*'" & "));"
Attento a riprodurre bene la scritta "'*"  : doppiapice, Apice,
asterisco,doppi apici
e "*'": doppiapici, asterisco, apice, doppiapici
Se vuoi puoi copiarla integralmente perchč ho riprodotto la tabella.
In questo caso controlla solo la corrispondenza delle colonne, e i tipi di
dati. Il risultato si aspetta nella colonna corrispondente a "Titolo" un
tipo di dati stringa.
Ciao, Carlo