none
Alle Ribbon Eigenschaften (label, visible, Actions) aus einer Tabelle laden

    Frage

  • Hallo,

    ich hoffe es kann mir geholfen werden. Ich habe ein neues Projekt am Start, da ich mich schon vorher intensiv mit Ribbons beschäftigt habe geht vieles sehr leicht.

    Im alten Projekt habe ich in einem Modul die Eigenschaften der Ribbons gesetzt. Damit es im neuen Projekt übersichtlicher wird, würde ich gerne alle Eigenschaften die im Ribbon benötigt werden in einer Tabelle gespeichert werde. So ist es auch dann einfacher, wenn sich mal die Berechtigung oder die Beschriftung sich ändert. 

    Dafür habe ich mir in einem Modul was geschrieben:

    Public Sub Beschriftung(ctl As IRibbonControl, ByRef label)
        Set label = Test.getLabelFromTable(ctl.Id)

    End Sub

    Mit der Control Id des Buttons gehe ich nun in die entsprechende Tabelle und selektiere die Eigenschaft "label". Jetzt sollte eigentlich die Beschriftung des Buttons angezeigt werden, bekomme aber eine Fehlermeldung.

    Der Rückruf "Beschriftung" hat einen Wert zurückgegeben, der nicht in den erwarteten Typ konvertiert werden konnte. 

    Das gleiche verwende ich, um Icons anzuzeigen die auch in einer Tabelle liegen und hier geht es wunderbar. Ist es denn überhaupt möglich Eigenschaften eines Elementes aus einer Tabelle zu laden?

    Es wäre super wenn mir einer helfen könnte.

    Ich verwende Access 2010 

    Mittwoch, 26. Juni 2013 13:16

Antworten

  • Habe ich auch schon probiert, hat aber auch nicht geklappt. Mit der Übergabe an eine Variable funktioniert das ganze.

    Ich habe jetzt eine Tabelle in dem alle Eigenschaften des Ribbons enthalten sind, jetzt kann ich in einem geeigneten Formular die Eigenschaften ändern wie ich lust und laune dazu habe.

    Ich habe folgendes gemacht falls jemand das selbe Problem hat:

    '#### Steuerung der Beschriftung
    Public Function Beschriftung(ctl As IRibbonControl, ByRef label)
        Dim Sql As String
        Dim rs As ADODB.Recordset

        Sql = "Select label from tbMenue where control = '" & ctl.Id & "'"
        Set rs = CurrentProject.Connection.Execute(Sql)
            If rs.EOF = False Then
            schrift = rs.Fields("label")
            End If
            rs.Close
        label = schrift
    End Function

    • Als Antwort markiert biker087 Donnerstag, 27. Juni 2013 09:25
    Donnerstag, 27. Juni 2013 09:21

Alle Antworten

  • Hallo,

    ich habe mit den Ribbons noch keine Erfahrung, aber mir fällt auf, dass der Parameter ByRef ohne Typ (vermutlich "string") übergeben wird. Nur so'ne Idee ...

    Gruß

    Dirk

    Donnerstag, 27. Juni 2013 08:58
  • Habe ich auch schon probiert, hat aber auch nicht geklappt. Mit der Übergabe an eine Variable funktioniert das ganze.

    Ich habe jetzt eine Tabelle in dem alle Eigenschaften des Ribbons enthalten sind, jetzt kann ich in einem geeigneten Formular die Eigenschaften ändern wie ich lust und laune dazu habe.

    Ich habe folgendes gemacht falls jemand das selbe Problem hat:

    '#### Steuerung der Beschriftung
    Public Function Beschriftung(ctl As IRibbonControl, ByRef label)
        Dim Sql As String
        Dim rs As ADODB.Recordset

        Sql = "Select label from tbMenue where control = '" & ctl.Id & "'"
        Set rs = CurrentProject.Connection.Execute(Sql)
            If rs.EOF = False Then
            schrift = rs.Fields("label")
            End If
            rs.Close
        label = schrift
    End Function

    • Als Antwort markiert biker087 Donnerstag, 27. Juni 2013 09:25
    Donnerstag, 27. Juni 2013 09:21