Foxtable(狐表)用户栏目专家坐堂 → [求助]


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

主题:[求助]

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


加好友 发短信
等级:小狐 帖子:366 积分:2478 威望:0 精华:0 注册:2013/1/13 23:43:00
[求助]  发帖心情 Post By:2013/3/15 17:29:00 [只看该作者]

 为了将一个表格中指定列或全部列内容相同的行加以删除,只保留其中一行,在tables(“名称货号单价”)的datacolchanging事件中编制代码如下:

 

代码1

Select Case e.DataCol.Name
    Case "货号" 
        Dim dr As DataRow = e.DataTable.find("[货号] = '" & e.NewValue & "'")
        If dr IsNot Nothing Then
            dr.delete()
            Return
        End If
End Select

当把这个表格整体复制后粘贴回原表格时,

结果只是删除了"货号"列相同的内容,其他列的内容一点没动

而货号列有内容的行其他列却是空的

 

 

代码2
Select Case e.DataCol.Name
    Case "货号"
        "DataTables("名称货号单价").DeleteFor("[货号] = '" & e.NewValue & "'" )
End Select

 

直接提示代码是错的,也不知道错在哪里

 

很郁闷,跪求高手指点~~~~~~~

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:作业求助.table

[此贴子已经被作者于2013-3-15 17:33:35编辑过]

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


加好友 发短信
等级:等待验证 帖子:3855 积分:20692 威望:0 精华:5 注册:2012/6/21 14:03:00
  发帖心情 Post By:2013/3/15 17:54:00 [只看该作者]

用户已被锁定

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


加好友 发短信
等级:等待验证 帖子:3855 积分:20692 威望:0 精华:5 注册:2012/6/21 14:03:00
  发帖心情 Post By:2013/3/15 17:57:00 [只看该作者]

用户已被锁定

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


加好友 发短信
等级:小狐 帖子:366 积分:2478 威望:0 精华:0 注册:2013/1/13 23:43:00
  发帖心情 Post By:2013/3/16 15:32:00 [只看该作者]

Select Case e.DataCol.Name
    Case "货号"
        "DataTables("名称货号单价").DeleteFor("[货号] = '" & e.NewValue & "'  And _Identify <> " & e.DataRow("_Identify") )
End Select

 

首先要感谢帅哥,在线噢!

muhua
不过把你给出的上述代码贴到datacolchanging 还是提示代码错误,不知道为什么
帮人帮到底,你再给看看是怎么回事行不?

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


加好友 发短信
等级:等待验证 帖子:3855 积分:20692 威望:0 精华:5 注册:2012/6/21 14:03:00
  发帖心情 Post By:2013/3/16 15:36:00 [只看该作者]

用户已被锁定

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


加好友 发短信
等级:等待验证 帖子:3855 积分:20692 威望:0 精华:5 注册:2012/6/21 14:03:00
  发帖心情 Post By:2013/3/16 15:36:00 [只看该作者]

用户已被锁定

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


加好友 发短信
等级:小狐 帖子:366 积分:2478 威望:0 精华:0 注册:2013/1/13 23:43:00
  发帖心情 Post By:2013/3/16 18:23:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:窗口.jpg
图片点击可在新窗口打开查看
 贴到datacolchanged也是一样的

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


加好友 发短信
等级:小狐 帖子:366 积分:2478 威望:0 精华:0 注册:2013/1/13 23:43:00
  发帖心情 Post By:2013/3/20 23:08:00 [只看该作者]

Case "尺码号","细类","男式女式","品类"
        Dim dr3 As DataRow = DataTables("尺码对照表").Find("[尺码号] = '" & e.DataRow("尺码号") & _
 "' AndAlso [品类] = '"  & e.DataRow("品类")  & "' AndAlso [细类] = '"  & e.DataRow("细类") & _
"' AndAlso [男式女式] = '"  & e.DataRow("男式女式") & "'" )
        If dr3 IsNot Nothing Then
            e.DataRow("尺码") = dr3("尺码")
        End If

 

以上代码执行后显示如下错误,能不能指点一下是怎么回事? 不明白操作数是怎么回事。

.NET Framework 版本:2.0.50727.3643
Foxtable 版本:2012.11.28.1
错误所在事件:表,产品表,DataColChanged
详细错误信息:
System.Reflection.TargetInvocationException: 调用的目标发生了异常。 ---> System.Data.SyntaxErrorException: 语法错误:“AndAlso”运算符后缺少操作数。
   在 System.Data.ExpressionParser.Parse()
   在 System.Data.DataExpression..ctor(DataTable table, String expression, Type type)
   在 System.Data.Select..ctor(DataTable table, String filterExpression, String sort, DataViewRowState recordStates)
   在 System.Data.DataTable.Select(String filterExpression, String sort)
   在 Foxtable.DataTable.Find(String O0OO100O01011Ol1, String O0lO, Int32 Oll0l)
   在 UserCode.DataColChanged(DataColEventArgs e)
   --- 内部异常堆栈跟踪的结尾 ---
   在 System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
   在 System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
   在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
   在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   在 Foxtable.DataTable.O1100l0O01l110O0l00Oll11(Object O0l0O0, DataColumnChangeEventArgs O)


 回到顶部