Vb.net 如何从另一个datatable中查找值并在绑定datagridview的未绑定列中显示它

Vb.net 如何从另一个datatable中查找值并在绑定datagridview的未绑定列中显示它,vb.net,Vb.net,很抱歉,我试图寻找答案,但我很难将我找到的例子翻译成我自己的情景 我有一个MS Access数据库,它有一个“Employees”表,表中有以下列: “员工ID”、“姓名”、“中间”、“上次”、“雇用日期”、“解雇日期” 另一个表“Work”包含以下列: “日期”、“员工ID”、“活动”、“工作时间”、“部门”、“班次”、“使用的设备” datagridview绑定到“工作”表。 我使用查询编辑器在设计时生成的查询调用FillbyDate(),以便只加载特定日期的条目 我想创建一个未绑定的列,以

很抱歉,我试图寻找答案,但我很难将我找到的例子翻译成我自己的情景

我有一个MS Access数据库,它有一个“Employees”表,表中有以下列:

“员工ID”、“姓名”、“中间”、“上次”、“雇用日期”、“解雇日期”

另一个表“Work”包含以下列:

“日期”、“员工ID”、“活动”、“工作时间”、“部门”、“班次”、“使用的设备”

datagridview绑定到“工作”表。 我使用查询编辑器在设计时生成的查询调用FillbyDate(),以便只加载特定日期的条目

我想创建一个未绑定的列,以显示“Employees表”中使用员工Id查找的员工的姓名(姓名、中间名和姓氏)

我对用VB.Net编写代码完全陌生,这可能是我不理解或找不到正确示例的原因。如果您能给我一些示例代码和每个步骤的注释,我将不胜感激

仅供参考,我正在阅读几本编码书籍: 使用VB.Net、Visual Basic 2010、Masterig MS Visual Basic 2010进行实用数据库编程


提前感谢。

更好的方法是创建一个SQL查询,该查询将根据员工ID字段对表进行查询,并根据日期字段过滤数据。DataGridView将绑定到一个DataTable,该DataTable将基于该SQL查询进行填充

示例代码:

Dim FilterStr1 As String = "03/01/2013"
Dim DBPathStr1 As String = "C:\db1.mdb"

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    Dim SqlConnStr1 As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DBPathStr1 & ";"

    Dim SqlStr1 As String = <SQL>
                                SELECT
                                    W.[Date]
                                    ,W.[Employee ID]
                                    ,W.[Activity]
                                    ,W.[Hours worked]
                                    ,W.[Department]
                                    ,W.[Shift]
                                    ,W.[Equipment Used]
                                    ,E.[Name]
                                    ,E.[Middle]
                                    ,E.[Last]
                                FROM [Work] AS W
                                INNER JOIN [Employees] AS E
                                    ON W.[Employee ID] = E.[Employee ID]
                                WHERE W.[Date] = #<%= FilterStr1 %>#
                            </SQL>.Value

    Dim OleDBAdap1 As New OleDbDataAdapter(SqlStr1, SqlConnStr1)
    Dim SqlDTable1 As New DataTable

    OleDBAdap1.Fill(SqlDTable1)
    DataGridView1.DataSource = SqlDTable1

    OleDBAdap1.Dispose()
End Sub

这样我就不必使用表适配器或数据集等了?另外,如何将日期值设置为datetimepicker?不,不需要使用表适配器或数据集,只需填充并使用datatable即可。有关DateTimePicker的用法,请参见编辑。当用户仅在员工没有终止日期的情况下输入员工ID时,调整代码以在datagridview的未绑定列上显示员工姓名是否太难?
Private Sub DateTimePicker1_ValueChanged(sender As System.Object, e As System.EventArgs) Handles DateTimePicker1.ValueChanged
    FilterStr1 = DateTimePicker1.Value.ToString("dd/MM/yyyy")
End Sub