Függelék


VBA function

1. Ellenőrzi az alábbi függvény, hogy létezik-e a megadott fájl és a hozzá tartozó elérési út.

Function FileOrDirExists(PathName As String) As Boolean

Dim iTemp As Integer

On Error Resume Next
iTemp = GetAttr(PathName)

Select Case Err.Number
Case Is = 0
FileOrDirExists = True
Case Else
FileOrDirExists = False
End Select

On Error GoTo 0

End Function

2. Ez a függvény pedig megvizsgálja, hogy egy külső Access mdb fájlban létezik-e egy tábla.

Public dbMyDB As Database

Function TableExists(TableName As String) As Boolean

Dim jTemp

On Error Resume Next
jTemp = dbMyDB.TableDefs(TableName)

Select Case Err.Number
Case Is = 0
TableExists = True
Case Else
TableExists = False
End Select

On Error GoTo 0

End Function

3. Alább láthatjuk, hogy miként kell alkalmazni  FileOrDirExists függvényt. Továbbá azt is megmutatjuk, hogy egy Access Form legördülő menüjét miként tölthetjük fel egy külső mdb tábla neveivel olyan módon, hogy a megfelelőek kerüljenek a megadott menübe. És természetesen a rendszer táblákat ne vegye figyelembe, mert hasonló nevű mező lehet azokban is, mint amit feltételnek megadunk (pl. “ID”).

Public sPath As String

Public dbMyDB As Database

Option Compare Database
Private Sub txtPath_BeforeUpdate(Cancel As Integer)

sPath = txtPath.Text

End Sub
Private Sub Parancsgomb12_Click()
Dim i As Long

If FileOrDirExists(sPath) Then
MsgBox sPath, vbInformation, “Az Ön által megadott fájl létezik”
Else
MsgBox sPath, vbInformation, “Az Ön által megadott fájl vagy elérési út nem található”
Exit Sub
End If

Set dbMyDB = OpenDatabase(sPath)

For i = 0 To dbMyDB.TableDefs.Count - 1
nev = dbMyDB.TableDefs(i).Name
If nev <> “MSysAccessObjects” And nev <> “MSysAccessXML” And nev <> “MSysACEs” And nev <> “MSysObjects” And nev <> “MSysQueries” And nev <> “MSysRelationships” Then
If dbMyDB.TableDefs(i).Fields(0).Name = “MEZO_EGYIK” Then
KombináltLista0.AddItem (nev)
KombináltLista6.AddItem (nev)
ElseIf dbMyDB.TableDefs(i).Fields(0).Name = “MEZO_MASIK” Then
KombináltLista2.AddItem (nev)
KombináltLista8.AddItem (nev)
End If
End If
Next

End Sub

4. Példa a TableExists függvény használatára.

If TableExists(”TABLE_NAME”) Then
dbMyDB.Execute “DROP TABLE TABLE_NAME”
End If