Rieccomi con un nuovo problema.
Sto realizzando un registro di cleasse online e allo scopo ho modificato (o per lo meno ho cercato di modificare) un vecchio script trovato su internet e che serviva se non ricordo male per la ricerca del CAP.
Il funzionamento è questo: il genitore può, con un nome utente e password, visualizzare la scheda del proprio figlio e solo quella.
Ora sembra funzionare tutto tranne due particolari:
1) se inserisco il nome utente e lascio vuota la casella password o viceversa, mi da questo errore

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error in FROM clause.

/assenze_profitto/alunni.asp, line 46


la linea incriminata è
rstusername.Open sql,conn,3,3
ecco il codice:
codice:
<%
password = trim(request.form("password"))
password = replace(password, "'", "''")
username = trim(request.form("username"))
username = replace(username, "'", "''")

dbconn = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../mdb-database/alunni.mdb")
Set conn=Server.CreateObject ("ADODB.Connection")
conn.open dbConn


Set rstusername=Server.CreateObject ("ADODB.Recordset")
Sql = "Select * from studenti"


if username<>"" and password<>"" then
	sql=sql& " where "

end if

if password<>"" then
	sql=sql& "password like '" & password & "'"
end if

if password<>"" and username<>"" then
	sql=sql & " and "
end if
	
if username<>"" then
	sql=sql& "username like '" & username & "'"
end if

rstusername.Open sql,conn,3,3
totrecord = rstusername.recordcount



%>
2) se inserisco come username un nome con l'apice (es: d'amato)mi restituisce nella casella username d''amato (e non è bello a vedersi).
A parte il codice un po' incasinato (sono alle prime armi), dove sbaglio?
Il sistema è sicuro per la protezione dei dati?
Spero di essere stato chiaro
Grazie