Excel-Tabelle auslesen!



  • Schickt mich jetzt bitte nicht in die FAQ oder sonstwo hin:D

    Also, eine normale Excel-Tabelle auslesen kann ich mittlerweile, mein Problem ist nur das nirgendwo beschrieben wird wie ich ein anderes Tabellenblatt als das erste auslesen kann.

    Ich habe hier 52 Tabellenblätter, für jede Woche eins. Handelt sich um einen Stundenplan. Und das ganze soll ich nun per ODBC auslesen. Kann mir das einer vielleicht an einem kleinen Beispiel erklären?



  • Excel verwaltet eine Liste mit den Sheets, die muss man doch genauso ans ODBC anbinden können wie nur das 1. Sheet



  • Original erstellt von RenéG:
    Excel verwaltet eine Liste mit den Sheets, die muss man doch genauso ans ODBC anbinden können wie nur das 1. Sheet

    und wie?🙄
    Ich bin totaler Anfänger darin, habe davon absolut keine Ahnung...
    ein kleines Beispiel oder ein Tutorial wo das auch erklärt wird, wäre nicht schlecht. Die Tutorials aus den FAQ behandeln das nämliche alle nicht 😞



  • *schieb*



  • Da ich net weiss, wie Du es bisher gemacht hast, auch keine Zeit/Bock habe, mir erst irgendwo ein Beispiel zu suchen, kann ich Dir auch net helfen



  • Original erstellt von RenéG:
    Da ich net weiss, wie Du es bisher gemacht hast, auch keine Zeit/Bock habe, mir erst irgendwo ein Beispiel zu suchen, kann ich Dir auch net helfen

    Ich habe das bisher (was heißt bisher - ich habe es heute probiert und es hat funktioniert) so gemacht wie Erhard Henkes das in seinem 12. Kapitel beschreibt! Aber da steht eben auch nix von den einzelnen Tabellenblättern...



  • Kenn mich mit SQL net aus, aber wenn Du beim Öffnen des RecordSets den SQL-String "SELECT Tabelle2" oder so angibst, müsste er doch automatisch den 2. Sheet nehmen ... vielleicht muss man das auch schon bei der DataBase machen, mal ausprobieren, oder?



  • In meinem Tutorial heißt es:
    Geben Sie dem Excel-Tabellen-Bereich "Tabelle1!$A1:1:C$7" den Namen "ExcelTestDatenbank". Das funktioniert z.B. über das Excel-Menü "Einfügen - Namen - Festlegen".

    Die Verbindugn dazu erfolgt hier:

    CString CExcelDatenSet::GetDefaultSQL() 
    { 
     return _T("[ExcelTestDatenbank]"); 
    }
    

    siehe nach bei folgenden Funktionen:
    CRecordset::GetDefaultSQL()
    CRecordset::GetSQL()

    Anstelle des Tabellennamens kann man auch eine SELECT-Anweisung verwenden.



  • Hier z.B. eine Code-Sequenz aus einem Programm, das auf zwei Tabellen zugreift:

    CString CDAO_2TabellenSet::GetDefaultDBName()
    {
    return _T("C:\\C-Programme\\TestDatenbank\\Booksale.mdb");
    }

    CString CDAO_2TabellenSet::GetDefaultSQL()
    {
    return _T("SELECT * FROM [Authors],[Title Author] ORDER BY [Authors].[Au_ID] ");
    }


Anmelden zum Antworten