19 messaggi dal 02 gennaio 2004
Chiedo scusa se invio di nuovo il messaggio di due giorni fa: non capisco se nessuno mi risponde perchè è completamente sballato il codice oppure perchè nessuno dei lettori conosce la soluzione al problema. Comunque reintroduco il testo del precedente messaggio.

Ho una tabella in un db sql con 4 campi:
Data_inizio; Data_Fine; Ora_Inizio; Ora_Fine; Appuntamento.
Ho costruito un calendario tramite il quale vorrei selezionare i record della tabella in base al giorno selezoionato. Il problema è che non riesco ad utilizzare la data selezionata come condizione where del recordset. Il codice che sto usando è il seguente:

<%
Dim rs1
Dim rs1_cmd
Dim rs1_numRows
Set rs1_cmd = Server.CreateObject ("ADODB.Command")
rs1_cmd.ActiveConnection = "Provider=SQLOLEDB;data Source=srvmssql1;Initial Catalog=ammidati;User Id=Ammidati; Password=Ammi123dati"
'Condizione where che ho provato ad inserire per visualizzare solo i record della data selezionata
rs1_cmd.CommandText = "SELECT * FROM ammidati.Agenda" 'where Data_Inizio='" & data & "'"
rs1_cmd.Prepared = true
Set rs1 = rs1_cmd.Execute
rs1_numRows = 0
%>
<html>
<head>
<title>Comune di Ascoli Piceno - Intranet</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="style_intra.css" rel="stylesheet" type="text/css">
<style>
td { font: Normal 10px Verdana; }
</style>

<style type="text/css">
<!--
.sfondocella {
background-color: #CCCCCC;
}
.sfondocellarosso {
background-color: #990033;
}
-->
</style>
</head>
<%
Session.LCID = 1040
%>
<body>
<p>&nbsp;</p>
<Table>
<Tr>
<td width="520" valign="top" class="bordotab">
<%
If Request("data") ="" then
data = Date()
else
data = CDate(Request("data"))
end if
intestazione = UCase(MonthName(Month(Data))) & " " & Year(Data)
gg_mese = "01/" & Month(Data) & "/" & Year(Data)
gg = 1
%>
<table width="100%" border="1" align="center" cellpadding="5"
cellspacing="0" bordercolor="#CCCCCC" bgcolor="#FFFFFF">
<tr>
<td align="center" valign="top" bgcolor="#EEEEEE"><a href="agenda_1.asp?data=<%=DateAdd("m", -1, data)%>"><strong>&lt;</strong></a></td>
<td align="center" colspan="5" bgcolor="#EEEEEE"><b><%=intestazione%></a></b>
<td align="center" bgcolor="#EEEEEE"><a href="agenda_1.asp?data=<%=DateAdd("m", 1, data)%>"><strong>&gt;</strong></a></td></tr>
<tr bgcolor="#FFFFCC">
<td align="center"><b>DOM</b></td>
<td align="center"><b>LUN</b></td>
<td align="center"><b>MAR</b></td>
<td align="center"><b>MER</b></td>
<td align="center"><b>GIO</b></td>
<td align="center"><b>VEN</b></td>
<td align="center"><b>SAB</b></td>
</tr>
<%
If (Month(Data) + 1) > 12 Then
mm = 1
aa = Year(Data) + 1
Else
mm = (Month(Data) + 1)
aa = Year(Data)
End if
primo = "01" & "/" & mm & "/" & aa
ultimo = DateAdd("d", -1, primo)
While (gg <= Day(ultimo))
%>
<tr>
<%
gg_sett = WeekDay(gg_mese)
For i = 1 To gg_sett - 1
%>
<td align="center" bgcolor="#EEEEEE">&nbsp;</td>
<%
Next
For i = gg_sett To 7
If gg = Day(Data) And Month(Data) = Month(Date()) Then
colore_gg = "#FFCCCC"
Else
colore_gg = "#FFFFFF"
End If
%>
<td align="center" bgcolor="<%=colore_gg%>"><a href="agenda_1.asp?data=<%=gg & "/" & Month(Data) & "/" & Year(Data)%>"><%=gg%></a></td>
<%
gg = gg + 1
If gg > Day(ultimo) Then Exit For
Next
For i = i + 1 To 7
%>
<td align="center">&nbsp;</td>
<%
Next
%>
</tr>
<%
gg_mese = gg & "/" & Month(Data) & "/" & Year(Data)
Wend
%>
</table>
</div></td>
</Tr>
</Table>
<p><strong>Appuntamenti del giorno: <%Response.Write(Data)%></strong></p>
<!-- Primo record del DB: Sezione che poi dovrò ripetere per ogni record nel DB-->
<p><strong>Data Inizio:</strong> <%=(rs1.Fields.Item("Data_Inizio").Value)%><br>
<strong>Data Fine:</strong> <%=(rs1.Fields.Item("Data_Fine").Value)%><br>
<strong>Ora Inizio:</strong> <%=(rs1.Fields.Item("Ora_Inizio").Value)%><br>
<strong>Ora Fine</strong>: <%=(rs1.Fields.Item("Ora_Fine").Value)%><br>
<strong>Appunt.:</strong> <%=(rs1.Fields.Item("Appuntamento").Value)%></p>
</body>
</html>
<%
rs1.Close()
Set rs1 = Nothing
%>

