以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 填充代码 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=5685) |
||||
-- 作者:wqc360 -- 发布时间:2009/12/28 23:01:00 -- 填充代码 窗口年月输入2009年11月,点填充,达到表A房间号填到表A新增行房间号,窗口控件年月填充到表A新增行年月(条件是不重复房间号和窗口控件年月),2009年10月本月读数填充到2009年11月上月读数一次类推。
[此贴子已经被作者于2009-12-28 23:01:59编辑过]
|
||||
-- 作者:czy -- 发布时间:2009/12/28 23:42:00 -- Dim Fjs As List(Of String) = DataTables("表A").GetUniqueValues("", "房间号") For Each Fj As String In Fjs Dim dr1 As DataRow = DataTables("表A").Find("房间号 = \'" & Fj & "\'","_Identify Desc") Dim dr2 As DataRow = DataTables("表A").AddNew() dr2("年月") = e.Form.Controls("TextBox1").Value dr2("房间号") = Fj dr2("上月读数") = dr1("本月读数") Next |
||||
-- 作者:wqc360 -- 发布时间:2009/12/28 23:52:00 -- 不对,只能填充一行的年月列,并提示出错
|
||||
-- 作者:czy -- 发布时间:2009/12/28 23:57:00 -- 出错的原因留着你自己找,解决办法好好想想。 |
||||
-- 作者:czy -- 发布时间:2009/12/29 0:17:00 -- 没想出办法? 改这句: Dim Fjs As List(Of String) = DataTables("表A").GetUniqueValues("房间号 Is Not Null", "房间号") |
||||
-- 作者:wqc360 -- 发布时间:2009/12/29 1:34:00 --
|
||||
-- 作者:czy -- 发布时间:2009/12/29 10:20:00 -- 自己做个判断呀。 Dim Exergue As String = e.Form.Controls("TextBox1").Value Dim r As DataRow = DataTables("表A").Find("年月 = \'" & Exergue & "\'") If r IsNot Nothing Then MessageBox.Show("表中已存在 " & Exergue,"提示",MessageBoxButtons.Ok,MessageBoxIcon.Information) Return End If Dim Fjs As List(Of String) = DataTables("表A").GetUniqueValues("房间号 Is Not Null", "房间号") For Each Fj As String In Fjs Dim dr1 As DataRow = DataTables("表A").Find("房间号 = \'" & Fj & "\'","_Identify Desc") Dim dr2 As DataRow = DataTables("表A").AddNew() dr2("年月") = Exergue dr2("房间号") = Fj dr2("上月读数") = dr1("本月读数") Next |
||||
-- 作者:wqc360 -- 发布时间:2009/12/29 11:45:00 -- 谢谢了,搞定 |
||||
-- 作者:mr725 -- 发布时间:2009/12/29 12:18:00 -- 以下是引用wqc360在2009-12-29 11:45:00的发言:
谢谢了,搞定 如果输入 2009年09月 试一试? |
||||
-- 作者:wqc360 -- 发布时间:2009/12/29 12:44:00 -- 因为是以Identify作为取数的,只要是不同的年月,肯定填充最后的记录,这样可以了。还有就是指定窗口文本来源,不能输入,来源数据每个月都要填写,只要不重复就行,往前往后没法选择 |