webForumDet fria alternativet

Description field i en databas?

ASP

2 svar · 205 visningar · startad av tomas21

Medlem sedan feb. 2003130 inlägg
Frågan#1

Hejsan!
Jag undrar lite om description fältet i en access databas.
Jag listar ut alla fält från en tabell mha av denna kod:


<%
   'Skapa ett recordset som öppnar tabellen från Request.QueryString
   strTable=Request.QueryString("tabell")
   set rsTable=Server.CreateObject("ADODB.RecordSet")
   rsTable.Open strTable, dbconn, , ,adCmdTable

   'Skriv ut namnen på fältet i tabellen
%>
   <table cellpadding="4" cellspacing="1" border="0" width="100%" bgcolor="#000000">
   <tr bgcolor="#EFEFEF" onMouseOver="changeBg(this);" onMouseOut="resetBg(this);">
<% For Each field in rsTable.Fields %>
   <td bgcolor="#F4F4F4"><b><%=field.Name%></b></td>
<% Next %>
   <td bgcolor="#F4F4F4"><b>Ändra</b></td>
   <td bgcolor="#F4F4F4"><b>Tabort</b></td>
   </tr>
<%
   'Skriv ut innehållet i tabellen
   strTable=Request.QueryString("tabell")
   Do Until rsTable.EOF
%>
   <tr bgcolor="#EFEFEF" onMouseOver="changeBg(this);" onMouseOut="resetBg(this);">
<% For Each field in rsTable.Fields %>
   <td valign="top" bgcolor="#F4F4F4"><%=field.Value%></td>
<% Next %>
   <td valign="top" bgcolor="#F4F4F4"><a href=andra.asp?id=<%
=rsTable("ID")%>&tabell=<%=Request.QueryString("tabell")%>><img src="design_bilder/edit.gif" 

border="0" alt="Klicka på denna bild om du vill ändra innehållet för denna post"></a></td>
   <td valign="top" bgcolor="#F4F4F4"><a href=tabort.asp?
id=<%=rsTable("ID")%>&tabell=<%=Request.QueryString("tabell")%>><img src="design_bilder/tabort.gif" 

border="0" alt="Klicka på denna bild om du vill tabort denna post"></a></td>
   </tr>
<%
   rsTable.MoveNext
   Loop
%>

I denna kod kan man se att jag plockar ut innehållet i tabellen mha field.Value

Min fråga är kan man här på samma sätt plocka ut det jag skrivit i description raden som tex. field.Description.
Jag har provat field.Description men det funkar inte jag får error medelandet:

-----------------------------------------------------------------------------
Microsoft VBScript runtime error '800a01b6'

Object doesn't support this property or method: 'Description'
-----------------------------------------------------------------------------

Medlem sedan feb. 200112 078 inlägg
#2

Säkerligen finns det ett sätt att programmatiskt få ut denna data, min fråga är bara varför? Skapa en kolumn i databasen istället, som heter description eller liknande och visa texten i den istället. Då kan du tillochmed ha löpande text i den.

Medlem sedan feb. 2003130 inlägg
#3

Varför jag ville göra det var att jag skapar formulär för att ändra innehållet i tabellerna dynamisk mha description.
För om man använder field.type så tar den fram ett värde där vissa typer har samma vilket inte fungerar till
formulär skapandet men jag har löst det på ett lite anorlunda sätt än koden ovan nämligen såhär:

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &
 Server.MapPath("db/db1.mdb")
tabell = Request.QueryString("tabell")
Set rs = Connect.OpenSchema(adSchemaColumns,Array(Empty, 
Empty, tabell))

While Not rs.EOF
name = rs("Column_Name")
desc = rs("Description")

If desc = "Text" Then
Response.Write "<tr><td valign=top>" & rs("Column_Name") 
& "&nbsp;</td>"
Response.Write "<td valign=top><input type=text name=" & rs
("Column_Name") & " size=20><br><br></td></tr>"
End If

If desc = "PM" Then
Response.Write "<tr><td valign=top bgcolor=" & bgMakeForm
 & ">" & rs("Column_Name") & "&nbsp;</td>"
Response.Write "<td valign=top bgcolor=" & bgMakeForm & ">
<textarea rows=7 name=" & rs("Column_Name") & " 
cols=35></textarea><br><br></td></tr>"
End If

rs.MoveNext
Wend
259 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)