以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  多值字段下拉框数据输入问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=64889)

--  作者:youngling
--  发布时间:2015/3/4 12:44:00
--  多值字段下拉框数据输入问题


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

如上图,已收款序列号是个多值字段,已绑定下拉窗口,可以实现点击下拉窗口,自动输入下拉窗口的相应字段到下拉列表内,现在发现如果连续输入的话,在每次输入结束后要点击一下其他行,然后回到该下拉列表继续输入,输入的数据才是正确的。如果在该列表框内连续输入只能得到最后一个值,

 

代码如下,在绑定表的doubleclick:

 

Dim s1 ,s2 As String
Dim tbl As Table = Tables("收款筛选_收款日期")

s1 = Tables("发票信息").Current("已收款序列号")
s2 = tbl.Current("已收款序列号")

If s1 = "" Then
    e.Form.DropDownBox.Value =s2
Else
    e.Form.DropDownBox.Value = s1 & "," & s2
End If

\'tbl.Current("待分配金额") = tbl.Current("收款金额")

If Tables("发票信息").Current("未收款金额") <> 0 Then
 
If tbl.Current("已核销") = 0 Then
    If tbl.Current("待分配金额")  <> 0 Then \'全新的一次分配
        If tbl.Current("待分配金额")  = Tables("发票信息").Current("未收款金额")  Then   \'够分
           
            tbl.Current("待分配金额") =tbl.Current("收款金额") - Tables("发票信息").Current("未收款金额")
            Tables("发票信息").Current("已收款金额")  = Tables("发票信息").Current("已收款金额")  + Tables("发票信息").Current("未收款金额")
            \' Tables("发票信息").Current("未收款金额")  = 0
            Tables("发票信息").Current("全部收款") = 1
           
            tbl.Current("已核销") = True
           
           
        Else
           
            If tbl.Current("待分配金额") >  Tables("发票信息").Current("未收款金额")  Then   \'够分
               
               
                tbl.Current("待分配金额") =tbl.Current("收款金额") - Tables("发票信息").Current("未收款金额")
                Tables("发票信息").Current("已收款金额")  = Tables("发票信息").Current("已收款金额")  + Tables("发票信息").Current("未收款金额")
                \' Tables("发票信息").Current("未收款金额")  = 0
                Tables("发票信息").Current("全部收款") = 1
               
               
               
            Else \'不够分
                Tables("发票信息").Current("已收款金额")  = Tables("发票信息").Current("已收款金额")  + tbl.Current("待分配金额")
                \'Tables("发票信息").Current("未收款金额")  =
                Tables("发票信息").Current("全部收款") = 0
                tbl.Current("待分配金额") = 0
               
                tbl.Current("已核销") = True
            End If
        End If
    End If
End If
Else
msgbox("未收款金额为0,无需继续该操作")
e.Form.DropDownBox.Value =s2
End If


Forms("收款筛选").DropDownBox.CloseDropDown


--  作者:有点甜
--  发布时间:2015/3/4 14:05:00
--  

简单的方法,设置一下焦点

 

Dim t As Table = Tables("表a")
t.Select(t.Current.Index, t.ColSel + 1)
t.Select(t.Current.Index, t.ColSel - 1)


--  作者:有点甜
--  发布时间:2015/3/4 15:36:00
--  

s1 = Tables("发票信息").Current("已收款序列号")

 

改成

 

s1 = e.Form.DropDownBox.Text