Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共9 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

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

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

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

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


附件错了,重新上传
[此贴子已经被作者于2009-6-2 22:50:24编辑过]
2楼
mr725 发表于:2009/6/2 18:58:00

````

[此贴子已经被作者于2009-6-2 19:01:29编辑过]
3楼
yangming 发表于: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
4楼
mr725 发表于:2009/6/2 19:02:00
重新上传附加了~

奇怪,有时又可以修改?       知道了,可以修改,但不能删除那几列对应的单元格内容
[此贴子已经被作者于2009-6-2 20:16:47编辑过]
5楼
八婺 发表于: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是极其错误的,因为一旦重置,都是以焦点所在行为基准而更改所有数据的。
6楼
mr725 发表于: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楼
八婺 发表于: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楼
八婺 发表于:2009/6/2 22:38:00
drw("" & cs(i) & "")
这段无需这样的,直接

drw(cs(i)) 就可以。
9楼
mr725 发表于:2009/6/2 22:50:00

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

共9 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03125 s, 3 queries.