home *** CD-ROM | disk | FTP | other *** search
- VERSION 4.00
- Begin VB.Form Form1
- Caption = "SchemaSpy"
- ClientHeight = 4140
- ClientLeft = 1140
- ClientTop = 1515
- ClientWidth = 6690
- Height = 4830
- Left = 1080
- LinkTopic = "Form1"
- ScaleHeight = 4140
- ScaleWidth = 6690
- Top = 885
- Width = 6810
- WindowState = 2 'Maximized
- Begin VB.ListBox List3
- Height = 3765
- Left = 6420
- TabIndex = 5
- Top = 765
- Width = 2760
- End
- Begin VB.ListBox List2
- Height = 3765
- Left = 3435
- TabIndex = 4
- Top = 780
- Width = 2760
- End
- Begin VB.ListBox List1
- Height = 3765
- Left = 450
- TabIndex = 3
- Top = 765
- Width = 2760
- End
- Begin VB.Label Label5
- AutoSize = -1 'True
- Caption = "Double-Click Table Name for Fields and Index List"
- Height = 195
- Left = 480
- TabIndex = 7
- Top = 4740
- Width = 3525
- End
- Begin VB.Label Label4
- AutoSize = -1 'True
- BeginProperty Font
- name = "MS Sans Serif"
- charset = 0
- weight = 700
- size = 9.75
- underline = 0 'False
- italic = 0 'False
- strikethrough = 0 'False
- EndProperty
- Height = 240
- Left = 720
- TabIndex = 6
- Top = 75
- Width = 75
- End
- Begin VB.Label Label3
- Caption = "Indexes"
- Height = 225
- Left = 6390
- TabIndex = 2
- Top = 480
- Width = 1815
- End
- Begin VB.Label Label2
- Caption = "Fields (Type and size)"
- Height = 225
- Left = 3450
- TabIndex = 1
- Top = 480
- Width = 1890
- End
- Begin VB.Label Label1
- Caption = "Tables"
- Height = 195
- Left = 495
- TabIndex = 0
- Top = 510
- Width = 2160
- End
- Begin MSComDlg.CommonDialog CommonDialog1
- Left = 8295
- Top = 4485
- _Version = 65536
- _ExtentX = 847
- _ExtentY = 847
- _StockProps = 0
- Copies = 2
- DefaultExt = "mdb"
- DialogTitle = "CD1"
- Filter = "MSAccess (*.mdb)|*.mdb"
- FontSize = 10
- InitDir = "C:"
- End
- Begin VB.Menu MenuFile
- Caption = "&File"
- Begin VB.Menu OpenMenu
- Caption = "&Open"
- End
- Begin VB.Menu S1
- Caption = "-"
- End
- Begin VB.Menu PrintMenu
- Caption = "&Print"
- End
- Begin VB.Menu PrintAllMenu
- Caption = "Print &All"
- End
- Begin VB.Menu S2
- Caption = "-"
- End
- Begin VB.Menu ExitMenu
- Caption = "E&xit"
- End
- End
- Attribute VB_Name = "Form1"
- Attribute VB_Creatable = False
- Attribute VB_Exposed = False
- Public DB As Database
- Public dbName As String
- Public tbldef As TableDef
- Public fld As Field
- Public Indx As Index
- Private Sub OpenTheDataBase()
- dbName = CommonDialog1.filename
- Label4.Caption = "Schema for " & dbName
- Set DB = DBEngine.OpenDatabase(dbName)
- End Sub
- Private Sub SetupDataFields()
- List2.Clear
- List3.Clear
- OpenTheDataBase
- For Each tbldef In DB.TableDefs
- If tbldef.Name = List1.Text Then
- For Each fld In tbldef.Fields
- a$ = fld.Name & " "
- Select Case fld.Type
- Case 8: a$ = a$ & ": Date / Time"
- Case 10: a$ = a$ & ": Text " & fld.Size
- Case 12: a$ = a$ & ": Memo"
- Case 1: a$ = a$ & ": Yes / No"
- Case 3: a$ = a$ & ": Integer"
- Case 4: a$ = a$ & ": Long"
- Case 5: a$ = a$ & ": Currency"
- Case 6: a$ = a$ & ": Single"
- Case 7: a$ = a$ & ": Double"
- Case 2: a$ = a$ & ": Byte"
- Case 11: a$ = a$ & ": Long Binary"
- End Select
- List2.AddItem a$
- Next
- For Each Indx In tbldef.Indexes
- List3.AddItem Indx.Name
- Next
- End If
- Next
- End Sub
- Private Sub SetupDataTables()
- List1.Clear
- List2.Clear
- List3.Clear
- OpenTheDataBase
- For Each tbldef In DB.TableDefs
- If InStr(tbldef.Name, "MSys") = 0 Then _
- List1.AddItem tbldef.Name
- Next
- End Sub
- Private Sub ExitMenu_Click()
- Unload Me
- End
- End Sub
- Private Sub Form_Unload(Cancel As Integer)
- Close
- End Sub
- Private Sub List1_DblClick()
- SetupDataFields
- End Sub
- Private Sub OpenMenu_Click()
- CommonDialog1.ShowOpen
- SetupDataTables
- End Sub
- Private Sub PrintAllMenu_Click()
- Printer.Print "Schema of " & dbName
- Printer.Print
- OpenTheDataBase
- For Each tbldef In DB.TableDefs
- If InStr(tbldef.Name, "MSys") = 0 Then
- Printer.Print tbldef.Name
- Printer.Print
- For Each fld In tbldef.Fields
- a$ = Chr$(9) & fld.Name & Chr$(9)
- Select Case fld.Type
- Case 8: a$ = a$ & ": Date / Time"
- Case 10: a$ = a$ & ": Text " & fld.Size
- Case 12: a$ = a$ & ": Memo"
- Case 1: a$ = a$ & ": Yes / No"
- Case 3: a$ = a$ & ": Integer"
- Case 4: a$ = a$ & ": Long"
- Case 5: a$ = a$ & ": Currency"
- Case 6: a$ = a$ & ": Single"
- Case 7: a$ = a$ & ": Double"
- Case 2: a$ = a$ & ": Byte"
- Case 11: a$ = a$ & ": Long Binary"
- End Select
- Printer.Print a$
- Next
- End If
- Printer.Print
- On Error GoTo done
- For Each Indx In tbldef.Indexes
- Printer.Print Chr$(9) & Indx.Name
- Next
- Next
- done:
- Printer.EndDoc
- End Sub
- Private Sub Tables_DblClick()
- SetupDataFields
- End Sub
- Private Sub PrintMenu_Click()
- Printer.Print "Schema for " & dbName
- Printer.Print "Table " & List1.Text
- Printer.Print
- For j = 0 To List2.ListCount - 1
- List2.ListIndex = j
- Printer.Print Chr$(9) & List2.Text
- Next
- Printer.Print
- Printer.Print "Indexes"
- For j = 0 To List3.ListCount - 1
- List3.ListIndex = j
- Printer.Print Chr$(9) & List3.Text
- Next
- Printer.EndDoc
- End Sub
-