orange1 Geschrieben 11. September 2008 Geschrieben 11. September 2008 Hallo, ich habe in Access eine Datenbank angelegt, die ich in SQL Schreibweise in Visual Basic schreiben möchte. Die SELECT...FROM...-Form habe ich schon eingetragen. Nur funktioniert es noch nicht. Ich habe ausprobiert Reader und ExecuteReader davor zu schreiben nur ist das keine Methode. Was muss ich machen damit ich die Daten ausgelesen bekomme? Über eine schnelle antwort wäre ich sehr dankbar! :-) orange1 Zitieren
Amstelchen Geschrieben 11. September 2008 Geschrieben 11. September 2008 VB6 oder VB.NET? was "funktioniert nicht"? bitte eine etwas aussagekräftigere beschreibung abliefern. s'Amstel Zitieren
orange1 Geschrieben 11. September 2008 Autor Geschrieben 11. September 2008 Ich will die daten übertragen. nur weiss ich nicht was ich zum auslesen benutzen kann. es muss ja was vor SELECT...FROM... stehen, aber was? ich weiss nicht ob das jez genug erklärt war weil ich nicht genau weiss wie ich das erklären soll. ich hoffe es geht auch so. Zitieren
mo0N Geschrieben 11. September 2008 Geschrieben 11. September 2008 so kann glaube ich niemand was damit anfangen, schreib uns doch einfach mal folgende Informationen Access Version Entwicklungsumgebung Betriebssystem Zitieren
flashpixx Geschrieben 11. September 2008 Geschrieben 11. September 2008 Was muss ich machen damit ich die Daten ausgelesen bekomme? Bitte einmal eine vollständige und strukturierte Problembeschreibung. Ich habe da so die Vermutung, dass Du aus VB auf eine Tabellen zugreifen möchtest: Wo läuft das Script, innerhalb der DB? In einer anderen Anwendung? Aber bitte wie auch alle Vorredner geschrieben haben: Bitte eine aussagekräftige Beschreibung HTH Phil Zitieren
orange1 Geschrieben 11. September 2008 Autor Geschrieben 11. September 2008 Access Version 2003 Visual Basic 2005 und Betriebssystem Vista Zitieren
mo0N Geschrieben 11. September 2008 Geschrieben 11. September 2008 dann bist du falsch hier aber wart ich such dir gern die lösung raus, hab die hier irgendwo^^ Zitieren
mo0N Geschrieben 11. September 2008 Geschrieben 11. September 2008 Die dll, die ich dir angehängt habe, habe ich mit Visual Studio 2003 geschrieben, du solltest sie dennoch ohne probleme einbinden können. Darin sind Methoden für SQL und Access Datenbank Verbindungen enthalten. Du kannst belibige SQL Befehle verarbeiten und ganze Objekte mit Abfrageinhalten füllen. Ich werde dir die funktionsweise kurz erläutern: Zunächst muss du sie als COM Verweis hinzufügen. Nun einfach ein Object mit der gewünschten Datenbankart erstellen: Dim ConDBAc as new clsRLDB.ACCESSDB() Als nächstes musst du die Verbindungsparameter setzten: ConDBAc.setDBParam("C:\test.mdb") Bei einer Access 2003 sollte dies bereits ausreichen. Und schon können wir ein Objekt mit Daten aus einer Tabelle füllen: Dim tmpObj as Object tmpObj = ConDBAc.rl_VonDb("select * from Tabelle") Der Zugriff auf die einzelnen Zeilen ist ähnlich einfach: While tmpobj.eof = false tmpObj.fields("Feldname").value tmpObj.MoveNext() End While Mit dieser Schleife kannst du nun alle Daten der Tabelle einzelt ansprechen.clsRLDB.rar Zitieren
orange1 Geschrieben 11. September 2008 Autor Geschrieben 11. September 2008 Das Problem liegt irgentwie in dem Code : While tmpObj.EOF = False tmpObj.fields("Erst_Formular").value() tmpObj.MoveNext() End While Das Funktioniert nicht! ich weiss nicht wieso. es wird die fehlermeldung angezeigt:Ein Objekt, das dem angeforderten Namen oder dem Ordinalverweis entspricht, kann nicht gefunden werden. & COM Exzeption wurde nicht behandelt. Zitieren
mo0N Geschrieben 11. September 2008 Geschrieben 11. September 2008 (bearbeitet) du musst mit "tmpObj.fields("Erst_Formular").value" ja irgendwas machen es einer Variablen zuweisen beispielsweise. Das Problem liegt irgentwie in dem Code : While tmpObj.EOF = False tmpObj.fields("Erst_Formular").value() tmpObj.MoveNext() End While Ein Objekt, das dem angeforderten Namen oder dem Ordinalverweis entspricht, kann nicht gefunden werden. & COM Exzeption wurde nicht behandelt. sei versichert, dass der code einwandfrei ist Nur was ist denn deiner Meinung nach "Erst_Formular"? Es muss eine Spalte der Tabelle sein, die deine vorausgegangene Abfrage mit einschließt. Ein Beispiel: Tabelle Mitarbeiter: ID Name Vorname Abteilung 1 mo0N blabla IT wenn ich jetzt Dim tmpObj as Object tmpObj = ConDBAc.rl_VonDb("select * from Mitarbeiter") ausführe, kann ich mit meinem Objekt auf die Spaltennamen, ID, Name, Vorname und Abteilung zugreifen: While tmpobj.eof = false MsgBox(tmpObj.fields("Name").value) tmpObj.MoveNext() End While Das würde mir eine MessageBox mit dem Inhalt "mo0N" anzeigen. Bearbeitet 11. September 2008 von mo0N Zitieren
orange1 Geschrieben 11. September 2008 Autor Geschrieben 11. September 2008 Könntest du mir das nochmal genauer erklären?! wäre sehr nett von dir. Bin nämlich noch anfänger im VB05 und kenne mich da desshalb noch nicht so aus. Zitieren
Klotzkopp Geschrieben 11. September 2008 Geschrieben 11. September 2008 Bin nämlich noch anfänger im VB05 Ich würde dir nicht raten, deine Entwicklungsumgebung "VB05" zu nennen. Es gab mal ein "Visual Basic 5", das hat mit dem "Visual Basic .NET 2005", das du benutzt, aber fast nichts mehr gemein. Außerdem finde ich, dass man um die Datenbankschnittstelle in .NET nicht noch einen Wrapper legen muss. Und man sollte auch nicht irgendwelche DLLs von irgendwelchen Personen aus dem Internet herunterladen und benutzen. Aber das muss jeder selbst wissen. Zitieren
mo0N Geschrieben 11. September 2008 Geschrieben 11. September 2008 (bearbeitet) @Klotzkopp ist ja wirklich nett von dir wie du meine unterstützung hier kommentierst Und man sollte auch nicht irgendwelche DLLs von irgendwelchen Personen aus dem Internet herunterladen und benutzen. möchtest du mir unterstellen, dass ich hier möglicherweise schädlichen code verbreite? wozu sind die dateianhänge sonst bitte da? außerdem hätte ich auch sofort den quelltext reingestellt wenn jemand dannach gefragt hätte @orange1 wie machen wir das mit dem erklähren am besten? pm? icq? Bearbeitet 11. September 2008 von mo0N Zitieren
TDM Geschrieben 11. September 2008 Geschrieben 11. September 2008 möchtest du mir unterstellen, dass ich hier möglicherweise schädlichen code verbreite? wozu sind die dateianhänge sonst bitte da? außerdem hätte ich auch sofort den quelltext reingestellt wenn jemand dannach gefragt hätte Ich schätze er meint eher, dass ein Programmentwickler sein Programm kennen sollte und keine DLLs von Drittanbietern verwendet. Es gibt nämlich sowas wie Lizenzanspruch aber egal... Warum eigentlich COM verwenden?! Was ist denn gegen OleDB und Konsorten zu sagen?! Zitieren
Klotzkopp Geschrieben 11. September 2008 Geschrieben 11. September 2008 möchtest du mir unterstellen, dass ich hier möglicherweise schädlichen code verbreite?Nein, ich unterstelle gar nichts. Ich habe einen allgemeinen Hinweis zum Umgang mit ausführbaren Dateien aus dem Internet gegeben. wozu sind die dateianhänge sonst bitte da?Du weißt schon, dass es auch nicht-ausführbare Dateien gibt? außerdem hätte ich auch sofort den quelltext reingestellt wenn jemand dannach gefragt hätteWarum hast du das nicht gleich gemacht? Aus deiner fertigen DLL lernt jedenfalls niemand, wie man mit der Datenbankschnittstelle von VB.NET umgeht. Beim Quellcode wäre das zumindest noch möglich gewesen. Zitieren
mo0N Geschrieben 11. September 2008 Geschrieben 11. September 2008 Ich schätze er meint eher, dass ein Programmentwickler sein Programm kennen sollte und keine DLLs von Drittanbietern verwendet. Dazu wurde mir von meinem Ausbilder jahrelang ein Spruch gedrückt Warum das Rad neu erfinden? Ich glaube niemand schreibt Code neu wenn er ihn so problemlos und für die Anwendungszwecke dokumentiert vorgelegt bekommt. Aber wie schon gesagt muss ja jeder selbst wissen, ich fand den Post nur einfach überflüssig und habe mich ein wenig geärgert, dass ich mir so Mühe gegeben habe bei der Erklährung und dann kommt sowas. Es gibt nämlich sowas wie Lizenzanspruch aber egal... Wenn ich meine selbstentwickelte dll im Forum frei zum download anbiete, ist da nicht viel mit Lizensansprüchen. Warum eigentlich COM verwenden?! Was ist denn gegen OleDB und Konsorten zu sagen?! Ich habe dort ADODB verwendet, ist sowohl in älteren Visual Studio Versionen (bis runter zu Visual Basic 6) und in den neusten (Visual Studio 2008) zu verwenden. Ich konnte sie bisher vielseitig einsetzen und bin immer gut damit gefahren. Zitieren
orange1 Geschrieben 11. September 2008 Autor Geschrieben 11. September 2008 @moON: ja per icq wäre dann vielleicht nicht schlecht.ich bin heute abend so gegen 20uhr daheim am besten du schreibst mir deine nummer, weiss meine net auswendig, wäre sehr nett von dir mir das nochmal zu erklären :-) @Klotzkopp: Jeder hat eine andere Meinung würde ich mal sagen, ist nicht böse gemeint. Hast schon rest das man mit ben Code alles besser nachvollziehen kann aber ich will das jez erstmal verstehen. Zitieren
Hahne Geschrieben 12. September 2008 Geschrieben 12. September 2008 @Klotzkopp: Jeder hat eine andere Meinung würde ich mal sagen, ist nicht böse gemeint. Hast schon rest das man mit ben Code alles besser nachvollziehen kann aber ich will das jez erstmal verstehen. Wenn du das verstehen willst dann schreibste dir erst einmal eine Verbindung selber anstatt fertige DLL's zu verwenden. Und wenn es nur eine einfache ist. Später kannst du ja immer noch auf die DLL zurückgreifen. Aber solange du keine Verbindung zu einer Datenbank einmal selbst hergestellt hast, Daten abgefragt hast um diese darzustellen wirst du den Vorgang der da passiert nie richtig verstehen. Ist meine Meinung. Wenn du am lernen bist versuche sowas einmal selbst zu programmieren. Es gibt bei Google hunderte von Themen dazu! Zitieren
orange1 Geschrieben 12. September 2008 Autor Geschrieben 12. September 2008 ich habe selbst die verbindung zur datenbank erstellt und programmiert nur an dieser einen sache hänge ich die ganze zeit schon. Ich habe schon soweit alles selbst programmiert. Zitieren
Klotzkopp Geschrieben 12. September 2008 Geschrieben 12. September 2008 ich habe selbst die verbindung zur datenbank erstellt und programmiert Zeig doch mal, was du schon hast. Vielleicht ist es nur eine Kleinigkeit. Dein Code (und eventuell dazugehörige Fehlermeldungen) sind immer hilfreicher, als wenn dir hier irgendwelche Lösungen angeboten werden, die möglicherweise gar nicht auf dein Problem passen, oder die du nicht auf deine Situation anpassen kannst. Zitieren
orange1 Geschrieben 12. September 2008 Autor Geschrieben 12. September 2008 Das ist viel zu viel alles hier rein zu schreiben. ich weiss nur selbst net wie ich die ID von einem zum anderen übergebe, das ist mein problem. der rest funktioniert alles. Zitieren
Klotzkopp Geschrieben 12. September 2008 Geschrieben 12. September 2008 Das ist viel zu viel alles hier rein zu schreiben.Ich meinte nur den Code, der für das Problem relevant ist. Z.B. wie du die Datenbankverbindung herstellst. ich weiss nur selbst net wie ich die ID von einem zum anderen übergebeWelche ID, welcher "eine", welcher "andere"? Ging es nicht darum, wie du ein SQL-Statement in VB.NET absetzt? Zitieren
xk4fu Geschrieben 12. September 2008 Geschrieben 12. September 2008 :mail http://forum.fachinformatiker.de/basic/119619-id-uebertragen.html :mod: Zitieren
orange1 Geschrieben 12. September 2008 Autor Geschrieben 12. September 2008 Danke @ xk4fu dort habe ich den code hingeschrieben. Zitieren
Klotzkopp Geschrieben 12. September 2008 Geschrieben 12. September 2008 dort habe ich den code hingeschrieben. Welchen Code? In dem anderen Thread geht es um ein ganz anderes Problem (wenn ich dich richtig verstanden habe). Dort findet sich aber kein Code zu deinem Datenbankproblem. Und auf die Hilfe, die du dort bekommen hast, hast du bisher auch nur mit "funktioniert nicht" reagiert. Stell doch bitte mal klar, ob das Datenbankproblem überhaupt noch existiert. Ich werde aus deinen Erklärungen nicht recht schlau. Und ich glaube, das geht mir nicht allein so. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.