PDA

Vollständige Version anzeigen : Formularname


carpediem
26.06.2001, 10:52
Hallo zusammen,

A97-SR-2, win 2000 SR-1

Kann man einen Formularnamen oder Berichtsnamen mittels VBA ermittlen?

Morli
26.06.2001, 10:56
Hallo carpediem,

sicher geht das, aber wann willst Du den Namen ermittel? Beim aktiven Formular: Me.Name
Für alle Formulare: Über die Container-Auflistung!

Schreib was Du brauchst und Du bekommst es!

Gruß

Rainer ;)

gloria
26.06.2001, 10:56
hi,
hier ein Beispiel:

Dim FormularX As Form
Set FormularX = Screen.ActiveForm
'MsgBox "Das aktuelle Formular ist " & FormularX.Name
z.B.
If FormularX.Name = "hf_Mist" Then Forms![hf_Mist].Refresh

ciao glori

carpediem
26.06.2001, 11:17
Danke für die Hilfe, da ich den Namen benötigen sobald ich das Formular öffne, komme ich mit den beiden Lösungswegen zurecht.

A.S.
26.06.2001, 11:34
@ all,

es geht ohne Container und ohne Me wenn man wissen will, ob ein Objekt eines bestimmten Typus existiert:

Public Const tpTblNrm As Integer = 1 ' normale Tabellen
Public Const tpTblInB As Integer = 6 ' eingebundene Tabelle
Public Const tpTable As Integer = 99 ' in beiden Tabellentypen suchen
Public Const tpForm As Integer = -32768 ' Formulare
Public Const tpMacro As Integer = -32766 ' Makros
Public Const tpModul As Integer = -32761 ' Module
Public Const tpReport As Integer = -32764 ' Berichte

Public Function AccObjectExists(strName As String, intType As Integer) As Boolean
'Anhand der Systemtabelle MSysObjects prüfen ob das gesuchte Objekt unter
'Berücksichtigung des Typs vorhanden ist
AccObjectExists = IsNull(DLookup("[Name]", "MSysObjects", "[Name] = '" & Trim(strName) & _
"' AND (Type = " & IIf(intType = tpTable, tpTblNrm & " OR Type = " & _
tpTblInB, intType) & ")")) = False
End Function


Gruß

Arno

PS Zugegeben, bei nochmaligem Lesen etwas OT, bleibt jetzt aber trotzdem stehen.

[Dieser Beitrag wurde von ArnoSimon am 26.06.2001 editiert.]