以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  自动赋值  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=149618)

--  作者:outcat
--  发布时间:2020/5/7 17:49:00
--  自动赋值
If Forms("新增粮款结算").opened Then
    If Forms("新增粮款结算").Controls("DropBox2").Enabled = True Then
        Dim nhxm As String = Forms("新增粮款结算").Controls("DropBox2").Text
        e.DataRow("农户姓名")= nhxm
    End If
    If Forms("新增粮款结算").Controls("DateTimePicker1").Enabled = True Then
        Dim rq As Date = Forms("新增粮款结算").Controls("DateTimePicker1").value
        e.DataRow("日期")= rq
    End If
    If Forms("新增粮款结算").Controls("DateTimePicker2").Enabled = True Then
        Dim slrq As Date = Forms("新增粮款结算").Controls("DateTimePicker2").value
        e.DataRow("售粮日期")= slrq
    End If
    If Forms("新增粮款结算").Controls("乡镇").Enabled = True Then
        \'Dim xz As String = Forms("新增粮款结算").Controls("乡镇").Text
        Dim xz As WinForm.TextBox = Forms("新增粮款结算").Controls("乡镇").value
        e.DataRow("乡镇")= xz
    End If
    If Forms("新增粮款结算").Controls("TextBox3").Enabled = True Then
        Dim xzc As String = Forms("新增粮款结算").Controls("TextBox3").Text
        e.DataRow("行政村")= xzc
    End If   
End If

老师,请帮我看一下,我这个代码是写在表  DataRowAdded 事件中,是从前一个窗体中赋值到后面有个窗体中,农户姓名、日期 这两个值可以赋值成功,可后面还有字段,比如这个 乡镇、行政村 却赋值不过去,老师 看一下,后面这两个哪块出问题了

--  作者:有点蓝
--  发布时间:2020/5/7 20:20:00
--  
    If Forms("新增粮款结算").Controls("乡镇").Enabled = True Then
        Dim xz As String = Forms("新增粮款结算").Controls("乡镇").Text
        e.DataRow("乡镇")= xz
    End If

--  作者:outcat
--  发布时间:2020/5/7 21:18:00
--  
老师,这个还是不行,前面我试过,日期是手动选择,农户姓名 我是通过下拉组合框取值到的,乡镇、行政村等信息,也是通过 “农户姓名”获得的其它列的值,请老师再教一下。

还有一个问题,下拉组合框里的内容如何打印呢,我是在一个窗体中为了区别 各块信息,结果里面的内容却无法打印出来,这个如何解决?

--  作者:有点蓝
--  发布时间:2020/5/7 22:07:00
--  
控件如果有值,肯定是可以的,除非控件本身就没有值。

如果要做窗口打印,组合框的下拉内容无法打印的,可以考虑放一个隐藏的文本框控件,设置为多行,把下拉内容放到文本框里

--  作者:outcat
--  发布时间:2020/5/17 1:16:00
--  
If e.Selected Then \'如果选择了值
    Dim tbl As Table = Tables("农户售粮明细信息_Table1")
    If tbl.Current IsNot Nothing Then
        e.Form.DropDownBox.Value = tbl.Current("农户姓名")
            If Forms("新增粮款结算").opened Then
            Tables("粮款结算总表").Current("农户姓名")  = tbl.Current("农户姓名")
            Tables("粮款结算总表").Current("联系电话")  = tbl.Current("联系电话")
            Tables("粮款结算总表").Current("乡镇")  = tbl.Current("乡镇")
            Tables("粮款结算总表").Current("行政村")  = tbl.Current("行政村")
            Tables("粮款结算总表").Current("自然村")  = tbl.Current("自然村")
            Tables("粮款结算总表").Current("售粮单号")  = tbl.Current("售粮单号")
            
老师,我的 “新增粮款结算”  窗体的 农户姓名、联系电话 等,是通过 上面这种方式取得的,且已经能看到,除农户姓名 的其它列已经有值,

If Forms("新增粮款结算").Controls("乡镇").Enabled = True Then
        Dim xz As String = Forms("新增粮款结算").Controls("乡镇").Text
        e.DataRow("乡镇")= xz
    End If    

请老师看一下,这个代码,在另一个窗体 关联表  DataRowAdded 修改,可以把 新增粮款结算取得个各个值,传到另一个窗体 对应的值中


--  作者:有点蓝
--  发布时间:2020/5/17 18:58:00
--  
只要窗口是打开的肯定是可以的