17 messaggi dal 12 giugno 2007
Ciao a tutti, premetto che di programmazione non ne capisco un tubo. La richiesta di aiuto è questa: Mi aiutate scrivendomi il codice. Ho tre tabelle una con le Regioni d'italia (IdRegione - Regione) - una con le provincie (IdProvincia - Provincia - IdRegione) l'ultima è quella relativa ai dati (Id - Regione - Provincia - Nome - Cognome ecc..). Premetto che in asp riesco a connettere il database e riesco a visualizzare tutti i report. La mia esigenza è quella di creare 2 menu a tendina uno con le regioni l'altro con le provincie e la query dovrebbe dare come risultato solo le persone presenti nella Regione e la Provincia scelta.
VI PREGO AIUTATEMI...!!!
Modificato da intrepidosul2 il 11 luglio 2007 09.14 -
308 messaggi dal 13 luglio 2005
Ciao,
domande: tu vuoi che scegliendo la regione la pagina si ricarichi automaticamente e ti "popoli" la listbox delle province e, a sua volta, scegliendo la provincia la pagina si ricarichi e ti mostri l'elenco dei nominativi?

Oppure vuoi gestire il tutto con dei tasti, ovvero: scegli la regione e premi un tasto, scegli la provincia e premi un altro tasto?

Oppure?

Ciao.

