永发信息网

VB集合中的关键字不唯一是什么原因呢

答案:2  悬赏:0  手机版
解决时间 2021-12-03 13:03
  • 提问者网友:绫月
  • 2021-12-02 22:04
VB集合中的关键字不唯一是什么原因呢
最佳答案
  • 五星知识达人网友:玩家
  • 2021-12-02 23:40
典型的编码有重复数据, Key 是不能重复的值,也是判断选中时使用的。
因此如果重复不能排除,请加一个for循环一个N逐条插入。Key.

我给你两个例子:
Dim ls_sql As String

Rs_OpenQ LS_Rs_ks, "SELECt 编码 as 科室编码,科别名称 FROM dict_kbb where 住院标志 = '是'" '科室信息

ls_sql = " select 序号 ,科别编码,科别名称,病房,是否加床,床位号,床位名称,床位编码,床位费,诊疗名称,诊疗编码,诊疗费,取暖名称,取暖编码,取暖费,降温名称,降温编码,降温费,描述 " _
& " From zyc_dict_cwb " _
& " where 是否有效 = '是'" _
& " order by 病房,床位号 "

Rs_OpenQ LS_Rs_cw, ls_sql '床位信息,为以后筛选准备

'加载科室信息到treeview
If LS_Rs_ks.EOF And LS_Rs_ks.BOF Then
Exit Sub
End If
TV_KS.Nodes.Clear
TV_KS.Nodes.Add , , "zy_ks", "住院科别", 1, 2
LS_Rs_ks.MoveFirst
Do While Not LS_Rs_ks.EOF
If Trim(LS_Rs_ks!科别名称) <> "" Then
TV_KS.Nodes.Add "zy_ks", tvwChild, "zy_" + Trim(LS_Rs_ks!科室编码), Trim(LS_Rs_ks!科别名称), 3, 4
End If
LS_Rs_ks.MoveNext
Loop
TV_KS.Nodes(1).Expanded = True
TV_KS.Tag = "zy_ks"
TV_KS.Nodes(1).Selected = True

实例2:
Public Sub Load_data()
'数据加载
Dim I As Long
Dim J As Integer
Dim iindex As Long
Dim rsWH As New ADODB.Recordset
'加载第一层菜单
Tv.Nodes.Clear
rsWH.CursorLocation = adUseClient
rsWH.Open "select distinct 科别 from dict_czyb order by 科别 ", dbMainConnect, adOpenStatic, adLockReadOnly
If rsWH.EOF And rsWH.BOF Then Exit Sub
Do Until rsWH.EOF
With Tv
.Nodes.Add , , Trim(rsWH![科别]) + "n", rsWH![科别], 1, 2
J = J + 1
rsWH.MoveNext
End With
Loop
'加载第二层菜单
For I = 1 To J
If rsWH.State = adStateOpen Then rsWH.Close
rsWH.CursorLocation = adUseClient
rsWH.Open "select distinct 编码,姓名 from dict_czyb where 科别 = '" + Left(Tv.Nodes(I).Key, Len(Tv.Nodes(I).Key) - 1) + "'", dbMainConnect, adOpenStatic, adLockReadOnly
Do While Not rsWH.EOF
If Trim(rsWH!姓名 & "") <> "" Then
Tv.Nodes.Add I, tvwChild, , Trim(rsWH!姓名), 3, 4
End If
rsWH.MoveNext
Loop
Next I

rsWH.Close
Set rsWH = Nothing
End Sub
全部回答
  • 1楼网友:青灯有味
  • 2021-12-03 00:49
这要看你的数据库了,关键字就是key,每个节点的key必须是唯一的,不能出现重复的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