Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Mamba4711 am Juni 14, 2016, 21:52:42

Titel: Datenbankname und Version in Hinweismeldungen statt MS Access
Beitrag von: Mamba4711 am Juni 14, 2016, 21:52:42
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
Titel: Re: Datenbankname und Version in Hinweismeldungen statt MS Access
Beitrag 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.
Titel: Re: Datenbankname und Version in Hinweismeldungen statt MS Access
Beitrag von: Beaker s.a. am Juni 15, 2016, 00:49:33
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
Titel: Re: Datenbankname und Version in Hinweismeldungen statt MS Access
Beitrag von: PhilS am Juni 15, 2016, 08:16:11
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.
Titel: Re: Datenbankname und Version in Hinweismeldungen statt MS Access
Beitrag von: Beaker s.a. am Juni 15, 2016, 12:16:09
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
Titel: Re: Datenbankname und Version in Hinweismeldungen statt MS Access
Beitrag von: Mamba4711 am Juni 15, 2016, 13:27:56
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
Titel: Re: Datenbankname und Version in Hinweismeldungen statt MS Access
Beitrag von: MaggieMay am Juni 15, 2016, 16:40:47
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