执行内部联接

Dom*_*ius 1 vb.net ms-access

我试图做一个内连接选择语句,我从表中选择两个字段,而不是第二个表中与第一个表具有相同id的字段的所有记录.

代码如下:

    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
Run Code Online (Sandbox Code Playgroud)

我得到一个例外:"无效的名称包围[Vegetables 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)
Run Code Online (Sandbox Code Playgroud)

我尝试从网上下载示例,但不成功.

Dav*_*itt 5

[Vegetables Descriptions].[DescID]而不是[Vegetables Descriptions.DescID].由于"蔬菜描述"包含空格,因此它必须是其中唯一的名称[].