| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Oracle DB Value--> VBA Listbox (1701 mal gelesen)
|
Feyza Mitglied
Beiträge: 605 Registriert: 12.01.2004 AutoCAD Mechanical 2017 - Oracle Client 10.2
|
erstellt am: 29. Okt. 2010 14:19 <-- editieren / zitieren --> Unities abgeben:
Hallo Zusammen, ich versuche, aus einer Oracle Datenbank die selectierten Daten in eine Listbox einzulesen. Verbindung ist vorhanden. Man sieht nur den letzten Row in der Listbox. (5 sind vorhanden) Set stkl_liste = OraDatabase.CreateDynaset("select STKL_NR from BMV_ELEMENT_STKL where BEMI_NR='3043'", 0&) Dim intRow As Integer For intRow = 0 To 1 ListBox2.AddItem (stkl_liste.Fields("STKL_NR").Value) Next intRow Die Schleife funktioniert irgendwie nicht. Was mache ich hier falsch? Danke für jede Unterstützung! ------------------ Schöne Grüße Feyza : ) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 29. Okt. 2010 15:49 <-- editieren / zitieren -->
Hi, Du bewegst den Datenbank-Recordpointer nicht, damit bekommst Du jedesmal den Inhalt des ersten Datensatzes. Also erstens: in die For-Next-Schleife einbauen: stkl_liste.MoveNext Zweitens: (muss kein Fehler sein, nur der Vorsicht halber) durch das Statement For intRow = 0 To 1 gehst Du von 2 Datensätzen aus, einmal beim Durchlauf mit intRow=0 und einmal mit intRow=1, ich würde zuerst mal prüfen, ob die Abfrage überhaupt Records retourniert, und dann auch, wieviele Records zurückkommen. - alfred - ------------------ www.hollaus.at |
Feyza Mitglied
Beiträge: 605 Registriert: 12.01.2004 AutoCAD Mechanical 2017 - Oracle Client 10.2
|
erstellt am: 03. Nov. 2010 13:57 <-- editieren / zitieren --> Unities abgeben:
Hallo alfred, danke Dir für die Hilfen, aber habe bisschen in meinem Code probiert und jetzt kriege ich diese Meldung nicht mehr weg und mein acad stürzt nur noch ab: Laufzeitfehler 2147417848 (80010108) Automatisierungsfehler: Das aufgerufene Objekt wurde von den Clients getrennt. Kannst Du oder jemand mir hier bitte weiterhelfen? Danke schön. ------------------ Schöne Grüße Feyza : ) [Diese Nachricht wurde von Feyza am 03. Nov. 2010 editiert.] [Diese Nachricht wurde von Feyza am 03. Nov. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 03. Nov. 2010 14:02 <-- editieren / zitieren -->
Hi, >> Kannst Du oder jemand mir hier bitte weiterhelfen? Ohne den Code zu sehen (und die Stelle, wo Dein Debugger Fehler meldet) kann ich das nicht. Die Fehlernummer ist zu wenig eindeutig (ich nehme doch an, dass Du auch schon >>>so<<< gesucht hast). Die Meldung 'Das aufgerufene Objekt wurde von den Clients getrennt' klingt nach einem ActiveX-Timeout-Problem, sprich Du hast einem ActiveX-Objekt eine Aufgabe übergeben, diese läuft entweder in einer Schleife oder braucht so lange, dass das eingestellte Timeout (zumindest für den Debugger) überschritten wurde. Und damit jetzt nicht die ganze App fliegt, wird die Kontrolle an das Hauptprogramm zurückgegeben. - alfred - ------------------ www.hollaus.at |
Feyza Mitglied
Beiträge: 605 Registriert: 12.01.2004 AutoCAD Mechanical 2017 - Oracle Client 10.2
|
erstellt am: 04. Nov. 2010 11:08 <-- editieren / zitieren --> Unities abgeben:
Hallo alfred, ich hatte vorher die Verbindung zu der Oracledatenbank. Jetzt geht es nicht mehr. Ich habe den Code in ein neues Form eingefügt, das gleiche Problem. Dim m_oraSession As Object Dim m_oraDatabase As Object Set m_oraSession = CreateObject("OracleInProcServer.XOraSession") Set m_oraDatabase = m_oraSession.DbOpenDatabase("DB", "username/passwort", 0&) MsgBox "Connected to" & m_oraDatabase.Connect & "@" & m_oraDatabase.DatabaseName PS: Habe natürlich im Google nachgesehen. Wenn etwas funktioniert und plötzlich doch nicht mehr?! Kannst Du mir bitte hier weiterhlefen. Am Code, denke ich, lieg es nicht,oder : )? ------------------ Schöne Grüße Feyza : ) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 04. Nov. 2010 11:37 <-- editieren / zitieren -->
Hi, >> ich hatte vorher die Verbindung zu der Oracledatenbank Und jetzt ohne Code-Änderung nicht mehr? Dann guck mal, ob der Server noch läuft oder: >> CreateObject("OracleInProcServer.XOraSession")
Vorsicht, probier zuerst mal, ob Du mit GetObject eine Verbindung bekommst, denn CreateObject erzeugt jedesmal einen neuen ActiveX-Server und das magst Du wohl nicht. (und imho wird dann jedesmal eine neue Session erstellt, das kann bei zu großer Anzahl wohl auch die Verbindung zum Oracle-Server mal stoppen). Das sind eigentlich alles Oracle-Dinge, ich vermute, dass Du da in Foren rund um Oracle besser aufgehoben sein wirst. In dem Code, den Du zeigst, kann ich von VB/VBA-Syntax her keine offensichtlichen Probleme feststellen, nur probiert hab ich mit dem wenigen Code auch nix. Viel Erfolg, - alfred - ------------------ www.hollaus.at |
Feyza Mitglied
Beiträge: 605 Registriert: 12.01.2004 AutoCAD Mechanical 2017 - Oracle Client 10.2
|
erstellt am: 04. Nov. 2010 14:23 <-- editieren / zitieren --> Unities abgeben:
Hallo alfred, funktioniert jetzt wieder : ). Problem war zwei Versionen von Oracle auf dem rechner. Jetzt ist nur eine Version drauf. Vielen Dank für Deine Hilfe. ------------------ Schöne Grüße Feyza : ) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|