Grazie a chiunque voglia darmi un suggerimento.
Franco
887 messaggi dal 21 marzo 2008
domanda semplice che database usi?
prova così: Data_Inizio=#" & data & "#"
19 messaggi dal 02 gennaio 2004
La tabella è una semplice tabella SQL.
La query:
"SELECT * FROM ammidati.Agenda"
funziona perfettamente ma mi restituisce tutti i record della tabella. Se la modifico:
"SELECT * FROM ammidati.Agenda where Data_Inizio='" & data & "'"
mettendo come filtro la variabile "data" che contiene la data che, di volta in volta seleziono, mi viene restituito l'errore: "...è necessario disporre di un record corrente". Penso che la query pur essendo corretta non viene eseguita nel momento giusto.

Grazie pe l'attenzione s se ti è possibile dammi un aiuto.
Franco
887 messaggi dal 21 marzo 2008
db access? mysql? sqlserver?
307 messaggi dal 13 luglio 2005
Ciao Franoc60,
... non mi è ben chiaro cosa intendi fare  ..., ma ... cominciamo con le piccole cose ...  .
Tanto per cominciare una cosa è sicura: non puoi aprire un recordset senza aver valorizzato il parametro di filtro ...
Quindi io cambierei il codice come segue.
Il resto del codice non l'ho controllato ..., ma ... una cosa alla volta ...

Fammi sapere che cosa succede ora, ciao.

Umb

<%
If Request("data") ="" then
data = Date()
else
data = CDate(Request("data"))
end if
%>
<%
Dim rs1
Dim rs1_cmd
Dim rs1_numRows
Set rs1_cmd = Server.CreateObject ("ADODB.Command")
rs1_cmd.ActiveConnection = "Provider=SQLOLEDB;data Source=srvmssql1;Initial Catalog=ammidati;User Id=Ammidati; Password=Ammi123dati"
'Condizione where che ho provato ad inserire per visualizzare solo i record della data selezionata
rs1_cmd.CommandText = "SELECT * FROM ammidati.Agenda" 'where Data_Inizio='" & CStr(data) & "'"
rs1_cmd.Prepared = true
Set rs1 = rs1_cmd.Execute
rs1_numRows = 0
%>
<html>
<head>
<title>Comune di Ascoli Piceno - Intranet</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="style_intra.css" rel="stylesheet" type="text/css">
<style>
td { font: Normal 10px Verdana; }
</style>

