VBA - MS Access - export názvů objektů

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

23barcelona
nováček
Příspěvky: 24
Registrován: červenec 12
Pohlaví: Žena
Stav:
Offline

VBA - MS Access - export názvů objektů

Příspěvekod 23barcelona » 07 dub 2013 13:22

Zdravím,

obracím se na Vás s následující prosbou. Mám databázi v MS Access 2007, která obsahuje asi 30 tabulek, 80 dotazů, 30 sestav a stejné množství formulářů. Pak tam mám pár maker a modulů. Ráda bych názvy všech objektů v databázi (tabulek, dotazů, formulářů, sestav, maker i modulů) "exportovala" do textového souboru např. MS Word. Na internetu jsem si našla kód, který zobrazí názvy objeků, ale umí je ukázat jako message box v MS Access, což je mi k ničemu. Neznáte, někdo, prosím, způsob, jak exportovat názvy objedků databáze do textového souboru, případně umíte někdo upravit kód tak, aby místo do Msg box exportoval názvy objektů?

Díky moc

Kód (myslím, že stačí upravit pouze case7, ostatní exportují vždy jen jeden typ objektů):

Private Sub ChooseObject_AfterUpdate()

Dim DB As Database, I As Integer, j As Integer, ok_cancel As Integer
Dim System_Prefix, Current_TableName, Hidden_Prefix
Dim Ok As Integer, Cancel As Integer

Ok = 1
Cancel = 2
Set DB = DBEngine(0)(0)

Select Case Me![ChooseObject]
Case 1
'System tables are excluded from the list.
For I = 0 To DB.TableDefs.Count - 1
Current_TableName = DB.TableDefs(I).Name
System_Prefix = Left(Current_TableName, 4)
Hidden_Prefix = Left(Current_TableName, 1)
If System_Prefix <> "MSys" And System_Prefix <> "USys" And Hidden_Prefix <> "~" Then
ok_cancel = MsgBox(DB.TableDefs(I).Name, 65, "TABLE NAMES")
If ok_cancel = Cancel Then
Exit Sub
End If
End If
Next I
Case 2
For I = 0 To DB.QueryDefs.Count - 1
ok_cancel = MsgBox(DB.QueryDefs(I).Name, 65, "QUERY NAMES")
If ok_cancel = Cancel Then
Exit Sub
End If
Next I
Case 3
For I = 0 To DB.Containers("Forms").Documents.Count - 1
ok_cancel = MsgBox(DB.Containers("Forms").Documents(I).Name, 65, "FORM NAMES")
If ok_cancel = Cancel Then
Exit Sub
End If
Next I
Case 4
For I = 0 To DB.Containers("Reports").Documents.Count - 1
ok_cancel = MsgBox(DB.Containers("Reports").Documents(I).Name, 65, "REPORT NAMES")
If ok_cancel = Cancel Then
Exit Sub
End If
Next I
Case 5
'Scripts are macros.
For I = 0 To DB.Containers("Scripts").Documents.Count - 1
ok_cancel = MsgBox(DB.Containers("Scripts").Documents(I).Name, 65, "MACRO NAMES")
If ok_cancel = Cancel Then
Exit Sub
End If
Next I
Case 6
For I = 0 To DB.Containers("Modules").Documents.Count - 1
ok_cancel = MsgBox(DB.Containers("Modules").Documents(I).Name, 65, "MODULE NAMES")
If ok_cancel = Cancel Then
Exit Sub
End If
Next I
Case 7
For I = 0 To DB.Containers.Count - 1
For j = 0 To DB.Containers(I).Documents.Count - 1
ok_cancel = MsgBox(DB.Containers(I).Name & Chr(13) & Chr(10) & DB.Containers(I).Documents(j).Name, 65, "ALL OBJECTS")
If ok_cancel = Cancel Then
Exit Sub
End If
Next j
Next I
End Select
End Sub

Reklama
Štučka
Level 2.5
Level 2.5
Příspěvky: 279
Registrován: srpen 12
Pohlaví: Žena
Stav:
Offline

Re: VBA - MS Access - export názvů objektů

Příspěvekod Štučka » 08 dub 2013 07:19



  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek

Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 6 hostů