Foxtable(狐表)用户栏目专家坐堂 → [求助]下拉列表框窗口


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

主题:[求助]下拉列表框窗口

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


加好友 发短信
等级:幼狐 帖子:190 积分:1593 威望:0 精华:0 注册:2013/1/6 19:46:00
[求助]下拉列表框窗口  发帖心情 Post By:2017/8/15 10:45:00 [只看该作者]


此主题相关图片如下:合同分配.png
按此在新窗口浏览图片
请教:合同窗口有三个下拉列表框(合同编号、供应商、合同名称),为少建立窗口,现三个下拉列表框均共用一个合同组合框窗口。

存在问题:1、当在合同编号打开合同组合框时,双击选择录入正常,当在供应商打开合同组合框时,双击选择录入将合同编号填入供应商框。

              2、当改变合同编号、供应商、合同名称三个组合框任何一个的内容,其他两个均为清空原有值。

请将修改的代码贴出,非常感谢!

 

DoubleClick代码如下:

 

Dim dr As Row = Tables("合同组合框_Table1").current
e.form.DropDownBox.Value = dr("合同编号")
Forms("合同分配").Controls("合同编号").Value = dr("合同编号")
Forms("合同分配").Controls("合同名称").Value = dr("合同名称")
Forms("合同分配").Controls("供应商").Value = dr("供应商")
Forms("合同组合框").DropDownBox.CloseDropdown()

TextChanged代码如下:

Dim drp As WinForm.DropDownBox = e.sender
Tables("合同组合框_Table1").Filter = ("合同状态 = '已签未开始送货'or 合同状态 = '补充合同' " )
If drp.DroppedDown Then '如果下拉窗口已经打开
    Dim tbl As Table = Tables("合同组合框_Table1")
    If drp.Text = " " Then '如果内容为空
        tbl.Filter = ("合同状态 = '已签未开始送货'or 合同状态 = '补充合同'" )  '显示所有合同号为空的品名
    Else '否则根据输入内容进行模糊筛选
        Dim txt As String = "'%" & drp.Text & "%'"
        tbl.Filter = " (合同编号 Like " & txt & " ) and ((合同状态 = '已签未开始送货') or (合同状态 = '补充合同')) "
        e.Form.Controls("供应商").text = " "  '合同编号的值有变化时清空供应商的值
        e.Form.Controls("合同名称").text = " "  '合同编号的值有变化时清空合同名称的值
    End If
    tbl.RepeatFilter("合同编号",1) '重复筛选,不显示重复的型号规格
    tbl.Sort = "合同编号,供应商 "
End If

 

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:管理项目1_201708151044.zip


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


加好友 发短信
等级:幼狐 帖子:190 积分:1593 威望:0 精华:0 注册:2013/1/6 19:46:00
  发帖心情 Post By:2017/8/15 10:53:00 [只看该作者]

老办法是在不同的组合框建立不同的下拉组合框窗体,内容是一样的。有简单的法子吗?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/15 10:58:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


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


加好友 发短信
等级:幼狐 帖子:190 积分:1593 威望:0 精华:0 注册:2013/1/6 19:46:00
  发帖心情 Post By:2017/8/15 11:07:00 [只看该作者]

版主,请贴出代码,小狗到期了。非常感谢!

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


加好友 发短信
等级:幼狐 帖子:190 积分:1593 威望:0 精华:0 注册:2013/1/6 19:46:00
  发帖心情 Post By:2017/8/15 11:09:00 [只看该作者]

有点甜,请贴出代码,小狗到期了。非常感谢!

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/15 11:13:00 [只看该作者]

 

合同组合框_DropDownClosed

 

If vars("选择") Then '如果选择了值

    Dim tbl As Table = Tables("合同组合框_Table1")

    Dim dr As Row = tbl.current

    If e.Form.DropDownBox.Name = "合同编号" Then

        e.form.DropDownBox.Value = dr("合同编号")

    ElseIf e.Form.DropDownBox.Name = "合同名称" Then

        e.form.DropDownBox.Value = dr("合同名称")

    ElseIf e.Form.DropDownBox.Name = "供应商" Then

        e.form.DropDownBox.Value = dr("供应商")

    End If

    Forms("合同分配").Controls("合同编号").Value = dr("合同编号")

    Forms("合同分配").Controls("合同名称").Value = dr("合同名称")

    Forms("合同分配").Controls("供应商").Value = dr("供应商")

End If

 

合同组合框_DropDownOpened

 

vars("选择") = False

Tables("合同组合框_Table1").Filter = ("合同状态 = '已签未开始送货'or 合同状态 = '补充合同' " )

Dim txt As String = e.Form.DropDownBox.Text

Dim tbl As Table = Tables("合同组合框_Table1")

If txt = "" Then

    tbl.Filter = ("合同状态 = '已签未开始送货'or 合同状态 = '补充合同' " )

Else

    txt = "'%" & txt & "%'"

    tbl.Filter = "合同编号 Like " & txt & " "

End If

'tbl.RepeatFilter("合同编号",1)

tbl.Sort = "合同编号,供应商 "

e.Form.DropDownBox.Select() '将输入焦点返回下拉列表

 

keydown事件

 

If e.KeyCode = Keys.Enter Then
    vars("选择") = True
    Forms("合同组合框").DropDownBox.CloseDropdown()
End If

 

DoubleClick事件


vars("选择") = True
e.Form.DropDownBox.CloseDropdown()

[此贴子已经被作者于2017/8/15 11:14:01编辑过]

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


加好友 发短信
等级:幼狐 帖子:190 积分:1593 威望:0 精华:0 注册:2013/1/6 19:46:00
  发帖心情 Post By:2017/8/15 21:52:00 [只看该作者]

有点甜,问题2怎解决?请指教,非常感谢!请将代码贴出。

 

 

存在问题:2、当改变合同编号、供应商、合同名称三个组合框任何一个的内容,其他两个均为清空原有值


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


加好友 发短信
等级:超级版主 帖子:107440 积分:546479 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/8/15 22:20:00 [只看该作者]

你是想清空还是不想清空?

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


加好友 发短信
等级:超级版主 帖子:107440 积分:546479 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/8/15 22:22:00 [只看该作者]

清空参考:


If vars("选择") Then '如果选择了值
    Forms("合同分配").Controls("合同编号").Value = Nothing
    Forms("合同分配").Controls("合同名称").Value = Nothing
    Forms("合同分配").Controls("供应商").Value = Nothing
    Dim tbl As Table = Tables("合同组合框_Table1")
    Dim dr As Row = tbl.current
    If e.Form.DropDownBox.Name = "合同编号" Then
        e.form.DropDownBox.Value = dr("合同编号")
    ElseIf e.Form.DropDownBox.Name = "合同名称" Then
        e.form.DropDownBox.Value = dr("合同名称")
    ElseIf e.Form.DropDownBox.Name = "供应商" Then
        e.form.DropDownBox.Value = dr("供应商")
    End If
End If

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


加好友 发短信
等级:幼狐 帖子:190 积分:1593 威望:0 精华:0 注册:2013/1/6 19:46:00
  发帖心情 Post By:2017/8/16 10:48:00 [只看该作者]


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

 希望上图一样,当清空供应商时,合同编号和合同名称均清空。

另请问:上段代码写在那里?

[此贴子已经被作者于2017/8/16 10:54:33编辑过]

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