Foxtable(狐表)用户栏目专家坐堂 → 请帮看看datacolchanged里的代码有何问题?【ok了】


  共有19541人关注过本帖树形打印复制链接

主题:请帮看看datacolchanged里的代码有何问题?【ok了】

帅哥哟,离线,有人找我吗?
mr725
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
请帮看看datacolchanged里的代码有何问题?【ok了】  发帖心情 Post By:2009/6/2 18:47:00 [只看该作者]

说明: 只是为了简化 结果弄简为繁了。。。 见笑了~ 
全部都是字符型。  问题:
1  不能从第二列开始录入,否则会退出系统;
2  必须从第三列到第八列按顺序录入字符后,再录入第二列,这时,第十列会按要求自动赋值;
3  按2录入完后,就不能修改第二列 到 第九列的内容了,否则会退出系统。

不知道我的代码有何毛病,这里特别说明: 代码放在命令窗口时可以顺利执行!!!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


附件错了,重新上传
[此贴子已经被作者于2009-6-2 22:50:24编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/6/2 18:58:00 [只看该作者]

````

[此贴子已经被作者于2009-6-2 19:01:29编辑过]

 回到顶部
美女呀,离线,留言给我吧!
yangming
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/6/2 19:00:00 [只看该作者]

是这段代码?
If e.DataCol.Name = "导到每片" Then '如果是已结帐列的内容变动
    If e.NewValue = True Then '而且变动后的值是True(已勾选)
        for i as integer = 0 to tables("炉次.片号").count-1
            if i < 9
                tables("炉次.片号")(i,"炉次片号") = tables("炉次.片号")(i,"炉次编号") & "0" & i+1
            else
                tables("炉次.片号")(i,"炉次片号") = tables("炉次.片号")(i,"炉次编号") & i+1
            end if
        next
            e.DataRow.Locked = True '那么锁定此行
    End If
End If

 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/6/2 19:02:00 [只看该作者]

重新上传附加了~

奇怪,有时又可以修改?       知道了,可以修改,但不能删除那几列对应的单元格内容
[此贴子已经被作者于2009-6-2 20:16:47编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
八婺
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:252 积分:1355 威望:0 精华:0 注册:2009/4/5 13:06:00
  发帖心情 Post By:2009/6/2 20:54:00 [只看该作者]

老兄想复杂了。

Dim s As String
dim drw as DataRow = e.DataRow
Dim ColNames As String = "第二列,第三列,第四列,第五列,第六列,第七列,第八列,第九列"
Dim cs() As string = ColNames.split(",")
for i as integer = 0 to cs.length-1
    s = drw("第二列") & "§" & drw("第三列") & "§" & drw("第四列") & "§" & drw("第五列") & "§" & drw("第六列") & "§" & drw("第七列") & "§" & drw("第八列") & "§" & drw("第九列")
    If s.Contains("§§") Then
        drw("第十列") = Nothing
    Else
        drw("第十列")= drw("第二列") & drw("第三列") & drw("第四列") & drw("第五列") & drw("第六列") & drw("第七列") & drw("第八列") & drw("第九列")
    end if
next


另外用ables("表A").current是极其错误的,因为一旦重置,都是以焦点所在行为基准而更改所有数据的。

 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/6/2 22:09:00 [只看该作者]

谢谢啊~  就是想简化:【Tables("表A").current 是为了在命令窗口中测试用的】
Dim s As String
dim drw as DataRow = e.DataRow
Dim ColNames As String = "第二列,第三列,第四列,第五列,第六列,第七列,第八列,第九列"
Dim cs() As string = ColNames.split(",")
for i as integer = 0 to cs.length-1
    s = s & "§"  & drw("" & cs(i) & "") & "§"       '这是简化后的
next
    If s.Contains("§§§") Then
        drw("第十列") = Nothing
    Else
        drw("第十列")= drw("第二列") & drw("第三列") & drw("第四列") & drw("第五列") & drw("第六列") & drw("第七列") & drw("第八列") & drw("第九列")   '这段还没简化~
    end if

 回到顶部
帅哥哟,离线,有人找我吗?
八婺
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:252 积分:1355 威望:0 精华:0 注册:2009/4/5 13:06:00
  发帖心情 Post By:2009/6/2 22:30:00 [只看该作者]

哦,我还没注意到你要简化,只是解决了出错问题。

Dim s,s1 As String
dim drw as DataRow = e.DataRow
Dim ColNames As String = "第二列,第三列,第四列,第五列,第六列,第七列,第八列,第九列"
Dim cs() As string = ColNames.split(",")
for i as integer = 0 to cs.length-1
    s = s & "§"  & drw(cs(i)) & "§"       '这是简化后的
    s1 = s1 & drw(cs(i))
next
If s.Contains("§§§") Then
    drw("第十列") = Nothing
Else
    drw("第十列")= s1
end if

 回到顶部
帅哥哟,离线,有人找我吗?
八婺
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:252 积分:1355 威望:0 精华:0 注册:2009/4/5 13:06:00
  发帖心情 Post By:2009/6/2 22:38:00 [只看该作者]

drw("" & cs(i) & "")
这段无需这样的,直接

drw(cs(i)) 就可以。

 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/6/2 22:50:00 [只看该作者]

太感谢了~   确实是老师级的!!!


 回到顶部