Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
Dim dst As WinForm.DataList = e.Form.Controls("DataList1")
if dst.count>0 then
Dim dr as DataRow = dst.Current '获得选定行
Maintable = Tables("业务录入")
Dim r As Row = Tables("业务录入").Rows.AddNew() '增加一行
r("日期") = date.today
r("ID")=Tables("业务录入").Compute("max(ID)","[日期] = #" & r("日期") & "#")+1
r("工作号")="TTSE" & FORMAT(r("日期"),"yyMMdd") & format(r("id"),"00")
r("客户") = dr("客户简称")
e.form.close()
Dim frm As WinForm.Form
frm = Forms("单证")
frm.Open()
frm.Controls("TabControl1").SelectedIndex = 1
frm.Controls("TabControl2").SelectedIndex = 0
end if
如上代码能正常操作,也能新增单号。再请看如下代码:
Dim dst As WinForm.DataList = e.Form.Controls("DataList1")
if dst.count>0 then
Dim dr as DataRow = dst.Current '获得选定行
If Tables("业务录入").Focus Then '将输入焦点移到业务录入表
Tables("业务录入").StartEditing '如果成功,则开始编辑.
Dim r As Row = Tables("业务录入").Rows.AddNew() '增加一行
r("日期") = date.today
r("ID")=Tables("业务录入").Compute("max(ID)","[日期] = #" & r("日期") & "#")+1
r("工作号")="TTSE" & FORMAT(r("日期"),"yyMMdd") & format(r("id"),"00")
r("客户") = dr("客户简称")
e.form.close()
Dim frm As WinForm.Form
frm = Forms("单证")
frm.Open()
frm.Controls("TabControl1").SelectedIndex = 1
frm.Controls("TabControl2").SelectedIndex = 0
end if
END IF
疑问:
1、第二个代码却不能运行,我焦点已在“业务录入”表中了呀。
2、我如用第一个代码,是在TABLE中编辑的,因编号是唯一的,如在局域网中多人操作,在table中的操作是不能及时保存到DATATABLE中的,DataTables("业务录入").Load()不知加在哪一段代码后。----一生成编号,则将编号写入DATATABLE中。
3、第一个代码虽能运行,但我不知是否严谨。望老师能更正。
下载信息 [文件大小: 下载次数: ] | |
点击浏览该文件:cargo.table |
1、下面的代码有问题,此时焦点在窗口Forms("客户与供应商"),并不是Tables("业务收入")
If Tables("业务录入").Focus Then '将输入焦点移到业务录入表
Tables("业务录入").StartEditing '如果成功,则开始编辑.
2、在Table中增加行,和在DataTable中增加行是一回事,不会有不同的,Table的AddNew实际上就是调用DataTable的AddNew,只是Table的AddNew加上了自动定位到新增行的功能。
3、不管怎么操作,你始终无法保证编码的唯一性,只有_identify,才真正唯一。