2017-03-24 7 views
-2

コードを実行する前にC:\Temp\EmployeeDatabase.xlsxファイルが閉じていると、次のコードが機能します。Excel.EXEファイルが開いているときにMicrosoft.ACE.OLEDBエラーが発生する

Imports System.Data.OleDb 
Imports System.Data 

Public Class Form1 

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    Dim MyOleDbConnection As OleDbConnection 
    MyOleDbConnection = New OleDbConnection 

    Dim MyOleDbCommand As OleDbCommand 
    MyOleDbCommand = New OleDbCommand 

    Dim FilePath As String = Nothing 
    FilePath = "C:\Temp\" 

    Dim FileName As String = Nothing 
    FileName = "EmployeeDatabase.xlsx" 

    Dim MyConnection As String = Nothing 
    MyConnection = "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & FilePath & FileName & ";" & "Extended Properties=""Excel 12.0 Xml;HDR=YES;""" 

    MyOleDbConnection.ConnectionString = MyConnection 
    MyOleDbConnection.Open() 

    MyOleDbCommand.Connection = MyOleDbConnection 

    MyOleDbCommand.CommandText = "CREATE TABLE Sheet1 (Sno Int, " & 
               "Employee_Name VARCHAR, " & 
               "Company VARCHAR, " & 
               "Date_Of_joining DATE, " & 
               "Stipend DECIMAL, " & 
               "Stocks_Held DECIMAL)" 
    MyOleDbCommand.ExecuteNonQuery() 

    MyOleDbCommand.CommandText = "INSERT INTO Sheet1 (Sno, Employee_Name, Company,Date_Of_joining,Stipend,Stocks_Held) values " & "('1', 'Siddharth Rout', 'Defining Horizons', '20/7/2014','2000.75','0.01')" 
    MyOleDbCommand.ExecuteNonQuery() 

    MyOleDbConnection.Close() 

End Sub 

End Class 

絵に続きC:\Temp\EmployeeDatabase.xlsxファイルは、コードを実行する前に、開いているときにエラーが表示されます。 Excelファイルが開いているとき

http://4.1m.yt/ud68oDK.png

だから、どのようにMicrosoft.ACE.OLEDBエラーを解決するには?

答えて

0

既に開いているExcelファイルでは、あまり機能しません。すでに開いているファイルをインポートすることはできません。また、編集するために開くこともできません。

+0

私はそれに同意します。 "あなたの問題には解決策がありません"という答えは、完璧な答えです。話し合いが残っているのは、それが正しいかどうかだけです。一方、私は、あなたを助けようとする人を扱う方法を覚えようとすることを私は保証します - 自由のために、それも忘れないでください。 –

+1

ありがとうございました。私はスコアを得るためにここにはいませんが、メンバーがお互いを助けるコミュニティの一員であることを楽しむためです。もしこれを理解できない人がいれば、私には分かります。その一方で、私はあなたの質問に答えてくれたと信じています。あなたの問題**は解決できません**。あなたはまだ別の意見を見つけましたか?そうでなければ、私の答えはコミュニティにとって有益です。もしあなたがそうした場合は、私自身を含めてコミュニティにも利益をもたらすように、リンクを投稿してください。私たちはあなたの問題の解決に役立つだけでなく、優れた検索可能なQ-Aリポジトリを作成することも主な目的です。 –

関連する問題