以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 帮我看下这段代码 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=39013) |
-- 作者:longtechwj -- 发布时间:2013/8/13 16:54:00 -- 帮我看下这段代码 Dim cmd As new SQLCommand Forms("物料资料").Controls(dt.DataCols(i).Name).Text=dt.DataRows(0)(dt.DataCols(i).Name) |
-- 作者:狐狸爸爸 -- 发布时间:2013/8/13 16:57:00 -- 你至少也得说一下错误提示吧? |
-- 作者:Bin -- 发布时间:2013/8/13 16:58:00 -- 报什么错? |
-- 作者:longtechwj -- 发布时间:2013/8/13 17:01:00 -- 找不到为“0”的列 |
-- 作者:Bin -- 发布时间:2013/8/13 17:03:00 -- datacol 必须使用键值来获取. 不能使用下标. 你可以利用FOR EACH 来实现 for each dc as datacol in dt.DataCols
If(Forms("物料资料").Controls.Contains(dc.Name)) Then ’这个地方 |
-- 作者:狐狸爸爸 -- 发布时间:2013/8/13 17:04:00 -- Dim cmd As new SQLCommand Dim dt As DataTable Dim i As Integer cmd.C cmd.CommandText="select * from ph where material_no=\'" & Tables("物料资料_Table1").Current("Material_No") & "\'" dt = cmd.ExecuteReader() For Each dc As DataCol In dt.DataCols If Forms("物料资料").Controls.Contains(dc.Name) Then Forms("物料资料").Controls(dc.Name).Text=dt.DataRows(0)(dc.Name) End If Next |
-- 作者:longtechwj -- 发布时间:2013/8/13 17:10:00 -- 谢谢 |