Avatar billede jobba Nybegynder
27. november 2003 - 15:41 Der er 3 kommentarer og
1 løsning

Undersøg om tabeller er "linked"

Jeg skal have konstrueret en stump kode, som kan gennemløbe alle mine tabeller, og finde ud af om de er "Linked ODBC" eller alm. access tabeller.
Dem som er linked skal jeg så udføre noget kode på.

Ved i hvordan jeg finder ud af det?

Jeg har selv prøvet at lave en "For ... each" som gennemløber alle tabellerne. Men jeg kan ikke få lov til at læse properties på dem.

Dim obj As AccessObject, dbs As Object, prt As Property
Set dbs = Application.CurrentData
For Each obj In dbs.AllTables
    For Each prt In obj.Properties  'Her fejler kompileren
        Debug.Print prt.Value
    Next prt
Next obj

Debuggeren kommer med denne fejl:
"Runtime error '2467': The expression you entered refers to an object that is closed or doesn't exist."
27. november 2003 - 15:51 #1
Jeg kender ikke lige den metode, som du er i gang med. Jeg bruger selv denne (som kræver DAO):
Public Sub test()
    Dim db As Database
    Dim tdef As TableDef
    Set db = CurrentDb
    For Each tdef In db.TableDefs
        Select Case Left(tdef.Connect, 5)
            Case "DATAB"
                Debug.Print tdef.Name, "Access"
            Case "ODBC;"
                Debug.Print tdef.Name, "ODBC"
            Case Else
                Debug.Print tdef.Name, "Andet"
        End Select
    Next tdef
End Sub
Avatar billede jobba Nybegynder
27. november 2003 - 15:58 #2
Fedt!! Det virkede. Den returnerer "ODBC" ved mine linked. Men din Case for Access tabeller virker ikke, da går hver gang ned i Case Else.
Men ODBC er alt hvad jeg havde brug for.
27. november 2003 - 16:03 #3
Hmm, hvis det er en sammenkædet Access-tabel, så burde egenskaben .Connect starte således:
"DATABASE=...." hvorved min kode skulle virke.
Men hvis tabellen IKKE er sammenkædet, så vil den ryge ned i Andet.
Avatar billede jobba Nybegynder
27. november 2003 - 16:06 #4
OK. Det er nok grunden til at den ryger ned i 'Andet'. Mine tabeller er nemlig ikke kædet til en anden Access-tabel (hvis jeg forstår dig ret). De er derimod almindelige Access tabeller
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester