以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]DropDownBox的按钮,没有教程  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=139946)

--  作者:myjht
--  发布时间:2019/8/26 12:42:00
--  [求助]DropDownBox的按钮,没有教程
请问老师们窗口的下拉列表框DropDownBox取到了文本,按钮应该如何写?帮忙看下我的按钮错在哪里,谢谢。

With e.Form
    If e.sender.Text <> "请输入关键字" Then
        Dim txb1 As WinForm.DropDownBox = e.Form.Controls("快速查询")
        If txb1.Text = "" Then 
            MessageBox.Show("别闹?啥也没输入,找啥啊!!!", "请输入内容!", MessageBoxButtons.OK, MessageBoxIcon.Question)
        Else
            DataTables("库存查询_商场库存").loadfilter="STOCKC.CMTEID = \'%" & txb1.Text & "%\'"
            DataTables("库存查询_商场库存").Load \'(False)
        End If
    End If
End With

--  作者:有点蓝
--  发布时间:2019/8/26 13:40:00
--  
DataTables("库存查询_商场库存").loadfilter="STOCKC.CMTEID like \'%" & txb1.Text & "%\'"
--  作者:myjht
--  发布时间:2019/8/26 14:00:00
--  
蓝爸爸,like 后就下图这样了,是我电脑内存不够?数据量也不大啊。。。

图片点击可在新窗口打开查看此主题相关图片如下:3333.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:4444.png
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2019/8/26 14:24:00
--  
加载了太多的数据,增加查询条件,或者分页显示结果
--  作者:有点蓝
--  发布时间:2019/8/26 14:24:00
--  
如果不是模糊查询,改为

DataTables("库存查询_商场库存").loadfilter="STOCKC.CMTEID = \'" & txb1.Text & "\'"

--  作者:myjht
--  发布时间:2019/8/26 17:48:00
--  
同窗口,同下拉菜单DropDownBox和按钮Button,table1:商场库存,table2:采购在途
table1的SQLQuery语句:

图片点击可在新窗口打开查看此主题相关图片如下:a1.png
图片点击可在新窗口打开查看

table2的SQLQuery语句:

图片点击可在新窗口打开查看此主题相关图片如下:a2.png
图片点击可在新窗口打开查看
 
按钮代码:
With e.Form
    If e.sender.Text <> "请输入关键字" Then
        Dim txb1 As WinForm.DropDownBox = e.Form.Controls("快速查询")
        If txb1.Text = "" Then \'如果下拉框没有输入内容,则无需查询
            MessageBox.Show("别闹?啥也没输入,找啥啊!!!", "请输入内容!", MessageBoxButtons.OK, MessageBoxIcon.Question)
        Else
            \'DataTables("库存查询_商场库存").loadfilter="STOCKC.CMTEID = \'" & txb1.Text & "\'"
            \'DataTables("库存查询_商场库存").Load \'(False)

            DataTables("库存查询_采购在途").loadfilter="v_vorder.CMTEID = \'" & txb1.Text & "\'"
            DataTables("库存查询_采购在途").Load \'(False)
        End If
    End If
End With

窗口预览table1和table2加载所有数据正常,(加载分别不到万条记录),
通过按钮查询table1就会崩溃,table2就没问题,说明问题出在SQL语句的联查上了,
请老师指点应该如何改。


--  作者:有点蓝
--  发布时间:2019/8/26 20:20:00
--  
1、给各种id列加上索引。
2、去掉with nolock
3、全部改为内联查询:inner join

建议把sql做成视图,直接引用