SQL statement voor een lijst van alle tabelnamen in db(Access)

Status
Niet open voor verdere reacties.

Interface

Gebruiker
Lid geworden
27 jan 2009
Berichten
156
Ik ben bezig om vanuit Excel via een paar forms een database(access) aan te passen. Nu vraag ik mij af of het überhaupt mogelijk is om via een ADODB sql alle tabelnamen als lijst te krijgen.

In het verleden heb ik het eigenlijk vrij eenvoudig gedaan door een extra tabel aan te maken met daar de tabelnamen in. Vervolgens was het niet meer dan een simpele SELECT * FROM en op deze manier kon ik een lijst verkrijgen met alle tabelnamen in de lijst.

Is dit op te halen via een enkel SQL statement?
 
het is al gelukt...

Wat ik heb gedaan is de dbSysteemtabellen(MSysObjectz) zichtbaar maken, en vervolgens nog ingesteld dat de tabellen leesbaar zijn voor gebruikers.

De rest was vrij eenvoudig:

Code:
Private cnt As ADODB.Connection
Private rst As ADODB.Recordset
Private SQL As String

Global Const strLink As String = "C:\Documents and Settings\Bureaublad\NAF.JvD"
Const strConnection As String = "Provider=Microsoft.Jet.OLEDB.4.0;" _
                                    & "Data Source =" & strLink & ";"
                                    
Option Explicit

__________________________________________________________________________

Function DBTableList()

Dim intCounter As Integer
Dim arrTableNames() As String

Set cnt = New ADODB.Connection
Set rst = New ADODB.Recordset

SQL = [B][COLOR="Red"]"SELECT Name FROM MSysObjects WHERE name LIKE 'tb%';"[/COLOR][/B]

With cnt
    .Open strConnection
End With
With rst
    .Open SQL, cnt
End With

intCounter = 0

Do While Not rst.EOF
    ReDim Preserve arrTableNames(intCounter)
        arrTableNames(intCounter) = rst(0)
        rst.MoveNext
        intCounter = intCounter + 1
Loop

DBTableList = arrTableNames

Set cnt = Nothing
Set rst = Nothing

End Function
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan