| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: combobox, column (1308 mal gelesen)
|
BerndE Mitglied Hochbautechniker
Beiträge: 557 Registriert: 05.07.2003 Revit 2013 ACA 2012 deutsch BuildingOne 5.4.5 Win7 WindowsNetz
|
erstellt am: 21. Nov. 2005 08:57 <-- editieren / zitieren --> Unities abgeben:
Hi forum, mit Code: for z = 1 to rst.recordcount me.cmbttyp.additem rst.fields(0) rst2.movenext next z
habe ich im formular meine combobox gefüllt. leide nur die erste spalte. wie bekomme ich eine zweite spalte hin? die combobox läßt laut eigenschaften doch mehr als eine zu. bernd------------------
Bernd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
H.D. Mitglied
Beiträge: 25 Registriert: 12.05.2005 P4 3.20 GHz 1,00 GB RAM WinXP SP2 Autodesk Architectural Desktop 2004
|
erstellt am: 21. Nov. 2005 10:13 <-- editieren / zitieren --> Unities abgeben: Nur für BerndE
|
Stelli1 Moderator Verm.-Ing.
Beiträge: 1521 Registriert: 17.08.2005 Map 2000-2014, Rasterdesign, MapGuide, Autodesk Topobase, VS6, VS.net 2013
|
erstellt am: 21. Nov. 2005 11:19 <-- editieren / zitieren --> Unities abgeben: Nur für BerndE
Hallo Bernd, die Antwort hattest du schon hier Code:
' Listen füllen Me.com_Funktion.Clear For Each Eintrag In ogdb.Strangfunktionen ' erste Spalte hat index .list(Reihe,0) Me.com_Funktion.AddItem Eintrag.Value , zweite Spalte hat Index .list(Reihe,1) Me.com_Funktion.List(Me.com_Funktion.ListCount - 1, 1) = Eintrag.Kennung Next Eintrag
Stelli------------------ Warum lisp'eln wenn's auch anders geht. [Diese Nachricht wurde von Stelli1 am 21. Nov. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BerndE Mitglied Hochbautechniker
Beiträge: 557 Registriert: 05.07.2003
|
erstellt am: 21. Nov. 2005 11:50 <-- editieren / zitieren --> Unities abgeben:
hi stelli, danke, daß duz trotzdem nochmal geantwortet hast. bei dem anderen treath bin ich noch in der "phase" des kapierens (wobei mir diese antwort nen stück dqabei geholfen hat) bernd ------------------
Bernd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BerndE Mitglied Hochbautechniker
Beiträge: 557 Registriert: 05.07.2003 Revit 2013 ACA 2012 deutsch BuildingOne 5.4.5 Win7 WindowsNetz
|
erstellt am: 21. Nov. 2005 13:31 <-- editieren / zitieren --> Unities abgeben:
hi stelli, habe doch noch ein paar verständnisfragen.den code von dir habe ich jetzt soweit eingebaut und angepaßt. in meinem code habe ich eingefügt: Code: Me.cmbttyp.Clear For Each Eintrag In ogdb.Strangfunktionen Me.cmbttyp.AddItem Eintrag.Value Me.cmbttyp.List(Me.cmbttyp.ListCount - 1, 1) = Eintrag.Kennung Next Eintrag
Als erstes wurde EINTRAG nicht erkannt (keine Variable definiert), also ergänzte ich meinen Code um:
Code: Dim Eintrag As New cls_Kennung
danach erkannte er ODGB nicht... und genau da beginnt mein problem. ergänze ich zusätzlich noch
Code: dim ogdb As New Collection
läuft der code zwar durch, die collection ist aber leer und meine combobox dann auch. wo habe ich was falsch gemacht?
------------------
Bernd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BerndE Mitglied Hochbautechniker
Beiträge: 557 Registriert: 05.07.2003
|
erstellt am: 21. Nov. 2005 14:36 <-- editieren / zitieren --> Unities abgeben:
hallo stelli, mit meinem ursprünglichem Code Code: Dim dbs As Database Dim rst2 As DAO.Recordset Set dbs = DBEngine.Workspaces(0).OpenDatabase("C:\RB\691_11_BE.mdb") Set rst2 = dbs.OpenRecordset("SELECT tabTTyp.TTpNr, tabTTyp.TTypBez FROM tabTTyp;") rst2.MoveLast rst2.MoveFirst For Zaehler = 1 To rst2.RecordCount Me.cmbttyp.AddItem rst2.Fields(0) Me.cmbttyp.List(Me.cmbttyp.ListCount - 1, 1) = rst2.Fields(1) rst2.MoveNext Next Zaehler rst2.Close Set rst2 = Nothing Set dbs = Nothing
habe ich es auch gebacken bekommen. benötige dazu keine klassen und kann meine tabellen in der mdb direkt ansprechen. siehst du in dieser verfahrensweise irgendeinen nachteil? bernd ------------------
Bernd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stelli1 Moderator Verm.-Ing.
Beiträge: 1521 Registriert: 17.08.2005 Map 2000-2014, Rasterdesign, MapGuide, Autodesk Topobase, VS6, VS.net 2013
|
erstellt am: 21. Nov. 2005 15:22 <-- editieren / zitieren --> Unities abgeben: Nur für BerndE
Hallo Bernd, das geht auch so wie du es vorhast. Aber.. Wenn du viele Kennungslisten hast, hast du auch viel Code und in jeder Maske fast gleich. Willste dann was ändern wird das sehr aufwändig und fehleranfällig. Ausserdem ist so beim Laden jeder Maske ein DB Zugriff notwendig. Wird bei vielen Listen sehr langsam. Und wenn man die Listen nur einmal lesen will müsstest du das als global deklarierte Collection machen. Dann kann man doch lieber eine Klasse nehmen die für das Handling einfacher ist. Wenn dann noch eine Funktion zwischengeschaltet ist, hast du pro Liste eine Programmzeile.
Code:
' Listen füllen ComboBoxFüllen Me.com_Funktion, ogdb.Strangfunktionen ComboBoxFüllen Me.Com_Eigentum, ogdb.Eigentum ComboBoxFüllen Me.Com_Material, ogdb.Strangmaterial ComboBoxFüllen Me.Com_Strasse, ogdb.Strasse ComboBoxFüllen Me.Com_Versorgungsgebiet, ogdb.Versorgungsgebiet ComboBoxFüllen Me.Com_Status, ogdb.Status ComboBoxFüllen Me.Com_Einspeisegebiet, ogdb.Einspeisegebiet ComboBoxFüllen Me.Com_Lagegenauigkeit, ogdb.Lagegenauigkeit
Übringens würde ich an Stelle von rs.fields(0).value (Ordinalposition) den Feldnamen verwenden. rs.fields(Feldname).value Stelli
------------------ Warum lisp'eln wenn's auch anders geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BerndE Mitglied Hochbautechniker
Beiträge: 557 Registriert: 05.07.2003
|
erstellt am: 21. Nov. 2005 15:38 <-- editieren / zitieren --> Unities abgeben:
Hi Stelli, ich gebe dir recht, normalerweise benutze ich auch den feldnamen. nur hat hier das recordset nur die felder 0 und 1. und um diesen code auch für andere tabellen zu nutzen, habe ich mir das gespart. was aber dein vorgehen betrifft: mir leuchten deine argumente ein und ich würde deine verfahrensweise auch gerne bei mir einsetzen. aber wie gesagt, ich komme mit der variablen OGDB ins schleudern. diese ist so weder in deiner klasse definiert noch sonst irgendwo anders dimensioniert. habe hier einfach noch verständnisprobleme bernd ------------------
Bernd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stelli1 Moderator Verm.-Ing.
Beiträge: 1521 Registriert: 17.08.2005 Map 2000-2014, Rasterdesign, MapGuide, Autodesk Topobase, VS6, VS.net 2013
|
erstellt am: 22. Nov. 2005 11:34 <-- editieren / zitieren --> Unities abgeben: Nur für BerndE
|
BerndE Mitglied Hochbautechniker
Beiträge: 557 Registriert: 05.07.2003
|
erstellt am: 22. Nov. 2005 11:37 <-- editieren / zitieren --> Unities abgeben:
|