Salve a tutti, vi spiego il mio problema:
Devo pescare dei dati da un database access, dove i dati sono memorizzati con apostrofi e parole accentate, ma la variabile con la quale faccio la query è senza questi caratteri.
In poche parole io vorrei ottenere come risultato di una query il record che ha il valore Titolo "qualità" anche se cerco "qualita", o "l'azienda" se cerco "azienda", purtroppo non posso fare query con LIKE, dato che andrei a pescare più dati, allora ho pensato di risolvere il problema lato Access anziché via ASP...
1. Ho creato nel file access un modulo dove ho creato un a funzione:
2. Ho creato una query Access che usa tale funzione "np":codice:Function np(fld As String) As String If fld <> "" Then np = LCase(fld) np = Replace(np, " ", "_") np = Replace(np, "l' ", "") np = Replace(np, "l'", "") np = Replace(np, "'", "") np = Replace(np, "à", "a") np = Replace(np, "è", "e") np = Replace(np, "é", "e") np = Replace(np, "ì", "i") np = Replace(np, "ò", "o") np = Replace(np, "ù", "u") np = Replace(np, "*", "") End If End Function
Se da access apro questa funzione, vedo i dati correttamente, con i vari à>a, è>e, ecc...codice:SELECT contenuti.id, contenuti.id_rif, np(contenuti.Titolo) AS Titolo, np(contenuti.Titolo_en) AS Titolo_en FROM contenuti;
3. Nella mia pagina Web ASP:
Ora, quando faccio partire la mia pagina asp, ottengo questo errore:codice:Set conn = Server.CreateObject("ADODB.Connection") conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/deca.mdb") & ";" Set Rs = Server.CreateObject("ADODB.Recordset") Rs.Open "Select * from qryNp where Titolo = 'qualita' ", conn, 1, 2 response.write Rs("id") Rs.close set rs = nothing
Tipo di errore:
Microsoft JET Database Engine (0x80040E14)
Funzione 'np' non definita nell'espressione.
/deca/nptest.asp, line 5
Qualcuno sa illuminarmi? thanx.

Rispondi quotando