以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于录入窗口设计的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=116845) |
-- 作者:冰点1976 -- 发布时间:2018/4/1 13:47:00 -- 关于录入窗口设计的问题 Dim cmb2 As WinForm.ComboBox = e.Form.Controls("ComboBox7") Dim str2 As String = e.Form.Controls("ComboBox3").text cmb2.ComboList = DataTables("数据总表").compute(("max(总码)") , "物品类别 = \'" & str2 & "\'") If cmb2.Items.Count = 1 Then cmb2.Text = cmb2.ComboList End If [此贴子已经被作者于2018/4/1 13:48:08编辑过]
|
-- 作者:冰点1976 -- 发布时间:2018/4/1 13:52:00 -- 编制了一个新增物资录入窗口,已实现总码组合框(ComboBox3),根据物品类别组合框(ComboBox7)内容自动生成当前符合条件的最大值。 我需要让它生成最大值加1,如何修改代码? 如果我需要增加一个条件,即:总码组合框(ComboBox3),不仅仅只是根据物品类别组合框(ComboBox7)内容自动生成,还要根据库字组合框(ComboBox1)的内容进行调整后,最终显示,如何增加代码?请老师赐教。 |
-- 作者:冰点1976 -- 发布时间:2018/4/1 14:06:00 -- 补充说明:原代码是cmb2.ComboList = DataTables("数据总表").GetComboListString("总码" , "物品类别 = \'" & str2 & "\'") 没有amp |
-- 作者:有点甜 -- 发布时间:2018/4/1 16:25:00 -- 1、参考代码
cmb2.ComboList = DataTables("数据总表").GetComboListString("总码" , "物品类别 = \'" & str2 & "\' and 某列 = \'" & str3 & "\'")
http://www.foxtable.com/webhelp/scr/1647.htm
2、编号,参考
http://www.foxtable.com/webhelp/scr/2403.htm
|
-- 作者:冰点1976 -- 发布时间:2018/4/1 20:45:00 -- Dim cmb2 As WinForm.ComboBox = e.Form.Controls("ComboBox7") Dim str2 As String = e.Form.Controls("ComboBox3").text Dim str3 As String = e.Form.Controls("ComboBox1").text Dim lb As String = DataTables("数据总表").GetComboListString("物资分类_总码编制代码") Dim max As String Dim idx As Integer max = DataTables("数据总表").compute(("max(总码)"), "物品类别 = \'" & str2 & "\' And 库字 = \'" & str3 & "\'") If max > "" Then \'如果存在最大编号 idx = CInt(max.Substring(2,3)) + 1 \'获得最大编号的后三位顺序号,并加1 Else idx = 1 \'否则顺序号等于1 End If If cmb2.Items.Count = 1 Then cmb2.Text = lb & Format(idx,"000") End If
[此贴子已经被作者于2018/4/1 20:44:51编辑过]
|
-- 作者:冰点1976 -- 发布时间:2018/4/1 20:47:00 -- 甜老师,最大值+1的代码,我参考你给的提示思考着编的,还有问题,请赐教! |
-- 作者:冰点1976 -- 发布时间:2018/4/1 21:10:00 -- 没有 & |
-- 作者:有点甜 -- 发布时间:2018/4/1 22:07:00 -- Dim cmb2 As WinForm.ComboBox = e.Form.Controls("ComboBox7") cmb2.Text = Format(idx,"000")
如果还不行,请上传具体foxtable项目测试 |
-- 作者:冰点1976 -- 发布时间:2018/4/1 23:00:00 -- 编码改成这样:idx = CInt(max.Substring(max.Length - 3)) + 1 \'获得最大编号的后三位顺序号,并加1 确实显示了最大值加1,但是只显示了总码的后三位数值,前面如:BHL-等编码缺失。 Dim cmb2 As WinForm.ComboBox = e.Form.Controls("ComboBox7") Dim str2 As String = e.Form.Controls("ComboBox3").text Dim str3 As String = e.Form.Controls("ComboBox1").text Dim lb As String = DataTables("数据总表").GetComboListString("物资分类_总码编制代码") Dim max As String Dim idx As Integer max = DataTables("数据总表").compute(("max(总码)"), "物品类别 = \'" & str2 & "\' And 库字 = \'" & str3 & "\'") msgbox(max) If max > "" Then \'如果存在最大编号 idx = CInt(max.Substring(max.Length - 3)) + 1 \'获得最大编号的后三位顺序号,并加1 Else idx = 1 \'否则顺序号等于1 End If cmb2.Text = lb & Format(idx,"000") 我又改成这样,还是不对啊?
|
-- 作者:冰点1976 -- 发布时间:2018/4/1 23:11:00 -- Dim lb As String = DataTables("数据总表").GetComboListString("物资分类_总码编制代码") 应该错在这个语句上,我再看下帮助,用正确的语句代替。
|