Har en databas (för närvarnade access) i denna finns det ett antal tabeller. Det jag nu vill göra är att först få en droplista som listar alla tabbeler, utan för den skull behöva manuellt skriva in dom. Alltså kommer det en ny tabell skall droplistan automatiskt vissa även denna tabell. Svar på ditt inlägg finns flerfaldigt redan i forumet. Får följande fel Det låter som du glömt: <code>Const adCmdTableDirect = 512</code> jag läste inte igenom koden tillräckligt var väll för trött missuppfattade Request.Querystring("Table") vet inte vad jag tänkte med nu fungerade det.Plocka ut tabeller och kolumn namn
Det andra jag vill göra är att skriva ut en vis tabell på följande sätt
|Namn|Efternamn|
----------------------
Egon |Sörensson
Alltså jag vill skriva ut kolumn namnet samt innehållet i tabellen utan för den sakens skull veta vad de olika har för namn innan.
Hopas att det inte blev allt för rörigt och ni förstår vad jag är ute efter.
ViktorSv: Plocka ut tabeller och kolumn namn
För att lista tabeller bör du söka på connection objektets OpenSchema() metod. Vilket du även kan lista fältnamn.
Men då du även vill lista data kan du likväl använda dig av Fields kollektionen på recordset objektet:
<code>
Dim f
Dim rs
Dim con
Const adCmdTableDirect = 512
Set con = Server.CreateObject("ADODB.Connection")
con.Open ">>>Jag antar du vet vad som skall stå här?<<<"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open Request.Querystring("Table"), con, , , adCmdTableDirect
Response.Write "<table>"
Response.Write "<thead>"
Response.Write "<tr>"
For Each F in rs.Fields
Response.Write "<td><b>" & Server.HTMLEncode(F.Name) & "</b></td>"
Next
Response.Write "</tr>"
Response.Write "</thead>"
Response.Write "<tbody>"
Do Until rs.EOF
For Each F in rs.Fields
Response.Write "<td>" & Server.HTMLEncode(F.value) & "</td>"
Next
rs.MoveNext
Loop
Response.Write "</tbody>"
Response.Write "</table>"
rs.Close
Set rs = Nothing
con.Close
Set con = Nothing
</code>Sv: Plocka ut tabeller och kolumn namn
Feltyp:
ADODB.Recordset (0x800A0BB9)
Parametrarna är felaktiga, ligger utanför tillåtet intervall eller skapar en inbördes konflikt.
Skickar med lite kod
Set con = Server.CreateObject("ADODB.Connection")
con.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & server.MapPath("db/db.mdb")
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open Request.Querystring("Table"), con, , , adCmdTableDirect < här ligger fellet säger IISSv: Plocka ut tabeller och kolumn namn
Eller som att Request.Querystring("Table") saknar ett värde.
Jag vill se dig ta en större initiativ vad det gäller lösa dina problem. Nästa gång du stöter på problem vill jag att du berättar vad du misstänker är fel.Sv: Plocka ut tabeller och kolumn namn
Tack för snabba svar