私はテーブルから2つのフィールドを選択し、第1テーブルと同じIDを持つ第2テーブルのフィールドのすべてのレコードよりも、内部結合選択ステートメントを実行しようとしました。内部結合を実行する
コードは以下のようになります。
Dim conn As OleDbConnection
Dim cmd As OleDbCommand
Public Sub openDB()
rsConn = New ADODB.Connection
rsConn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\VFMS_DB.mdb;" & "Jet OLEDB:System Database=Security.mdw", "ADMIN", "1234")
End Sub
Public Function GetProdDetails(ByVal vegeID As Integer, ByRef dsTask As DataSet) As Integer
Dim retCode As New Integer
Dim da As OleDbDataAdapter
Try
Dim i As Integer = 0
openDB2()
da = New OleDbDataAdapter("SELECT [Vegetables Descriptions.Task], [Vegetables Descriptions.Description], [TasksOcc.When] FROM [Vegetables Descriptions] INNER JOIN [TasksOcc] ON [Vegetables Descriptions.DescID] = [TasksOcc.DescID] WHERE [Vegetables Descriptions.VegeID] = vegeID", conn)
da.Fill(dsTask)
retCode = 0
conn.Close()
Return retCode
Catch ex As Exception
MessageBox.Show(ex.ToString, ex.Message, MessageBoxButtons.OK)
retCode = 1
Return retCode
End Try
End Function
私は例外を取得:私は従うとして、それが見えるようにそれを取る場合は、[野菜Descriptions.DescID]
名の」無効なブラケットを
da = New OleDbDataAdapter("SELECT [Vegetables Descriptions.Task], [Vegetables Descriptions.Description], [TasksOcc.When] FROM [Vegetables Descriptions] INNER JOIN [TasksOcc] ON [DescID] = [DescID] WHERE [Vegetables Descriptions.VegeID] = vegeID", conn)
「を表現しようサポートされていません」を取得私はネットからの例が、どこの失敗をfolowing試してみました。
+1空白を含む表名の場合は避けてください。 –
これはかなり涼しいです、ありがとう – Domitius
d.VegeID = vegeIDは[Vegetables Descriptions]テーブルのそのidと等しいレコードを選択するだけですが、何らかの理由ですべての情報を取得します。 – Domitius