Excel Datenbank auslesen

  • VB6

Es gibt 18 Antworten in diesem Thema. Der letzte Beitrag () ist von INOPIAE.

    Excel Datenbank auslesen

    Hallo VBP Community,

    ich hoffe, diese Frage wurde noch nicht gestellt. :P
    Also. Ich habe eine Excel Datenbank mit Artikeln eines
    Unternehmens. Ganz am Anfang steht die Artikelnummer,
    also in Spalte A. Jetzt gebe ich in ein Inputfeld diese
    Nummer ein und die weiteren Daten in der Zeile der Nummer
    sollen in andere Felder eingetragen werden.

    Ist, bzw. wie ist dieses möglich?


    Danke im Voraus!


    MfG
    qixx
    Hi, ich rate dir gleich, dass du eine richtige Datenbank verwenden solltest.
    Wenns vom Kunden ist, schlag ihm das sofort vor.
    Das ist ja böse, eine Exceldatei als Datenbank zu verwenden.

    Wenn du es dennoch so machen willst, sollte dir das als Ansatz ausreichen:
    ozgrid.com/forum/showthread.php?t=26621
    "Wenn jemand in einem Betrieb unverzichtbar ist, dann ist dieser Betrieb falsch organisiert." - Roberto Niederer
    Dankeschön.
    Das Problem mit der Excel-Datenbank ist ja, dass ich sie benutzen muss. Es ist für eine Projektarbeit gedacht und ich habe nur eine Excel-Datenbank als Vorlage bekommen. ;)

    Ich habe mir gerade mal den Code angeschaut und verstehe irgendwie nur Bahnhof. ^^
    Gibt es das nicht irgendwie in einfacher? :P

    Mit Glück komme ich morgen schon an die Excel-Datei. Dann könnte ich die als Anhang ja mal dabeipacken. ;)

    Danke schonmal für die Antwort!


    MfG
    qixx
    Das ist nunmal auch nicht das einfachste. Hast du dich schonmal mit Datenbanken beschäftigt??
    Am besten ist, du fängst an und schaust dich einbisschen um und versuchst das zu verstehen.
    Das ganze kann ich dir jetzt aus mehreren gründen nicht erklären:
    - zeitlich
    - du sollst für dein Projekt ja selbst was machen
    - du sollst dabei was lernen.
    "Wenn jemand in einem Betrieb unverzichtbar ist, dann ist dieser Betrieb falsch organisiert." - Roberto Niederer

    milaim schrieb:

    Das ganze kann ich dir jetzt aus mehreren gründen nicht erklären:
    - zeitlich
    - du sollst für dein Projekt ja selbst was machen
    - du sollst dabei was lernen.
    Trotzdem Dankeschön. :thumbsup:
    Ich muss ja nur die Grundlagen wissen, wie ich auf
    eine Excel-Datenbank zugreifen kann. ;) Ich wüsste
    sonst nicht, wo ich das in Erfahrung bringen könnte.
    Naja, dann forsche ich ein bisschen weiter...


    Edit:
    Ich habe eine Möglichkeit gefunden, wie ich das
    machen kann. Jetzt muss ich aber nurnoch eines
    wissen. Und zwar wie man in einer Excel-Tabelle
    nach einer Zelle mit einem bestimmten Inhalt
    durchsuchen kann. Dafür gibt es doch sicher einen
    Befehl, richig? :P


    MfG
    qixx

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „qixx“ () aus folgendem Grund: Möglichkeit gefunden, suche einen Befehl.

    Da Excel nicht mit SQL zu Recht kommt (soweit ich weiß), wird es schwer mit einer Excel-Datenbank zu arbeiten. Mein Tipp: Access und MS-SQL-Server bieten für den Anfang eine bessere Datenbankgrundlage als Excel. Klar mit Excel kann man rechnen, aber wenn es dir um das Rechnen mit festen Daten geht, solltest du dir überlegen, ob du nicht eine komplette Anwendung mit Anbindung an die Datenbank schreibst.

    Grüße meta :thumbup:
    @Hugo_Stiglitz: VB6.0

    @gixx
    Über ADO sollte es normalerweise funktioniern.
    Du öffnest die ADO-Verbindung zur Excel-Datei, liest alles in einen Recordset ein.
    Den Connestionstring musst Du mal nachschauen. Ich bin nicht sicher ob die auf connectionstrings.com funktionieren. Edit korrigiert
    NB. Es ist doch schön, wenn man lesbare Namen vergibt. Siehe auch [VB.NET] Beispiele für guten und schlechten Code (Stil).

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „INOPIAE“ ()

    Danke für die Antwort. :)
    Was genau ist/macht denn ein Recordset?
    Liest das alle Zellen ein oder wie?

    Sorry, aber ich habe vorher nur in AutoIt
    programmiert und VB ist dann doch etwas
    unterschiedlich. ;)

    Achja, der Link geht nicht. ;)


    MfG
    qixx

    qixx schrieb:

    aber leider geht das nicht in VB 6.0.

    Und?
    Du hast von VB im Prinzip NULL Plan. Trotzdem möchtest du gerne eine VB Version verwenden (VB6), die schon seit Jahren "tot" ist und die eigentlich nur noch für Leute interessant ist, die schon lange damit programmieren und evtl auch schon komplexere Programme "in the wild" haben, die sie weiter supporten.

    Ergo: Wechsel halt auf VB.Net. VB 2008 Express ist kostenlos, VB 2010 Express ist auf deutsch noch nicht raus, aber das kann ja auch nicht mehr ewig dauern. DANN lernst du "programmieren" gleich in ner AKTUELLEN Sprache. Alternativ empfehle ich den Besuch eines Forums für altgriechisch oder Latein ...

    qixx schrieb:

    Denn es ist für eine Projektarbeit

    In dem Fall müsste man davon ausgehen, dass du logischerweise das programmieren mit VB6 bereits "gelernt" hast. Datenbanken waren offensichtlich nicht dabei? Dann solltest du dich am besten erstmal in das Thema "ADO" einarbeiten. Auch grundlegende SQL-Kenntnisse wären vorteilhaft. Denn wenn dein Projekt sich um Datenbanken dreht (auch wenn Excel KEINE Datenbank ist!), wirst du wohl nicht um solche Kenntnisse umhin kommen.

    qixx schrieb:

    Wir haben leider im Unterricht nur Brutto-Netto-Rechner oder
    Ähnliches programmiert.

    Dann ist der Schritt zu Datenbanken aber nicht trivial. Habt ihr keine Lehrmaterialien (Bücher), die dieses Thema behandeln?

    OT:
    Wir fassen zusammen: "Gelehrt" wird mit VB6 und Excel soll als Datenbank missbraucht werden. Dann bestell deinem Lehrer/Ausbilder mal nen schönen Gruß von mir und er möge entweder mal über eine Frühpensionierung nachdenken, oder aber sich noch mal auf seinen Hosenboden setzen und mal langsam in der Neuzeit ankommen ...

    picoflop schrieb:

    Wir fassen zusammen: "Gelehrt" wird mit VB6 und Excel soll als Datenbank missbraucht werden.
    So ist es.
    Ich habe jetzt aber alle Probleme, die ich hatte, lösen
    können. ;)
    Trotzdem Danke nochmal an euch!

    Excel Starten:

    Visual Basic-Quellcode

    1. Set Excel = CreateObject("Excel.Application") 'Programm wird in Variable eigetragen
    2. Excel.Visible = False 'Excel-Programm läuft im Hintergrund
    3. Excel.Workbooks.Open App.Path & "\artikel.xls" 'Öffnet die Datei artikel.xls im Programmverzeichnis


    Durchsuchen:

    Visual Basic-Quellcode

    1. Do
    2. i = i + 1
    3. Str = Excel.Range("A" & i)
    4. Loop Until Str = "" Or Str = ArtNR


    Excel Beenden:

    Visual Basic-Quellcode

    1. Excel.ActiveWorkbook.Close



    MfG
    qixx
    Wenn die Aufgabe lautet, Excel als Datenbank einzusetzen, hättest Du bei mir das Thema verfehlt, denn dass geht über DAO oder ADO in VB6.
    Falls Du Hilfe brauchst, guckst Du hier activevb.de/tipps/tipkat/kat3.html als Einstieg.
    NB. Es ist doch schön, wenn man lesbare Namen vergibt. Siehe auch [VB.NET] Beispiele für guten und schlechten Code (Stil).