Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Datenbankname und Version in Hinweismeldungen statt MS Access

Begonnen von Mamba4711, Juni 14, 2016, 21:52:42

⏪ vorheriges - nächstes ⏩

Mamba4711

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

MaggieMay

Hi,

die Frage ist doch, wie du diese Funktion einsetzt?!
Davon/dazu schreibst du leider nichts.
Freundliche Grüße
MaggieMay

Beaker s.a.

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
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

PhilS

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.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

Beaker s.a.

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
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Mamba4711

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

MaggieMay

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


Freundliche Grüße
MaggieMay