<style type="text/css">
<!--
.sfondocella {
background-color: #CCCCCC;
}
.sfondocellarosso {
background-color: #990033;
}
-->
</style>
</head>
<%
Session.LCID = 1040
%>
<body>
<p>&nbsp;</p>
<Table>
<Tr>
<td width="520" valign="top" class="bordotab">
<%
intestazione = UCase(MonthName(Month(Data))) & " " & Year(Data)
gg_mese = "01/" & Month(Data) & "/" & Year(Data)
gg = 1
%>
<table width="100%" border="1" align="center" cellpadding="5"
cellspacing="0" bordercolor="#CCCCCC" bgcolor="#FFFFFF">
<tr>
<td align="center" valign="top" bgcolor="#EEEEEE"><a href="agenda_1.asp?data=<%=DateAdd("m", -1, data)%>"><strong>&lt;</strong></a></td>
<td align="center" colspan="5" bgcolor="#EEEEEE"><b><%=intestazione%></a></b>
<td align="center" bgcolor="#EEEEEE"><a href="agenda_1.asp?data=<%=DateAdd("m", 1, data)%>"><strong>&gt;</strong></a></td></tr>
<tr bgcolor="#FFFFCC">
<td align="center"><b>DOM</b></td>
<td align="center"><b>LUN</b></td>
<td align="center"><b>MAR</b></td>
<td align="center"><b>MER</b></td>
<td align="center"><b>GIO</b></td>
<td align="center"><b>VEN</b></td>
<td align="center"><b>SAB</b></td>
</tr>
<%
If (Month(Data) + 1) > 12 Then
mm = 1
aa = Year(Data) + 1
Else
mm = (Month(Data) + 1)
aa = Year(Data)
End if
primo = "01" & "/" & mm & "/" & aa
ultimo = DateAdd("d", -1, primo)
While (gg <= Day(ultimo))
%>
<tr>
<%
gg_sett = WeekDay(gg_mese)
For i = 1 To gg_sett - 1
%>
<td align="center" bgcolor="#EEEEEE">&nbsp;</td>
<%
Next
For i = gg_sett To 7
If gg = Day(Data) And Month(Data) = Month(Date()) Then
colore_gg = "#FFCCCC"
Else
colore_gg = "#FFFFFF"
End If
%>
<td align="center" bgcolor="<%=colore_gg%>"><a href="agenda_1.asp?data=<%=gg & "/" & Month(Data) & "/" & Year(Data)%>"><%=gg%></a></td>
<%
gg = gg + 1
If gg > Day(ultimo) Then Exit For
Next
For i = i + 1 To 7
%>
<td align="center">&nbsp;</td>
<%
Next
%>
</tr>
<%
gg_mese = gg & "/" & Month(Data) & "/" & Year(Data)
Wend
%>
</table>
</div></td>
</Tr>
</Table>
<p><strong>Appuntamenti del giorno: <%Response.Write(Data)%></strong></p>
<!-- Primo record del DB: Sezione che poi dovrò ripetere per ogni record nel DB-->
<p><strong>Data Inizio:</strong> <%=(rs1.Fields.Item("Data_Inizio").Value)%><br>
<strong>Data Fine:</strong> <%=(rs1.Fields.Item("Data_Fine").Value)%><br>
<strong>Ora Inizio:</strong> <%=(rs1.Fields.Item("Ora_Inizio").Value)%><br>
<strong>Ora Fine</strong>: <%=(rs1.Fields.Item("Ora_Fine").Value)%><br>
<strong>Appunt.:</strong> <%=(rs1.Fields.Item("Appuntamento").Value)%></p>
</body>
</html>
<%
rs1.Close()
Set rs1 = Nothing
%>
19 messaggi dal 02 gennaio 2004
Grazie!! Funziona perfettamente, adesso ho aggiunto anche la ripetizione dei record dello stesso giorno e un messaggio se nel giorno selezionato non ci sono record. Posto anche il codice modificato

<%
If Request("data") ="" then
data = Date()
else
data = CDate(Request("data"))
end if
%>
<%
Dim rs1
Dim rs1_cmd
Dim rs1_numRows
Set rs1_cmd = Server.CreateObject ("ADODB.Command")
rs1_cmd.ActiveConnection = "Provider=SQLOLEDB;data Source=srvmssql1;Initial Catalog=ammidati;User Id=Ammidati; Password=Ammi123dati"
'Condizione where che ho provato ad inserire per visualizzare solo i record della data selezionata
rs1_cmd.CommandText = "SELECT * FROM ammidati.Agenda where Data_Inizio='" & CStr(data) & "'"
rs1_cmd.Prepared = true
Set rs1 = rs1_cmd.Execute
rs1_numRows = 0
%>
<%
Dim Repeat1__numRows
Dim Repeat1__index

Repeat1__numRows = -1
Repeat1__index = 0
rs1_numRows = rs1_numRows + Repeat1__numRows
%>

<html>
<head>
<title>Comune di Ascoli Piceno - Intranet</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="style_intra.css" rel="stylesheet" type="text/css">
<style>
td { font: Normal 10px Verdana; }
</style>

