Private Sub Combo1_Click()
Call DataGrid1_bind
End Sub
Function Combo1_bind(ByVal AppType_ As String)
Combo1.Clear
Dim sql As String
sql = "select Appno from TestRecord where AppType='" & AppType_ & "'"
Dim rs As ADODB.Recordset
Set rs = QueryExt(sql)
Do While Not rs.EOF
Combo1.AddItem (rs("Appno"))
rs.MoveNext
Loop
Set rs = Nothing
End Function
显示Appno的数据我只想显示最后十个,但是手动输入Appno,又可以查询之前的数据,求大牛帮忙,
VB中用combo显示datagrid中的数据,如何设置让它只显示最后的十个数据
答案:3 悬赏:80 手机版
解决时间 2021-03-18 05:53
- 提问者网友:蓝琪梦莎
- 2021-03-17 08:12
最佳答案
- 五星知识达人网友:梦中风几里
- 2021-03-17 08:56
标题有点误导,还以为你是要点击DataGrid的某项,根据选择的项来刷新Combo的列表呢。看了你的代码,原来是根据Combo列表的选择来刷新DataGrid的数据!
只显示最后10个,你可以更改下循环方式:
Set rs = QueryExt(sql)
if rs.EOF then exit Function
rs.MoveLast
i=0
Do While (I<10 or not rs.BOF)
Combo1.AddItem (rs("Appno"))
rs.MovePrevious
i=i+1
Loop
根据手动输入来刷新DataGrid,你可以在Combo1_KeyPress()事件处理回车键(vbCrLf),当回车时调用DataGrid1_bind。没看到DataGrid1_bind 具体怎么获取数据的,如果是根据Combo1.List(i),则可以改为Combo1.Text
只显示最后10个,你可以更改下循环方式:
Set rs = QueryExt(sql)
if rs.EOF then exit Function
rs.MoveLast
i=0
Do While (I<10 or not rs.BOF)
Combo1.AddItem (rs("Appno"))
rs.MovePrevious
i=i+1
Loop
根据手动输入来刷新DataGrid,你可以在Combo1_KeyPress()事件处理回车键(vbCrLf),当回车时调用DataGrid1_bind。没看到DataGrid1_bind 具体怎么获取数据的,如果是根据Combo1.List(i),则可以改为Combo1.Text
全部回答
- 1楼网友:有你哪都是故乡
- 2021-03-17 10:41
sql = "select Appno from TestRecord where AppType='" & AppType_ & "'"
改成
sql = "select Top 10 Appno from TestRecord where AppType='" & AppType_ & "' order by appno desc"
- 2楼网友:躲不过心动
- 2021-03-17 10:23
你好!
试试这样:你先加入一个combobox,然后等用户点击datagrid的某字段时,就马上把这个combobox的left、top、hight、weight等属性设为你点击的那个单元格的left、top、hight、weight并马上用additem方法填充combobox,然后再根据用户选择的值来更新数据库,当用户点击其他地方时,根据需要,要么把它隐藏,要么把它转移到新的位置,然后更新新的内容。。。。
如果对你有帮助,望采纳。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