Umb
17 messaggi dal 12 giugno 2007
Hai compreso perfettamente. Vorrei che scegliendo la regione con un menu a discesa, si popolasse la listbox con le provincie e scegliendo la provincia si visualizzassero tutti i dati presenti nel database nella regione e relativa provincia scelta. Se non chiedo troppo vorrei che nel caso non venisse scelta la provincia mi visualizzasse tutti i dati presenti nella regione.
Grazie per la disponibilità.
Modificato da intrepidosul2 il 13 luglio 2007 10.40 -
308 messaggi dal 13 luglio 2005
Ciao,
di seguito eccoti il codice che volevi. Devi adattare i nomi delle tabelle, il nome della pagina (si chiama prova.asp e c'è un redirect alla line 97 alla stessa pagina che devi correggere col nome della tua pagina). Se hai problemi fammi sapere.

Ciao

Umb

******************************************************
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="../Connections/MiaConnessione.asp" -->
<%
Dim rsRegioni
Dim rsRegioni_cmd
Dim rsRegioni_numRows

Set rsRegioni_cmd = Server.CreateObject ("ADODB.Command")
rsRegioni_cmd.ActiveConnection = MM_MiaConnessione_STRING
rsRegioni_cmd.CommandText = "SELECT IDRegione, Regione FROM dbo.Regioni ORDER BY Regione"
rsRegioni_cmd.Prepared = true

Set rsRegioni = rsRegioni_cmd.Execute
rsRegioni_numRows = 0
%>
<%
Dim rsProvince__Param1
rsProvince__Param1 = "-1"
If (Request.QueryString("Regione") <> "") Then
rsProvince__Param1 = Request.QueryString("Regione")
End If
%>
<%
Dim rsProvince
Dim rsProvince_cmd
Dim rsProvince_numRows

Set rsProvince_cmd = Server.CreateObject ("ADODB.Command")
rsProvince_cmd.ActiveConnection = MM_MiaConnessione_STRING
rsProvince_cmd.CommandText = "SELECT IDProvincia, Provincia FROM dbo.Province WHERE IDRegione = ? ORDER BY Provincia"
rsProvince_cmd.Prepared = true
rsProvince_cmd.Parameters.Append rsProvince_cmd.CreateParameter("param1", 5, 1, -1, rsProvince__Param1) ' adDouble

Set rsProvince = rsProvince_cmd.Execute
rsProvince_numRows = 0
%>
<%
Dim rsClienti__Param1
rsClienti__Param1 = "-1"
If (Request.Form("Regione") <> "") Then
rsClienti__Param1 = Request.Form("Regione")
End If
%>
<%
Dim rsClienti__Param2
rsClienti__Param2 = "-1"
If (Request.Form("Provincia") <> "") Then
rsClienti__Param2 = Request.Form("Provincia")
End If
%>
<%
Dim rsClienti
Dim rsClienti_cmd
Dim rsClienti_numRows

Set rsClienti_cmd = Server.CreateObject ("ADODB.Command")
rsClienti_cmd.ActiveConnection = MM_MiaConnessione_STRING
rsClienti_cmd.CommandText = "SELECT ID, Nome, Cognome FROM dbo.Clienti WHERE IDRegione = ?"
rsClienti_cmd.Prepared = true
rsClienti_cmd.Parameters.Append rsClienti_cmd.CreateParameter("param1", 5, 1, -1, rsClienti__Param1) ' adDouble

If CStr(Request.Form("Provincia")) <> "-1" then
rsClienti_cmd.CommandText = rsClienti_cmd.CommandText + " AND IDProvincia = ?"
rsClienti_cmd.Parameters.Append rsClienti_cmd.CreateParameter("param2", 5, 1, -1, rsClienti__Param2) ' adDouble
End If

Set rsClienti = rsClienti_cmd.Execute
rsClienti_numRows = 0
%>
<%
Dim Repeat1__numRows
Dim Repeat1__index

Repeat1__numRows = -1
Repeat1__index = 0
rsClienti_numRows = rsClienti_numRows + Repeat1__numRows
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_goToURL() { //v3.0
var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
//-->
</script>
<title>Untitled Document</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="">
<div align="center">
<label>Regione:
<select name="Regione" id="Regione" onChange="MM_goToURL('parent','Prova.asp?Regione=' + this.options[this.selectedIndex].value + '');return document.MM_returnValue">
<option value="-1" <%If (Not isNull((Request.QueryString("Regione")))) Then If ("-1" = CStr((Request.QueryString("Regione")))) Then Response.Write("selected=""selected""") : Response.Write("")%>>(scegli)</option>
<%
While (NOT rsRegioni.EOF)
%><option value="<%=(rsRegioni.Fields.Item("IDRegione").Value)%>" <%If (Not isNull((Request.QueryString("Regione")))) Then If (CStr(rsRegioni.Fields.Item("IDRegione").Value) = CStr((Request.QueryString("Regione")))) Then Response.Write("selected=""selected""") : Response.Write("")%> ><%=(rsRegioni.Fields.Item("Regione").Value)%></option>
<%
rsRegioni.MoveNext()
Wend
If (rsRegioni.CursorType > 0) Then
rsRegioni.MoveFirst
Else
rsRegioni.Requery
End If
%>
</select>
</label>
<label>Provincia:
<select name="Provincia" id="Provincia">
<option value="-1" <%If (Not isNull((Request.Form("Provincia")))) Then If ("-1" = CStr((Request.Form("Provincia")))) Then Response.Write("selected=""selected""") : Response.Write("")%>>(tutte)</option>
<%
While (NOT rsProvince.EOF)
%><option value="<%=(rsProvince.Fields.Item("IDProvincia").Value)%>" <%If (Not isNull((Request.Form("Provincia")))) Then If (CStr(rsProvince.Fields.Item("IDProvincia").Value) = CStr((Request.Form("Provincia")))) Then Response.Write("selected=""selected""") : Response.Write("")%> ><%=(rsProvince.Fields.Item("Provincia").Value)%></option>
<%
rsProvince.MoveNext()
Wend
If (rsProvince.CursorType > 0) Then
rsProvince.MoveFirst
Else
rsProvince.Requery
End If
%>
</select>
</label>
<label>
<input type="submit" name="Submit" value="Invia" />
</label>
</div>
</form>

<% If Not rsClienti.EOF Or Not rsClienti.BOF Then %>
<table width="90%" border="0" align="center" cellpadding="2" cellspacing="2">
<tr>
<th>ID</th>
<th>Nome</th>
<th>Cognome</th>
</tr>
<%
While ((Repeat1__numRows <> 0) AND (NOT rsClienti.EOF))
%>
<tr>
<td><%=(rsClienti.Fields.Item("ID").Value)%></td>
<td><%=(rsClienti.Fields.Item("Nome").Value)%></td>
<td><%=(rsClienti.Fields.Item("Cognome").Value)%></td>
</tr>
<%
Repeat1__index=Repeat1__index+1
Repeat1__numRows=Repeat1__numRows-1
rsClienti.MoveNext()
Wend
%>

<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
<% End If ' end Not rsClienti.EOF Or NOT rsClienti.BOF %>
<p>&nbsp;</p>
</body>
</html>
<%
rsRegioni.Close()
Set rsRegioni = Nothing
%>
<%
rsProvince.Close()
Set rsProvince = Nothing
%>
<%
rsClienti.Close()
Set rsClienti = Nothing
%>
******************************************************
17 messaggi dal 12 giugno 2007
Sei grande, provo e ti faccio sapere..!!
Grazie..
17 messaggi dal 12 giugno 2007
Mi da questo errore:

Informazioni tecniche (per il personale del supporto tecnico)

Tipo di errore:
ADODB.Command (0x800A0BB9)
Gli argomenti non sono di tipo valido, non sono compresi nell'intervallo consentito o sono in conflitto.
/prova.asp, line 10


Tipo di browser:
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)

Pagina:
GET /prova.asp

Premetto che ho creato un file "MiaConnessione.asp" nella directory "Connections" e come stringa di connessione ho inserito:

<%
Function GetDatabaseConn()
dim MiaConnessione
Set conn= Server.CreateObject("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.MapPath("/mdb-database/scuole2.mdb")
End Function
%>

Chiaramente invece di rinominare le tabelle nel tuo script ho rinominato il db sul tuo script ho solo aggiunto:

<% If Not rsClienti.EOF Or Not rsClienti.BOF Then %>
<table width="90%" border="0" align="center" cellpadding="2" cellspacing="2">
<tr>
<th>Regione</th>
<th>Provincia</th>
<th>Città</th>
<th>NomeScuola</th>
<th>Maestri</th>
<th>BalliInsegnati</th>
<th>Via</th>
<th>civico</th>
<th>Telefono</th>
<th>Cellulare</th>
<th>Fax</th>
<th>Email</th>
<th>Web</th>
</tr>
<%
While ((Repeat1__numRows <> 0) AND (NOT rsClienti.EOF))
%>
<tr>
<td><%=(rsClienti.Fields.Item("Regione").Value)%></td>
<td><%=(rsClienti.Fields.Item("Provincia").Value)%></td>
<td><%=(rsClienti.Fields.Item("Città").Value)%></td>
<td><%=(rsClienti.Fields.Item("NomeScuola").Value)%></td>
<td><%=(rsClienti.Fields.Item("Maestri").Value)%></td>
<td><%=(rsClienti.Fields.Item("BalliInsegnati").Value)%></td>
<td><%=(rsClienti.Fields.Item("Via").Value)%></td>
<td><%=(rsClienti.Fields.Item("civico").Value)%></td>
<td><%=(rsClienti.Fields.Item("Telefono").Value)%></td>
<td><%=(rsClienti.Fields.Item("Cellulare").Value)%></td>
<td><%=(rsClienti.Fields.Item("Fax").Value)%></td>
<td><%=(rsClienti.Fields.Item("Email").Value)%></td>
<td><%=(rsClienti.Fields.Item("Web").Value)%></td>
</tr>
<%

Grazie della disponibilità
Modificato da intrepidosul2 il 13 luglio 2007 18.05 -
308 messaggi dal 13 luglio 2005
Ciao,
nel file incluso MiaConnessione.asp devi solo mettere la stringa di connessione.
Ovvero:

<%
Dim MM_MiaConnessione_STRING
MM_MiaConnessione_STRING = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Server.MapPath("/mdb-database/guestbook.mdb") + ";Persist Security Info=False;"
%>

Fammi sapere.

Umb
17 messaggi dal 12 giugno 2007
Mi da questo errore:

Informazioni tecniche (per il personale del supporto tecnico)

Tipo di errore:
Microsoft Office Access Database Engine (0x80004005)
Impossibile trovare il file "C:\WINDOWS\system32\dbo.mdb".
/prova.asp, line 13


Tipo di browser:
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)

Pagina:
GET /prova.asp

QUESTO SONO LE PRIME LINEE:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file = "Connections/MiaConnessione.asp" -->
<%
Dim rsRegioni
Dim rsRegioni_cmd
Dim rsRegioni_numRows

Set rsRegioni_cmd = Server.CreateObject ("ADODB.Command")
rsRegioni_cmd.ActiveConnection = MM_MiaConnessione_STRING
rsRegioni_cmd.CommandText = "SELECT IDRegione, Regione FROM dbo.Regioni ORDER BY Regione"
rsRegioni_cmd.Prepared = true

Set rsRegioni = rsRegioni_cmd.Execute

Scusa la mia ignoranza, ma io stò lavorando su un database di microsoft access. e' LO STESSO?

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.