以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]请教这段代码的问题出在哪里?谢谢! (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=47238) |
-- 作者:zhuzhi -- 发布时间:2014/3/6 17:35:00 -- [求助]请教这段代码的问题出在哪里?谢谢! Dim nms() As String = {"姓名","部门"} If e.NewValue Is Nothing Then For Each nm As String In nms e.DataRow(nm) = Nothing Next Else Dim dr As DataRow dr = DataTables("职工总库").Find("[工号] = \'" & e.NewValue & "\'") If dr IsNot Nothing For Each nm As String In nms e.DataRow(nm) = dr(nm) Next End If End If End If -----------下面为我加入的代码------------ If e.NewValue("来访事由") = 1 Then e.DataRow("来访事由") = "工资" ElseIf e.NewValue("来访事由") = 2 Then e.DataRow("来访事由") = "职称" End If 在 来访登记 这个表的datecolchanged中加入的代码 我是在一个可以使用的代码后面,直接加入了另一个功能的代码 前半部可以使用的代码,是实现在来访登记的工号列输入值,就可以自动在职工总库找到相应的值填入姓名和部门 我加入的后半部代码是想实现,当我在来访登记表(该表叫做学生来访……没有改名字)的来访事由里输入1,则来访事由的值就变成工资,输入2,就变成职称。 但是这样使用则出现了问题 问题1,我在来访登记表增加新行报错,如下: 则再次报错: 请问,问题出在哪里呢?在一个表事件里,加入不同功能的代码,需要特别做什么吗(我不懂编程)。 我自己加的第二段代码,该怎么改呢? 非常感谢! [此贴子已经被作者于2014-3-6 17:37:37编辑过]
|
-- 作者:Bin -- 发布时间:2014/3/6 17:38:00 -- 代码不正确,哪有e.NewValue("来访事由") 这样的,只有e.DataRow |
-- 作者:dancedy -- 发布时间:2014/3/6 17:43:00 -- 示例三 http://www.foxtable.com/help/topics/0624.htm |
-- 作者:狐狸爸爸 -- 发布时间:2014/3/6 17:46:00 -- if e.NewValue = 1 Then e.DataRow("来访事由") = "工资"
ElseIf e.NewValue = 2 Then
e.DataRow("来访事由") = "职称"
End If
|
-- 作者:zhuzhi -- 发布时间:2014/3/6 18:31:00 -- 谢谢大家!按照你们的回复,思考了一下,感觉懂了不少 按照狐爸爸的意见修改了,可以使用,谢谢! 但是还是报了错 一个是在添加新行时,报错:
|