Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    2

    Visualizzazione contenuto tabella Access

    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

    %>

  2. #2

  3. #3
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,031
    codice:
    For i = 0 to numerocampi
       if Not MyRs(i).name = "ID" then
       '...
       '...
       end if
    Next
    hai diverse di queste istruzioni quando lavori sulle tabelle... levale

    Magari un consiglio su come implementare la funzionalità di stampa per un singolo record?
    ma tu che fai con tutto quel codice? lavori solo sui nomi dei campi a quanto ho capito...
    per stampare un solo record muoviti con il metodo moveNext del recordset (nel tuo caso Myrs.MoveNext) e stampa a video nello stesso modo che utilizzi per i campi soltanto che invece di MyRs(i).Name userai un MyRs(i) o un MyRs("NomeCampo")

    Se invece intendi stampare tutta la tabella fai una cosa come questa:

    codice:
    While not MyRs.EOF then
       if not MyRs.EOF then
          Response.Write("<TR>")
          For i=0 to numerocampi
             Response.Write("<TD>" & MyRs(i) & "</TD>")
          Next   
          Response.Write("</TR>")
          MyRs.MoveNext
       End if
    Wend
    ps: indenta il codice...


  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    2
    Problema ID risolto! Grazie!

    Il codice mostra l'intero contenuto della tabella del DB e fornisce la possibilità di eliminare o modificare il singolo record.

    A queste due funzionalità stavo pensando di aggiungere anche la funzionalità di stampa (su carta) del singolo record.

    Hai un consiglio?

    Paolo Calderoni

  5. #5
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,031
    uhm, o ti crei il link ad una nuova pagina nella quale metti quel singolo record, oppure usi self.print() in javascript per stampare la pagina... però in quest'ultimo caso stampa tutta la pagina.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.