一个简单的关于数据库和VB的问题

smilejiangjun 2002-03-28 08:35:13
用ado连接sql数据库,要在combox(或datacombo)在查看时显示相应用户名,在下拉菜单中显示客户名数据
客户名 服务情况
A 111
B 222
A 333
A 444
B 555
但是显示的是ABAAB,我只想显示AB,让用户在输入时选择,在添加新的纪录时可以添加新的客户名,也可以在下拉菜单中选择。
我是个新手,请大家多帮忙!

...全文
9 点赞 收藏 12
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
zhangjinjun 2002-03-28
赶快找书看,distinct
回复
810303 2002-03-28
dim i as integer
dim iflike as boolean
iflike=false
adodc1.recordset.movefirst
while not adodc1.recordset.eof
for i=0 to combox.listcount-1
if adodc1.recordset!客户名=combox.list(i) then iflike=true
next
if iflike=false then combox.additem adodc1.recordset!客户名
iflike=false
wend
回复
jamex 2002-03-28
Select Distinct(客户名) From Table

回复
xhfjy 2002-03-28
太历害了,给分吧
回复
i_jianyong 2002-03-28
Use "SELECT DISTINCT [FieldName] FROM [Table]" to return only distinctive records.
回复
tony_jian 2002-03-28
同意lily0000000(黑百合)
回复
lihonggen0 2002-03-28
Select Distinct(dd) From Table


Select dd From Table group by dd


回复
fbwt 2002-03-28
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=表名;Persist Security Info=False"
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "select distinct(客户名) from 表名"

这样就行了!
回复
Fanks 2002-03-28
比如:Select Distinct(客户名) From 表
回复
Fanks 2002-03-28
打开记录集时要使用"Select Distinct..."
回复
lily0000000 2002-03-28
我贴上来的代码是控制向combox中添加不重复记录的,如果要添加的记录在列表中已经存在则不添加,应该对你有所帮助

Public Sub AddToCombX(CombX As ComboBox, sAdd As String)
Dim iRet As Integer
iRet = SendMessageFind(CombX.hwnd, CB_FINDSTRING, 0, sAdd)
If iRet = CB_ERR And Trim(sAdd) <> "" Then
CombX.AddItem sAdd, 0
End If
End Sub

至于从数据库中读取并显示不重复记录,你可以通过判断来完成,如果在列表中有这个名称记录了就不添加即可。

可以输入也可以选择的combox,可以将其style属性设置为0(其实这是默认值)
回复
ArQ 2002-03-28
说清楚点,源代码?
回复
发动态
发帖子

1180

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
社区公告
暂无公告