Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共13 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:想在Cols("车牌号").Combolist 里显示车牌号和客户

1楼
dd-zdh 发表于:2011/5/30 15:39:00
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = "SELECT 车牌号,客户 From {客户表} "
dt = cmd.ExecuteReader
Tables("销售清单").Cols("车牌号").Combolist = dt.GetComboListString("车牌号")
2楼
狐狸爸爸 发表于:2011/5/30 15:47:00
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.Connection Name = "数据源名称"
cmd.CommandText = "SELECT Distinct 车牌号 From {客户表} "
dt = cmd.ExecuteReader
Tables("销售清单").Cols("车牌号").Combolist = dt.GetComboListString("车牌号")
3楼
dd-zdh 发表于:2011/5/30 16:02:00

想把车牌号和客户同时都显示出来

4楼
狐狸爸爸 发表于:2011/5/30 16:22:00

Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.Connection Name = "数据源名称"
cmd.CommandText = "SELECT distinct 车牌号,客户 From {客户表} "
dt = cmd.ExecuteReader
Dim v as string

For Each dr As DataRow in dt.DataRows

     v = v & dr("车牌号") & " " & dr("客户") & “|”

Next

Tables("销售清单").Cols("车牌号").Combolist = v

5楼
liuruihua 发表于:2011/5/30 19:36:00
用户已锁定!
6楼
dd-zdh 发表于:2011/5/30 20:53:00
为什么用这种方法,加载3000条的数据,在列表里显示的时间最少有5秒才能把这3000条显示出来
7楼
狐狸爸爸 发表于:2011/5/31 8:23:00

用5秒是肯定的,从后台取3000行数据,还好组合成列表框。
 
用下面的代码可能会快一点:
 
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.Connection Name = "数据源名称"
cmd.CommandText = "SELECT distinct 车牌号,客户 From {客户表} "
dt = cmd.ExecuteReader
Dim v As New StringBuilder
For Each dr As DataRow in dt.DataRows
    v.Append(dr("车牌号"))
    v.Append(" ")
    v.Append(dr("客户"))
    v.Append("|")
Next
Tables("销售清单").Cols("车牌号").Combolist = v.Tostring
 

原理参考:

http://help.foxtable.com/topics/2097.htm


 
不过3000个列表项目,似乎没有实际的意义,会不会太多了?

 

 

8楼
dd-zdh 发表于:2011/5/31 12:40:00

因为我有个标准工位(3000多条),就想用这种功能进行查找

9楼
狐狸爸爸 发表于:2011/5/31 13:45:00
改用7楼方法,现在是几秒钟?
10楼
ddlzq 发表于:2011/5/31 15:20:00
以下是引用狐狸爸爸在2011-5-30 16:22:00的发言:

Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.Connection Name = "数据源名称"
cmd.CommandText = "SELECT distinct 车牌号,客户 From {客户表} "
dt = cmd.ExecuteReader
Dim v as string

For Each dr As DataRow in dt.DataRows

     v = v & dr("车牌号") & " " & dr("客户") & “|”

Next

Tables("销售清单").Cols("车牌号").Combolist = v

如果想在cols("车牌号).combolist 下拉选择时,同时显示车牌号和对应的客户,而填入到车牌号单元格中的值则只取车牌号,如何设置代码?


--------------------------------

ValidateEdit事件输入值来校验应该可以

通过数据分隔符号来判断输入的值 ,比如车牌号列表值为: 京P12345-刘德华 可以使用ValidateEdit来通过 "-"分隔符来去掉-号与后面的值,具体代码如何写,还得各位老师帮出主意了.呵呵



另外我试,1500行数据,几乎不到一秒,很快的

[此贴子已经被作者于2011-5-31 15:20:15编辑过]
共13 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03906 s, 2 queries.