Benutzer mit den meisten Antworten
Ribbon Dropdown - es wird immer nur 1 Datensatz angezeigt

Frage
-
Hallo
es geht um ein Dropdownmenü in meinem Ribbon, wo ich eine Seminarliste einladen wollte.
Ich hatte mir als Beispiel die DB2 vom Ribboncreator2010 heruntergeladen. Das Beispiel kann ich für meine Applikation nicht umsetzen, es wurde mir immer nur der 1. Datensatz aufgelistet und das 10x. Dann habe ich es mit einem Recordset versucht und auch hier wird mir nur immer der 1. Datensatz angezeigt. Ich würde gerne wissen, wo ich den Fehler gemacht habe. Die Query enthält 10 Datensätze, aber unterschiedliche.Vielen Dank im voraus für die Hilfe.
' Auszug aus xml <dropDown id="myDropDown" label="Aktuelle Seminare" showLabel="true" getItemCount="CallbackDDGetItemCount" getItemLabel="CallbackDDGetItemLabel" getItemID="CallbackDDGetItemID" onAction="CallbackDropDownOnAction"> </dropDown> 'Auszug aus basRibbonCallbacks Dim m_rsSem As DAO.Recordset Dim m_strSQL As String Public Type ItemsVal ID As String label As String imageMso As String End Type ' Callbacks: Sub OnRibbonLoad(ribbon As IRibbonUI) ' Callbackname in XML File "onLoad" Set gobjRibbon = ribbon gobjRibbon.ActivateTab "tab_Seminare" m_strSQL = "select nr, thema from qryAktSeminare" End Sub Sub CallbackDDGetItemCount(control As IRibbonControl, _ ByRef count) Set m_rsSem = CurrentDb.OpenRecordset(m_strSQL, dbOpenDynaset) With m_rsSem .MoveLast count = .RecordCount .MoveFirst End With End Sub Sub CallbackDDGetItemLabel(control As IRibbonControl, _ index As Integer, _ ByRef label) With m_rsSem label = .Fields("thema") End With End Sub Sub CallbackDDGetItemID(control As IRibbonControl, _ index As Integer, _ ByRef itemID) With m_rsSem itemID = .Fields("nr").Value .MoveFirst End With End Sub Sub CallbackDropDownOnAction(control As IRibbonControl, _ selectedId As String, _ selectedIndex As Integer) With m_rsSem .FindFirst ("nr=" & selectedId) If .NoMatch() Then MsgBox "Nicht gefunden:" & selectedId & "/" & selectedIndex Else MsgBox .Fields("thema") & " gefunden" End If End With End Sub
Liebe Grüße, die Luzie!
Antworten
-
Hallo Luzie,
Luzie schrieb folgendes:
Ich habe das jetzt mit Beispiel 16 hinbekommen.
schön
Was mir noch nicht so richtig klar ist, ist die Variable arrSource(), zweidimensional?
arrSource(0, index) - enthält den Labeltext arrSource(1, index) - enthält den Screentiptext arrSource(2, index) - enthält den Supertiptext
Wo wird der Index dafür festgelegt. Ich wollte testweise jetzt eine neue hinzufügen z.B.
...
in Callback "CallbackDDGetItemCount" wird das Array dimensioniert.
ReDim arrSource
Gruß
Gunter
Access FAQ: http://www.donkarl.com
http://www.avenius.de - http://www.AccessRibbon.de
http://www.ribboncreator.de - http://www.ribboncreator2010.de- Als Antwort vorgeschlagen Gunter Avenius Freitag, 23. März 2012 12:53
- Als Antwort markiert Luzie Freitag, 23. März 2012 19:44
Alle Antworten
-
Hallo Luzie,
Luzie schrieb folgendes:
Ich hatte mir als Beispiel die DB2 vom Ribboncreator2010 heruntergeladen.
Naa. Von www.accessribbon.de
Besser wäre allerdings Beispiel 16
"Dieses Beispiel zeigt wie sie ein Ribbon DropDown Control dynamisch
aus einer Tabelle füllen können."
http://www.accessribbon.de/index.php?Downloads:16Sub CallbackDDGetItemLabel(control As IRibbonControl, _
index As Integer, _
ByRef label)
With m_rsSem
label = .Fields("thema")
End With
End SubDu ziehst nicht einen Label "thema" für einen bestimmten index sondern
immer den selben!s.a:
http://www.accessribbon.de/index.php?Access_-_Ribbons:Callbacks:DropDown_-_getItemLabelGruß
Gunter
Access FAQ: http://www.donkarl.com
http://www.avenius.de - http://www.AccessRibbon.de
http://www.ribboncreator.de - http://www.ribboncreator2010.de- Als Antwort vorgeschlagen Gunter Avenius Freitag, 23. März 2012 12:53
-
Hallo Gunter,
vielen Dank für die Antwort.
Ich habe das jetzt mit Beispiel 16 hinbekommen.
Was mir noch nicht so richtig klar ist, ist die Variable arrSource(), zweidimensional?
Wo wird der Index dafür festgelegt. Ich wollte testweise jetzt eine neue hinzufügen z.B.arrSource(3, lngDummy) = rst.Fields("nr")
Da kommt die Meldung, sie liegt außerhalb des indexes.
Liebe Grüße, die Luzie!
-
Hallo Luzie,
Luzie schrieb folgendes:
Ich habe das jetzt mit Beispiel 16 hinbekommen.
schön
Was mir noch nicht so richtig klar ist, ist die Variable arrSource(), zweidimensional?
arrSource(0, index) - enthält den Labeltext arrSource(1, index) - enthält den Screentiptext arrSource(2, index) - enthält den Supertiptext
Wo wird der Index dafür festgelegt. Ich wollte testweise jetzt eine neue hinzufügen z.B.
...
in Callback "CallbackDDGetItemCount" wird das Array dimensioniert.
ReDim arrSource
Gruß
Gunter
Access FAQ: http://www.donkarl.com
http://www.avenius.de - http://www.AccessRibbon.de
http://www.ribboncreator.de - http://www.ribboncreator2010.de- Als Antwort vorgeschlagen Gunter Avenius Freitag, 23. März 2012 12:53
- Als Antwort markiert Luzie Freitag, 23. März 2012 19:44