Utilizzo il seguente codice per mostrare il contenuto di una tabella Access.
Qualcuno mi sa indicare come far mostrare anche l'ID?
Magari un consiglio su come implementare la funzionalità di stampa per un singolo record?
Grazie!!
Paolo calderoni
<%
strFile = "pannello.asp" 'il nome di questo file
strTable = "tabella" 'nome tabella
strKey = "ID" 'chiave primaria, contatore
bgHeaderColor = "Orange"
fontHeaderColor = "black"
bgColor1 = "Silver"
fontColor1 = "Black"
bgColor2 = "White"
fontColor2 = "Black"
Set MyConn=Server.CreateObject("ADODB.Connection")
MyConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/mdb-database/adesioni.mdb")
'**************************************
'azioni da eseguire
'**************************************
Select Case Request("mode")
Case "AddItem"
AddItem
Case "AddItemAction"
AddItemAction
Case "EditItem"
EditItem
Case "EditItemAction"
EditItemAction
Case "DelItem"
delItem
Case Else
ShowAll
End Select
'**************************************
'mostrare tutti i record
'**************************************
Sub ShowAll()
MySQL="Select * from " & strTable
Set MyRs=MyConn.Execute(MySQL)
Response.write ("<h2> Tabella " & strTable & " : il contenuto</h2>")
Response.write ("
<font size=""2"">AGGIUNGI NUOVO</font></p>")
Response.write ("<table border=""1"" cellpadding=""4"" cellspacing=""1"">")
Response.write ("<tr>")
numerocampi=MyRs.fields.count -1
Response.write ("<td bgcolor=""" & bgHeaderColor & """ align=""Center"" nowrap><font color=""" & fontHeaderColor & """ size=""2"">X</font></td>")
Response.write ("<td bgcolor=""" & bgHeaderColor & """ align=""Center"" nowrap><font color=""" & fontHeaderColor & """ size=""2"">E</font></td>")
for i=0 to numerocampi
if Not MyRs(i).name = "ID" then
Response.write ("<td bgcolor=""" & bgHeaderColor & """ align=""Center"" nowrap><font color=""" & fontHeaderColor & """ size=""2"">" & MyRs(i).name & "</font></td>")
end if
next
Response.write ("</tr>")
do while not MyRs.eof
if bgColor = bgColor2 then
bgColor = bgColor1
fontColor = fontColor1
else
bgColor = bgColor2
fontColor = fontColor2
end if
Response.write ("<tr>")
Response.write ("<td align=""Center"" valign=""Top"" bgcolor=""" & bgColor & """>")
Response.write ("<font color=""" & fontColor & """>Elimina</font></td>")
Response.write ("<td align=""Center"" valign=""Top"" bgcolor=""" & bgColor & """>")
Response.write ("<font color=""" & fontColor & """>Modifica</font></td>")
for i = 0 to numerocampi
if Not MyRs(i).name = "ID" then
if MyRs(i).name = "PRICE" then
ThisRecord = FormatCurrency(MyRs(i))
strAlign = "right"
else
ThisRecord = MyRs(i)
strAlign = ""
end if
If IsNull(ThisRecord) or ThisRecord = "" Then
ThisRecord = ""
end if
ThisRecord = Replace(ThisRecord,vbCrLf,"
")
Response.write ("<td align=""" & strAlign & """ valign=top bgcolor=""" & bgColor & """><font color=""" & fontColor & """>" & Thisrecord & "</font></td>")
end if
next
Response.write ("</tr>")
MyRs.movenext
loop
Response.write ("</table>")
MyRs.close
Set MyRs= Nothing
end sub
'**************************************
'aggiungi
'**************************************
Sub AddItem()
MySQL="Select * from " & strTable
Set MyRs=MyConn.Execute(MySQL)
Response.write ("<h2>Aggiungi nuovo Record a " & strTable & "</h2>")
Response.write ("<form action=""" & strFile & "?mode=AddItemAction"" method=""post"" id=form1 name=form1>")
Response.write ("<table>")
numerocampi=MyRs.fields.count -1
for i=0 to numerocampi
if Not MyRs(i).name = "ID" then
ThisRecord = MyRs(i)
ThisRecordName = MyRs(i).name
If IsNull(ThisRecord) or ThisRecord = "" Then
ThisRecord = ""
end if
Response.write ("<tr>")
Response.write ("<td align=""right"">" & ThisRecordName & ": </td>")
Response.write ("<td> <input name=""" & ThisRecordName & """ type=""text""></td>")
Response.write ("</tr>")
end if
next
Response.write ("<tr>")
Response.write ("<td align=""right""><input name=""Submit"" type=submit value=""Submit""></td>")
Response.write ("<td><input name=""reset"" type=reset value=""Reset""></td>")
Response.write ("</tr>")
Response.write ("</table>")
Response.write ("</form>")
Response.write ("Back to list")
End Sub
Sub AddItemAction()
MySQL="Select * from " & strTable
Set MyRs=MyConn.Execute(MySQL)
numerocampi=MyRs.fields.count -1
for i=0 to numerocampi
if Not MyRs(i).name = "ID" then
str = MyRs(i).name
if not i = numerocampi then
str1 = str1 & "[" & str & "], "
else
str1 = str1 & "[" & str & "]"
end if
strNames = Request(str)
if not i = numerocampi then
sqlNames1 = sqlNames1 & "'" & strNames & "', "
else
sqlNames1 = sqlNames1 & "'" & strNames & "'"
end if
end if
next
MySQL1="Insert INTO " & strTable & " (" & str1 & ") VALUES (" & sqlNames1 & ")"
Set MyRs1=MyConn.Execute(MySQL1)
MyConn.Close
set MyConn=nothing
Response.Redirect strFile
End Sub
'**************************************
'modificare
'**************************************
Sub EditItem()
Response.write ("<h2>Modifica record nella tabella " & strTable & "</h2>")
which=request("which")
if isNumeric(which) then
MySQL="SELECT * FROM " & strTable & " Where " & strKey & " = " & which
else
MySQL="SELECT * FROM " & strTable & " Where " & strKey & " = '" & which & "'"
end if
Set MyRs=MyConn.Execute(MySQL)
Response.write ("<FORM ACTION=""" & strFile & "?mode=EditItemAction"" METHOD=POST>")
Response.write ("<input name=""ID"" type=""hidden"" value=""" & MyRs(strKey) & """>")
Response.write ("<table>")
numerocampi=MyRs.fields.count -1
for i=0 to numerocampi
if Not MyRs(i).name = "ID" then
ThisRecord = MyRs(i)
ThisRecordName = MyRs(i).name
If IsNull(ThisRecord) or ThisRecord = "" Then
ThisRecord = ""
end if
Response.write ("<tr>")
Response.write ("<td align=""right"">" & ThisRecordName & ": </td>")
Response.write ("<td> <input name=""" & ThisRecordName & """ type=""text"" value=""" & MyRs(i) & """></td>")
Response.write ("</tr>")
end if
next
Response.write ("<tr>")
Response.write ("<td align=""right""><INPUT NAME=""Submit"" TYPE=Submit Value=""Update""></td>")
Response.write ("<td><INPUT NAME=""Reset"" TYPE=Reset Value=""Reset""></td>")
Response.write ("</tr>")
Response.write ("</table>")
Response.write ("</FORM>")
Response.write ("Torna alla lista dei record")
MyRs.close
Set MyRs= Nothing
End Sub
Sub EditItemAction()
which = Request(strKey)
if isNumeric(which) then
MySQL="SELECT * FROM " & strTable & " Where " & strKey & " = " & which
else
MySQL="SELECT * FROM " & strTable & " Where " & strKey & " = '" & which & "'"
end if
'MySQL="Select * from " & strTable
Set MyRs=MyConn.Execute(MySQL)
numerocampi=MyRs.fields.count -1
for i=0 to numerocampi
if Not MyRs(i).name = "ID" then
str = MyRs(i).name
strNames = Request(str)
if not i = numerocampi then
str1 = str1 & "[" & str & "] = '" & strNames & "', "
else
str1 = str1 & "[" & str & "] = '" & strNames & "'"
end if
end if
next
if isNumeric(which) then
MySQL1="UPDATE " & strTable & " SET " & str1 & " Where " & strKey & " = " & which
else
MySQL1="UPDATE " & strTable & " SET " & str1 & " Where " & strKey & " = '" & which & "'"
end if
'MySQL1="UPDATE " & strTable & " SET " & str1 & " Where ID=" & which
Set MyRs1=MyConn.Execute(MySQL1)
MyConn.Close
set MyConn=nothing
Response.Redirect strFile
End Sub
'**************************************
'elimina record
'**************************************
Sub DelItem()
which=request("which")
if isNumeric(which) then
MySQL="delete * from " & strTable & " Where " & strKey & " = " & which
else
MySQL="delete * from " & strTable & " Where " & strKey & " = '" & which & "'"
end if
Set MyRs=MyConn.Execute(MySQL)
MyConn.Close
set MyConn=nothing
Response.Redirect strFile
End Sub
%>