Newsgroup: it.comp.www.asp
Titolo: Interrogazione DB: Errore che non riesco a motivare

Ho una pagina ASP con una connessione ad un DB, query di interrogazione
e stampa a video dei risultati.
Mi da un errore che non riesco a capire dove stam, a me sembra tutto
ok.
Tra l'altro il codice è praticamente uguale a quello di altre pagine
che si collegano allo stesso DB e che funzionano alla perfezione.
L'errore che mi restituisce è il seguente:
Error Type:
Microsoft VBScript compilation (0x800A03F6)
Expected 'End'
/employeeportal/nuovoportale/rubrica.asp, line 65
Vi riporto il codice:
[CODE]
<%@ Language=VBSCRIPT %>
<% Option Explicit %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
	"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd
">
<html xmlns="
http://www.w3.org/1999/xhtml
">
	<head>
		<title>
			Employee Portal - Rubrica
		</title>
		<link rel="stylesheet" href="style4.css" type="text/css"/>
	</head>
<!--#include file="adovbs.inc"-->
	<body>
	<%
		'Apertura della connessione al database senza usare i DSN
		Dim objConn
		Set objConn = Server.CreateObject("ADODB.Connection")
		objConn.ConnectionString="DRIVER={Microsoft Access Driver (*.mdb)};"
&
"DBQ=C:\inetpub\wwwroot\EmployeePortal\NuovoPortale\database\portale.mdb"
		objConn.Open
		'Dichiarazione delle variabili dei criteri di ricerca
		Dim Cognome, Nome
		'Recupero delle informazioni dalla maschera di ricerca
		Cognome = Request.Form("CognomeRichiesto")
		Nome = Request.Form("NomeRichiesto")
		'Definizione della stringa SQL
		Dim strRubricaSQL
			'Controllo i criteri di ricerca inseriti
			'Caso in cui si sia inserito sia il nome che il cognome
			If Cognome <> "" AND Nome <> "" Then
				strRubricaSQL = "SELECT COGNOME, NOME, SIGLA, Phone, ROOM,
Palazzina FROM dbo_Organico WHERE COGNOME='" & Cognome & "' AND NOME='"
& Nome & "' ORDER BY COGNOME"
			'Caso in cui sia stato inserito solo il cognome
			Else If Cognome <> "" AND Nome = "" Then
				strRubricaSQL = "SELECT COGNOME, NOME, SIGLA, Phone, ROOM,
Palazzina FROM dbo_Organico WHERE COGNOME='" & Cognome & "' ORDER BY
COGNOME"
			'Caso in cui sia stato inserito solo il nome
			Else
				strRubricaSQL = "SELECT COGNOME, NOME, SIGLA, Phone, ROOM,
Palazzina FROM dbo_Organico WHERE NOME='" & Nome & "' ORDER BY COGNOME"
			End If
		'Creazione dell'istanza del recordset
		Dim objRS
		Set objRS = Server.CreateObject("ADODB.Recordset")
		objRS.Open strRubricaSQL, objConn
		'Visualizzazione dei dati
		Do While Not objRS.EOF
			Response.Write objRS("COGNOME") & "<br>"
			Response.Write objRS("NOME") & "<br>"
			Response.Write objRS("SIGLA") & "<br>"
			Response.Write objRS("Phone") & "<br>"
			Response.Write objRS("ROOM") & "<br>"
			Response.Write objRS("Palazzina") & "<br><hr>"
			'Posizionamento alla riga successiva della tabella
			objRS.Movenext
		Loop
		' Pulizia degli oggetti ADO
		objRS.Close
		Set objRS = Nothing
		objConn.Close
		Set objConn = Nothing
	%>
	</body>
</html>
[/CODE]

 /employeeportal/nuovoportale/rubrica.asp, line 65
E qual è la riga 65?
-- 
"Ti sei salvato
 o sei entrato in banca pure tu?"
									    A.V.

Set objConn = Nothing

 Else If Cognome <> "" AND Nome = "" Then
Modifica questa riga in:
ElseIf Cognome <> "" AND Nome = "" Then
Ciao!
-- 
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

Se non sbaglio manca un end if (dopo l'unico che hai inserito)

Bene, quel problema si è risolto, ma ora mi da un altro errore:
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] ODBC--connection to
'Personale' failed.
/employeeportal/nuovoportale/rubrica.asp, line 46
La riga 46 è la seguente:
objRS.Open strRubricaSQL, objConn
Quello che non capisco è dove prende la parola "Personale" che mi
sembra non esserci nel listato e in secondo luogo non capisco perchè
mi da errore dal momento che altri file asp con lo stesso codice
riescono a collegarsi al database dalla stessa directory in cui si
trova rubrica.asp (quindi anche i percorsi sono giusti)

Attenzione
Else If Cognome <> "" AND Nome = "" Then
presenta un errore, dove elseif deve essere attaccato.
Poi prova a dare un'occhita qui, tanto per incominciare.
http://www.connectionstrings.com/
E poi io commenterei tutto il codice ad eccezione della connessione, per
verificare a che riga sia l'errore, ma soprattutto se devi fare un execute o
un open, ecc...
-- 
Armand Federico
www.armand.it

 ha scritto nel messaggio
news:1125922626....@g44g2000cwa.googlegroups.com...

'Personale' è sicuramente una tabella o una query indicata nella variabile
strRubricaSQL.
Ciao
Mida