---
title: "Loop +tabell"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/38903-loop-tabell"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "fredrik99"
published: "2002-03-03T18:16:03.000Z"
updated: "2002-03-03T22:11:30.000Z"
replies: 9
views: 389
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/38903-loop-tabell"
---

# Loop +tabell

## #1 — fredrik99, 2002-03-03T18:16Z

Hur loopar man ut alla tabeller ur en databas?

/F

Permalänk: https://www.webforum.nu/p/38903

## #2 — LarsG, 2002-03-03T18:29Z

Du kan använda ADOX t.ex. det finns ett färdigt skript om du tittar i skriptarkivet för ASP. EN del databaser har också kommandon eller vyer som man kan slå i. I det fallet är det alltså olika mellan DBMS.

Normalt sett så behöver man aldrig göra sådana saker i en vanlig applikation, så jag undrar bara varför du behöver det.

Permalänk: https://www.webforum.nu/p/616363

## #3 — fredrik99, 2002-03-03T18:41Z

<http://webforum.aleborg.com/forum/showthread.php?s=&threadid=37445> 

Inte så lätt att ladda hem scriptet nu när wF ligger på en annan server :h

Permalänk: https://www.webforum.nu/p/616367

## #4 — Rinaldo, 2002-03-03T18:46Z

ahh... är inte säker men...

```
<%
Set Conn = Server.CreateObject("ADODB.Connection") 
Conn.Open = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("din_db.mdb")
Set RS = Conn.OpenSchema(28)

Do Until RS.EOF
	If RS("Table_Name") = Request.QueryString("Tabell") Then
		PrimaryColumn = RS("Column_Name")
	End If
	RS.MoveNext
Loop

If Len(Request.QueryString("Tabell")) > 0 Then
	Set RSTyp = Conn.Execute("Select " & PrimaryColumn &" From " & Request.QueryString("Tabell"))
	PrimaryColumnDataType = RSTyp(PrimaryColumn).Type	
End If
%>
Tabeller

<%
'Set objADOXDatabase = Server.CreateObject("ADOX.Catalog") 
'objADOXDatabase.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../data/db.mdb")

'For Each objTable in objADOXDatabase.Tables
'  Response.Write objTable.Name & "<br>"
'Next
%>

				<% 
				Set Connect = Server.CreateObject("ADODB.Connection")
				MdbFilePath = Server.MapPath("din_db.mdb")
				Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & MdbFilePath & ";"
				
				Set RecSet = Connect.OpenSchema(20)

				Do while Not RecSet.EOF 
					If Trim(RecSet("TABLE_TYPE")) = "TABLE" Then
						If Request.QueryString("Tabell") = RecSet("Table_Name") Then
							Selected = "Selected"
						Else
							Selected = ""
						End If
						
						Response.Write " " & RecSet.Fields("TABLE_NAME") & " " & VbCrLf
					End If

RecSet.MoveNext
Loop 
set conn = nothing
close.conn

				%>
```

Permalänk: https://www.webforum.nu/p/616369

## #5 — fredrik99, 2002-03-03T18:49Z

Så mycket kod för att loopa ut tabellerna i en databas? Du skojar  :e

Permalänk: https://www.webforum.nu/p/616370

## #6 — Rinaldo, 2002-03-03T18:51Z

hmm... ja... kanske det. Har inte testar :)

Permalänk: https://www.webforum.nu/p/616371

## #7 — PatrikB, 2002-03-03T19:38Z

Denna kod räcker för att endast lista tabellerna i databasen:

```
<%
Set objADOXDatabase = Server.CreateObject("ADOX.Catalog") 
	objADOXDatabase.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../data/db.mdb")

	For Each objTable in objADOXDatabase.Tables
		Response.Write objTable.Name & "<br>"
	Next

Set objADOXDatabase = Nothing
%>
```

cya,
PatrikB

Permalänk: https://www.webforum.nu/p/616387

## #8 — fredrik99, 2002-03-03T19:45Z

Tack :e

Jag fick upp tabellerna PLUS dessa:

MSysAccessObjects 
MSysACEs 
MSysObjects 
MSysQueries 
MSysRelationships  

Finns det inte något sätt att ta bort dem?

Permalänk: https://www.webforum.nu/p/616390

## #9 — PatrikB, 2002-03-03T19:47Z

```
<%
Set objADOXDatabase = Server.CreateObject("ADOX.Catalog") 
	objADOXDatabase.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../data/db.mdb")

	For Each objTable in objADOXDatabase.Tables
		strTableName = objTable.Name
		If Left(strTableName,4) <> "MSys" Then
			Response.Write objTable.Name & "<br>"
		End If
	Next

Set objADOXDatabase = Nothing
%>
```

cya,
PatrikB

Permalänk: https://www.webforum.nu/p/616391

## #10 — fredrik99, 2002-03-03T22:11Z

Tackar  :e  :e  :e

Permalänk: https://www.webforum.nu/p/616428

---

Tråden på webben: https://www.webforum.nu/amne/asp/38903-loop-tabell
