Hallo liebes Team,
ihr werdet mich nicht los ;D.
Habe folgendes in meinem allgemeinen Modul programmiert.
Dies soll eigentlich den Datenbanknamen, Programmierer und Version in den Hinweismeldungen anzeigen (statt Microsoft Access oben im Fenster).
Aber es funktioniert nicht. Ist hier irgend etwas falsch? oder muss ich erweiternd noch etwas programmieren/einstellen?
Habe den Code bei Video to brain von Hölscher gesehen.
Public Const p_cstrDBName = "... GmbH"
Public Const p_cstrDBVersion = "1.0"
Public Const p_cstrDBAutor = "X.Schmitz"
Public Const p_cdatDBStand = #6/21/2016#
Public Const p_cstrMsgTitel = p_cstrDBName & " (Version " & p_cstrDBVersion & ")"
Function DB_MsgTitel() As String
DB_MsgTitel = p_cstrMsgTitel
End Function
Hi,
die Frage ist doch, wie du diese Funktion einsetzt?!
Davon/dazu schreibst du leider nichts.
Hallo,
Abgesehen von Maggies Rückfrage, kann ich kaum glauben, dass du dies
Public Const p_cstrMsgTitel = p_cstrDBName & " (Version " & p_cstrDBVersion & ")"
beim Hölscher abgeschrieben hast.
Konstanten kann man keine anderen Konstanten oder Variablen als
Wert zuweisen. Ist ja auch logisch, oder; - wäre dann ja keine
Konstante mehr.
gruss ekkehard
Zitat von: Beaker s.a. am Juni 15, 2016, 00:49:33Konstanten kann man keine anderen Konstanten oder Variablen als Wert zuweisen.
Konstanten kann man durchaus andere Konstanten und/oder eine Verkettung von definierten Konstanten und konstanten Werten zuweisen.
Vorausgesetzt der Ausdruck als ganzes bleibt konstant. - Also geht das mit Variablen natürlich nicht.
Hallo Phil,
Hm, komisch, stimmt aber wohl.
Hatte es gestern kurz in ein Modul kopiert und bekam einen Fehler beim
Kompilieren, dass das eben nicht geht.
Gerade nochmal probiert und es wird kein Fehler ausgelöst.
Naja, wieder was gelernt.
gruss ekkehard
Zitat von: MaggieMay am Juni 15, 2016, 00:26:27
Hi,
die Frage ist doch, wie du diese Funktion einsetzt?!
Davon/dazu schreibst du leider nichts.
Ich habe es so verstanden, dass wenn ich es in einem allgemeinen Modul programmiere, automatisch die Fenster mit diesen Werten versehen werden.
Und das DB_MsgTitel schon etwas ist, dass Access automatisch erkennt.
Da in meiner DB auch nicht davon zu sehen ist, habe ich schon vermutet, dass ich evtl. noch
etwas zusätzliches programmieren muss. Aber was kann ich anstellen, damit Access in allen Hinweisfenstern diese Überschrift anzeigt.
Wenn es nicht geht, dann lass ich es, ist eh ein nice-to-have.
Sitze zurzeit in den letzten Zügen meiner Abschlussarbeit und habe da noch genügend Probleme.
DANKE liebes Team
Hi,
ZitatUnd das DB_MsgTitel schon etwas ist, dass Access automatisch erkennt.
nein, das ist ein Irrtum, die Funktion liefert dir den Wert der zuvor definierten Konstanten - mehr nicht.
Statt dessen könntest du sie auch direkt verwenden, bspw. so:
Call TitelÄndern(p_cstrMsgTitel)'==================================================================
' Aktualisieren Anwendungstitel nach Versionsänderung
'==================================================================
Sub TitelÄndern(pTitel As String)
Dim dbs As Database, prp As Property
Const errEigenschNichtGefFehler = 3270
Const errDatenbankIstSchreibgeschützt = 3027
On Error GoTo FehlerBehandlung
' Die Database-Objektvariable einstellen, die auf die
' aktuelle Datenbank zeigt.
Set dbs = CurrentDb
' Die Titelleiste ändern.
dbs.Properties!AppTitle = pTitel
' Die Titelleiste auf dem Bildschirm aktualisieren.
Application.RefreshTitleBar
Exit Sub
FehlerBehandlung:
If Err.Number = errEigenschNichtGefFehler Then
Set prp = dbs.CreateProperty("AppTitle", dbText, pTitel)
dbs.Properties.Append prp
ElseIf Err.Number <> errDatenbankIstSchreibgeschützt Then
MsgBox "Fehler: " & Err.Number & vbCrLf & Err.Description
End If
Resume Next
End Sub