以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  窗口录入  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=12698)

--  作者:张海兵
--  发布时间:2011/9/11 17:19:00
--  窗口录入

我想在主表(业务大表)创建一个窗口。录入子表(支出明细)的内容。这个代码应该怎么改。

If e.form.controls("combobox2").value = "" Then

messagebox.show("请输入或选择支出项目")
Return

End If
If e.form.controls("Textbox1").value = "" Then

messagebox.show("请输入金额")
Return

End If

If e.form.controls("ComboBox3").value = "" Then

messagebox.show("请输入或选择收款人")
Return

End If
If e.form.controls("ComboBox4").value = "" Then

messagebox.show("请输入或选择支出账户")
Return
End If

Dim r As Row = CurrentTable.AddNew()
r("关单号") = e.Form.Controls("ComboBox1").Value
r("支出项目") = e.Form.Controls("ComboBox2").Value
r("金额") = e.Form.Controls("TextBox1").Value
r("收款人") = e.Form.Controls("ComboBox3").Value
r("支出账户") = e.Form.Controls("TextBox4").Value
r("报销日期") = e.Form.Controls("DateTimePicker1").Value
Forms("支出明细").Close()
Tables("支出明细").Current.Save()


图片点击可在新窗口打开查看此主题相关图片如下:截图12.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2011-9-11 17:19:53编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/9/11 17:21:00
--  

错误提示的意思是:业务大表没有支出项目这一列。


--  作者:张海兵
--  发布时间:2011/9/11 17:22:00
--  是没有

是没有。我是想要录入到支出明细表。

[此贴子已经被作者于2011-9-11 17:24:44编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/9/11 17:25:00
--  

CurrentTable表示当前表,可能是任何一个你选定的表。

 

所以下面这行:

 

Dim r As Row = CurrentTable.AddNew()

 

应该改为:

 

Dim r As Row = Tables(“支出明细”).AddNew()

 

CurrentTable不是万能的,不要什么时候都是CurrentTable,只有针对当前表的操作,才需要CurrentTable.