Announcement

Collapse
No announcement yet.

Fehler im Select Befehl

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Fehler im Select Befehl

    Hi,
    ich habe folgenden Code um die Tabelle Member meiner Datenbank in ein Excel Tabellenblatt zu speichern.
    Code:
    	
            Dim cn As ADODB.Connection 'Die Verbindung
            Dim strSQL As String = "" 'Der SQL Befehl
            cn = New ADODB.Connection
            cn.Open("Provider=SQLOLEDB;Data Source=localhost\Test;" & _
            "Initial Catalog=deTest;User ID=sa;Password=")
    
            strSQL = "SELECT * INTO [Tabelle1] IN 'D:\WF\test.xls'[Excel 8.0;] FROM Member;"
            cn.Execute(strSQL)
    Das Problem ist, dass ich wenn ich diesen Code ausführe diese Fehlermeldung bekomme("Incorrect syntax near the keyword 'IN'.".
    Jemand ne Idee?
    Oder ne andere Möglichkeit mein vorhaben zu realisieren?
    Danke!

  • #2
    Hallo Gosh,

    ich denke das kann so nicht funktionieren. Zwar ist mit dem "IN" Statement tatsächlich eine "andere Datenbank" gemeint, jedoch innerhalb der selben Datenbank.

    Das ist jetzt ein bissl blöd ausgedrückt, anders formuliert: Wenn Du eine Oracle-DB hast, dann kann man darin auch mehrere "Datenbanken" definieren. Dann kannst Du mit Hilfe von "SELECT INTO xyz IN db2" innerhalb von Oracle aus der einen Datenbank in die andere kopieren.

    In Deinem Falle (wenn ich das richtig verstanden habe), möchtest Du aus der Datenbank die Daten in ein Excel-Sheet kopieren. Dann müsstest Du zunächst die Daten in ein DataSet zwischenspeichern, dann eine 2. Verbindung zum Excel-Sheet aufmachen um dann die Daten darin speichern zu können.

    Gruß
    _ntr_

    Comment


    • #3
      Danke für die antwort!
      Ich werde mal danach googlen.
      Oder kennst du zufällig ne Seite wo dies erläutert wird?

      Comment


      • #4
        Ok habs geschafft...
        Danke!

        Comment


        • #5
          Hallo Gosh,

          könntest Du eventuell erläutern wie Deine Lösung nun aussieht, oder ob Du meinen Vorschlag umgesetzt hast.

          Vielleicht haben andere ein ähnliches Problem, dann wäre denjenigen auch geholfen.

          Viele Grüße
          _ntr_

          Comment


          • #6
            Mich würde das auch interessieren. Ich hab ein ähnliches Problem wo ich aber schon Daten in einem Dataset gespeichert habe und diese in einer Excel-Tabelle speichern will.

            Ich muss bis jetzt immer umständlich über alle DataTable und dann über alle Rows und Columns laufen und die Daten einzutragen.

            Mich würde interessieren, ob es eine Möglichkeit gibt die Daten mit einem Select-Befehl einzutragen. Oder vielleicht dass man eine OleDBConnection zur Exceltabelle öffnet und dann eine Update-Befehl ausführt. :-)

            Ich glaub viele interessiert sowas. ^^

            Comment


            • #7
              Hier der Code:
              Code:
                      strSQL = "INSERT INTO OPENDATASOURCE('Microsoft.JET.OLEDB.4.0', 'Extended Properties=Excel 8.0;Data source=D:\WF\test.xls')...['Tabelle I$'] SELECT a_pkMemberID,c_MemberFirstName,c_nMemberLastName,c_MemberDepartment,c_nMemberPhoneNumber FROM Test.dbo.Member where c_MemberDepartment = ('Nur diese')"
                      cn.Execute(strSQL)
              Ich hole mir die Daten aus der Tabelle Member(nur die, die im c_MemberDepartment'Nur diese' stehen habe). Diese füge ich dann in die Excel Datei test.xls in das Tabellenblatt Tabelle I.

              Comment

              Working...
              X