Per ODBC oder Microsoft.Jet.OLEDB.4.0 auf Access Datenbank zugreifen (Abfragen)

    Per ODBC oder Microsoft.Jet.OLEDB.4.0 auf Access Datenbank zugreifen (Abfragen)

    Hallo liebe Community,

    ich will mithilfe von Delphi und dem Microsoft Jet OLEDB Treiber, auf eine Access Datenbank so zugreifen, dass ich die Abfragen aus der Datenbank lese.

    Der reine Zugriff auf die Datenbank steht schon. Ich kann auch bereits über ein DBGrid Einträge aus den Tabellen lesen und ggf. bearbeiten.

    Mit Delphi und Datenbanken hatte ich bisher noch nicht viel zu tun, weshalb alles was ich getan habe "ergoogelt" war.(Habe bisher nur in C# programmiert)

    Nach dem ich gestern allerdings nicht mehr weiterkam (auch nach Stunden langem Googeln und Youtube-Tutorials ansehen), habe ich mich entschlossen euch nochmal um Hilfe zu beten.

    Was ich bisher nutze:

    -ADOConnection
    -ADOTable
    -ADOStoredProc
    -ClientDataSet
    -DataSetProvider
    -DataSource
    -DBGrid
    -Query

    So gut wie alle Komponenten sind miteinander verbunden. Bis auf ADOStoredProc und die Query Komponente.Wobei ich mir dabei auch nicht sicher bin ob ich diese Komponenten wirklich brauche :/


    Zum Abschluss noch ein Screenshot damit ihr auch versteht was ich mit "Abfrage" meine :D
    Ist es überhaupt möglich diese Auszulesen?



    Grüße Fragger93
    Bilder
    • 2015-08-25 08_21_36-.png

      46,42 kB, 625×531, 111 mal angesehen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Fragger93“ ()

    Danke für deine Antwort Lemmy!

    Ich werde es gleich mal ausprobieren! Melde mich dann später nochmal :thumbsup:

    EDIT: Deine Antwort hat mich definitiv weiter gebracht :thumbup: allerdings habe ich eine Fehlermeldung dabei bekommen "Datensätze können nicht gelesen werden. Keine Leseberechtigung auf 'MSysObjects'". Allerdings hat diese Fehlermeldung mich zu einem anderen Thread geführt der mir einen Lösungsweg gezeigt hat, wenn auch noch nicht "optimal".

    Ich lasse mir nun per ADOConnection1.GetTableNames() ALLE Tabellennamen ausgeben. Darunter sind auch die Abfragen enthalten!( Das wusste ich vorher nicht).

    Jetzt eine erneute Frage: Kann ich die Abfragen iwie rausfilten?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Fragger93“ ()

    Fragger93 schrieb:

    Jetzt eine erneute Frage: Kann ich die Abfragen iwie rausfilten?

    Ein Blick in die Online-Hilfe zu Data.Win.ADODB.TADOConnection.GetTableNames könnte dir diese Frage beantworten, aber da ich ein freundlicher Mensch bin, kopiere ich dir hier mal den Text rein, man soll Bequemlichkeit ja unbedingt unterstützen:

    Delphi-Code

    1. procedure GetTableNames(List: TStrings; SystemTables: Boolean = False);


    Beschreibung
    Füllt eine Liste mit den Namen der Tabellen in der Datenbank. Mit GetTableNames können Sie eine Liste der Datenbanktabellen abrufen. List gibt das Listenobjekt an, in das die Tabellenamen eingefügt werden.
    In SystemTables kann angegeben werden, ob die Systemtabellen der Datenbank in die Liste der Tabellennamen aufgenommen werden sollen.

    Sind jetzt alle Klarheiten beseitigt?