<style type="text/css">
<!--
.sfondocella {
background-color: #CCCCCC;
}
.sfondocellarosso {
background-color: #990033;
}
-->
</style>
</head>
<%
Session.LCID = 1040
%>
<body>
<p>&nbsp;</p>
<Table>
<Tr>
<td width="520" valign="top" class="bordotab">
<%
intestazione = UCase(MonthName(Month(Data))) & " " & Year(Data)
gg_mese = "01/" & Month(Data) & "/" & Year(Data)
gg = 1
%>
<table width="100%" border="1" align="center" cellpadding="5"
cellspacing="0" bordercolor="#CCCCCC" bgcolor="#FFFFFF">
<tr>
<td align="center" valign="top" bgcolor="#EEEEEE"><a href="agenda_3.asp?data=<%=DateAdd("m", -1, data)%>"><strong>&lt;</strong></a></td>
<td align="center" colspan="5" bgcolor="#EEEEEE"><b><%=intestazione%></a></b>
<td align="center" bgcolor="#EEEEEE"><a href="agenda_3.asp?data=<%=DateAdd("m", 1, data)%>"><strong>&gt;</strong></a></td></tr>
<tr bgcolor="#FFFFCC">
<td align="center"><b>DOM</b></td>
<td align="center"><b>LUN</b></td>
<td align="center"><b>MAR</b></td>
<td align="center"><b>MER</b></td>
<td align="center"><b>GIO</b></td>
<td align="center"><b>VEN</b></td>
<td align="center"><b>SAB</b></td>
</tr>
<%
If (Month(Data) + 1) > 12 Then
mm = 1
aa = Year(Data) + 1
Else
mm = (Month(Data) + 1)
aa = Year(Data)
End if
primo = "01" & "/" & mm & "/" & aa
ultimo = DateAdd("d", -1, primo)
While (gg <= Day(ultimo))
%>
<tr>
<%
gg_sett = WeekDay(gg_mese)
For i = 1 To gg_sett - 1
%>
<td align="center" bgcolor="#EEEEEE">&nbsp;</td>
<%
Next
For i = gg_sett To 7
If gg = Day(Data) And Month(Data) = Month(Date()) Then
colore_gg = "#FFCCCC"
Else
colore_gg = "#FFFFFF"
End If
%>
<td align="center" bgcolor="<%=colore_gg%>"><a href="agenda_3.asp?data=<%=gg & "/" & Month(Data) & "/" & Year(Data)%>"><%=gg%></a></td>
<%
gg = gg + 1
If gg > Day(ultimo) Then Exit For
Next
For i = i + 1 To 7
%>
<td align="center">&nbsp;</td>
<%
Next
%>
</tr>
<%
gg_mese = gg & "/" & Month(Data) & "/" & Year(Data)
Wend
%>
</table>
</div></td>
</Tr>
</Table>
<p><strong>Appuntamenti del giorno: <%Response.Write(Data)%></strong></p>
<!-- Primo record del DB: Sezione che poi dovrò ripetere per ogni record nel DB-->

<%
varRs1 = "<B>Non ci sono appuntamenti </B>"
%>

<%
While ((Repeat1__numRows <> 0) AND (NOT rs1.EOF))
If (rs1.Fields.Item("Id_app").Value) <> "" Then varRs1 = ""
%>
<p><strong>Data Inizio:</strong> <%=(rs1.Fields.Item("Data_Inizio").Value)%><br>
<strong>Data Fine:</strong> <%=(rs1.Fields.Item("Data_Fine").Value)%><br>
<strong>Ora Inizio:</strong> <%=(rs1.Fields.Item("Ora_Inizio").Value)%><br>
<strong>Ora Fine</strong>: <%=(rs1.Fields.Item("Ora_Fine").Value)%><br>
<strong>Appunt.:</strong> <%=(rs1.Fields.Item("Appuntamento").Value)%></p>
<%
Repeat1__index=Repeat1__index+1
Repeat1__numRows=Repeat1__numRows-1
rs1.MoveNext()
Wend
response.write(varRs1)
%>

</body>
</html>
<%
rs1.Close()
Set rs1 = Nothing
%>

Grazie
Franco

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.