Foxtable(狐表)用户栏目专家坐堂 → 关于录入窗口设计的问题


  共有1908人关注过本帖树形打印复制链接

主题:关于录入窗口设计的问题

帅哥哟,离线,有人找我吗?
冰点1976
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:42 积分:366 威望:0 精华:0 注册:2018/3/16 15:08:00
关于录入窗口设计的问题  发帖心情 Post By: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
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:42 积分:366 威望:0 精华:0 注册:2018/3/16 15:08:00
  发帖心情 Post By:2018/4/1 13:52:00 [只看该作者]

编制了一个新增物资录入窗口,已实现总码组合框(ComboBox3),根据物品类别组合框(ComboBox7)内容自动生成当前符合条件的最大值。
 我需要让它生成最大值加1,如何修改代码?
如果我需要增加一个条件,即:总码组合框(ComboBox3),不仅仅只是根据物品类别组合框(ComboBox7)内容自动生成,还要根据库字组合框(ComboBox1)的内容进行调整后,最终显示,如何增加代码?请老师赐教。


 回到顶部
帅哥哟,离线,有人找我吗?
冰点1976
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:42 积分:366 威望:0 精华:0 注册:2018/3/16 15:08:00
  发帖心情 Post By:2018/4/1 14:06:00 [只看该作者]

补充说明:原代码是cmb2.ComboList = DataTables("数据总表").GetComboListString("总码" , "物品类别 = '" & str2 & "'") 没有amp

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:42 积分:366 威望:0 精华:0 注册:2018/3/16 15:08:00
  发帖心情 Post By: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
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:42 积分:366 威望:0 精华:0 注册:2018/3/16 15:08:00
  发帖心情 Post By:2018/4/1 20:47:00 [只看该作者]

甜老师,最大值+1的代码,我参考你给的提示思考着编的,还有问题,请赐教!

 回到顶部
帅哥哟,离线,有人找我吗?
冰点1976
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:42 积分:366 威望:0 精华:0 注册:2018/3/16 15:08:00
  发帖心情 Post By:2018/4/1 21:10:00 [只看该作者]

没有 &


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/1 22:07: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 max As String
Dim idx As Integer
max = DataTables("数据总表").compute(("max(总码)"), "物品类别 = '" & str2 & "' And  库字 = '" & str3  & "'")
msgbox(max)
If max > "" Then '如果存在最大编号
    idx = CInt(max.Substring(0,3)) + 1 '获得最大编号的后三位顺序号,并加1
Else
    idx = 1 '否则顺序号等于1
End If

cmb2.Text = Format(idx,"000")

 

如果还不行,请上传具体foxtable项目测试


 回到顶部
帅哥哟,离线,有人找我吗?
冰点1976
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:42 积分:366 威望:0 精华:0 注册:2018/3/16 15:08:00
  发帖心情 Post By: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
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:42 积分:366 威望:0 精华:0 注册:2018/3/16 15:08:00
  发帖心情 Post By:2018/4/1 23:11:00 [只看该作者]

Dim lb As String = DataTables("数据总表").GetComboListString("物资分类_总码编制代码")
应该错在这个语句上,我再看下帮助,用正确的语句代替。

 回到顶部
总数 18 1 2 下一页