Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
各位老师:
好久不见,可不可以从两个SQL数据库表中获取两个表中字段组合成一个列表?目前我只会一个。在同一个表中可以,但SQL表就不行了。
同一个表我用的是
If e.IsFocusCell Then
If e.Col.Name = "姓名" Then
e.Col.Combolist = DataTables("海外人员").GetComboListString("姓名") & "|" & DataTables("国内人员").GetComboListString("姓名")
End If
End If
If e.IsFocusCell Then
If e.Col.Name = "姓名" Then
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = "SELECT DISTINCT 姓名 From {海外人员}"
dt = cmd.ExecuteReader
Tables("订单表").Cols("业务员").Combolist = dt.GetComboListString("姓名")
End If
End If
If e.IsFocusCell Then
If e.Col.Name = "姓名" Then
Dim cmd As New SQLCommand
Dim cmd1 As New SQLCommand
Dim dt As DataTable
Dim dt1 As DataTable
cmd.C
cmd1.C
cmd.CommandText = "SELECT DISTINCT 姓名 From {海外人员}"
cmd1.CommandText = "SELECT DISTINCT 姓名 From {国内人员}"
dt = cmd.ExecuteReader
dt1 = cmd1.ExecuteReader
Tables("订单表").Cols("业务员").Combolist = dt.GetComboListString("姓名")& "|" & Dt1.GetComboListString("姓名")
End If
End If
笨办法
If e.IsFocusCell Then
If e.Col.Name = "姓名" Then
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = "Select 业务员 FROM {国外业务} UNION SELECT 业务员 FROM {国内业务} "
dt = cmd.ExecuteReader
e.Col.Combolist = dt.GetComboListString("业务员")
End If
End If
感谢狐爸,使用以上代码,从两个表获取到了列表。另还有个问题需请教
我想控制从列表选择出列表指定值后,会控制从两表对应人员带出身份证号,我用的是
DataColchanged事件
If e.DataCol.Name = "姓名" Then
Dim cmd As New SQLCommand
Dim dt As DataTable
Dim dr As DataRow = e.DataRow
cmd.C
cmd.CommandText = "SELECT * From {国内业务} Where [业务员] = '" & dr("基础信息_姓名") & "'"
dt = cmd.ExecuteReader
If dt.DataRows.Count > 0 Then
dr("基础信息_姓名") = dt.DataRows(0)("业务员")
dr("基础信息_身份证号") = dt.DataRows(0)("身份证号")
Else
dr("基础信息_姓名") = Nothing
dr("基础信息_身份证号") = Nothing
End If
End If
这是一个表可以控制非列表列出值不可填写,那么,如何控制从两个表也有这个效果呢?请指教。
哈哈 研究出来了!
If e.DataCol.Name = "姓名" Then
Dim cmd As New SQLCommand
Dim dt As DataTable
Dim dr As DataRow = e.DataRow
cmd.C
cmd.CommandText = "SELECT 身份证号 From {国内业务} Where [业务员] = '" & dr("基础信息_姓名") & "' UNION SELECT 身份证号 From {国外业务} Where [业务员] = '" & dr("基础信息_姓名") & "'"
dt = cmd.ExecuteReader
If dt.DataRows.Count > 0 Then
dr("基础信息_姓名") = dt.DataRows(0)("业务员")
dr("基础信息_身份证号") = dt.DataRows(0)("身份证号")
Else
dr("基础信息_姓名") = Nothing
dr("基础信息_身份证号") = Nothing
End If
End If