Forums Neueste Beiträge
 

Existenz von Tabellen überprüfen

21/08/2009 - 10:39 von Wolf | Report spam
Hallo liebe newsgroup-members,
ich arbeite in ACC2007.
Zum Prüfen, ob eine Tabelle existiert, schlàgt Karl Donaubauer u.a.vor:

Function fctTableExists(strTableName As String) As Boolean

If DCount("*", "MSysObjects", "Name='" & strTableName & "'") Then
fctTableExists = True

End Function

Aufruf in beiden Fàllen dann irgendwo in der DB mit:
fctTableExists("DeinTabellenname")
Ich bin relativ „neu“ in VBA, benötige jetzt aber diese Prüfung für 2 Tabs:
„Auswertung“ u. „Schriftkopf“, stosse bei der Verwendung der Funkt. auf
einige Fragen:
1)
Ich habe bereits ein Modul unter meiner DB: „ComDlg32 Ersatz“ (fuktioniert).
Modul –Neu finde ich nirgendwo. Also klicke ich „ComDlg32 Ersatz“ doppelt
und
gehe dort auf „Modul einfügen“ und kopiere dann die oben aufgeführte
Funktion gleich unterhalb von „Option Compare Database“, beginnend mit der
Zeile „Function fctTableExists…..)
Ist das richtig??
2)
Wenn ja, füge ich in einem Formular einen Befehlsknopf „Prüfung“ein, in
dessen Ereignisprozedur folgende Befehlszeile steht:
fctTableExists("Auswertung")
und weiter unten
fctTableExists("Schriftkopf")
Was passiert nun? Bekomme ich jeweils ein true oder false an welcher Stelle
zurück, welches ich jeweils mit „if….“ .abfragen kann?

Besten Dank im voraus für eine Hilfestellung.

Wolf
 

Lesen sie die antworten

#1 Henry Habermacher
21/08/2009 - 10:50 | Warnen spam
Hallo Wolf

Wolf wrote:
Ich habe bereits ein Modul unter meiner DB: „ComDlg32 Ersatz“
(fuktioniert).



Das ist schon mal gut, weil das vermutlich das von mir ist ;-)

Modul –Neu finde ich nirgendwo. Also klicke ich „ComDlg32
Ersatz“ doppelt und
gehe dort auf „Modul einfügen“ und kopiere dann die oben aufgeführte
Funktion gleich unterhalb von „Option Compare Database“, beginnend mit der
Zeile „Function fctTableExists…..)
Ist das richtig??



Geht so auch, aber ich würde jetzt für das wirklich eine neues Modul öffnen,
dass Du z.B. modHelper nennst.
Dieses kannst Du in Access (nicht VBA) im Ribbon "Create" über "Standard
Modul" hinzufügen.

2)
Wenn ja, füge ich in einem Formular einen Befehlsknopf „Prüfung“ein, in
dessen Ereignisprozedur folgende Befehlszeile steht:
fctTableExists("Auswertung")
und weiter unten
fctTableExists("Schriftkopf")
Was passiert nun? Bekomme ich jeweils ein true oder false an welcher



Nun rufst Du die Funktionen auf, aber machst ja nichts damit?

Stelle zurück, welches ich jeweils mit „if….“ .abfragen kann?



Leg hinter die Schaltflàche eine Ereignisprozedur, die etwa folgenden Inhalt
hat:

If fctTableExists("Auswertung") = True _
And fctTableExists("Schriftkopf") = True Then
MsgBox "Eine der zwei Tabellen fehlt"
End If

Gruss
Henry


AEK 12 - Anmeldung bei www.donkarl.com/?AEK
Microsoft MVP Office Access
Keine E-Mails auf Postings in NGs. Danke.
Access FAQ www.donkarl.com

Ähnliche fragen