以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]下拉列表框窗口  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=105241)

--  作者:xh2207
--  发布时间: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
--  发布时间:2017/8/15 10:53:00
--  
老办法是在不同的组合框建立不同的下拉组合框窗体,内容是一样的。有简单的法子吗?
--  作者:有点甜
--  发布时间:2017/8/15 10:58:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


--  作者:xh2207
--  发布时间:2017/8/15 11:07:00
--  
版主,请贴出代码,小狗到期了。非常感谢!
--  作者:xh2207
--  发布时间:2017/8/15 11:09:00
--  
有点甜,请贴出代码,小狗到期了。非常感谢!

--  作者:有点甜
--  发布时间: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
--  发布时间:2017/8/15 21:52:00
--  

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

 

 

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


--  作者:有点蓝
--  发布时间:2017/8/15 22:20:00
--  
你是想清空还是不想清空?
--  作者:有点蓝
--  发布时间: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
--  发布时间:2017/8/16 10:48:00
--  


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

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

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

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