-- 作者:东坡一剑
-- 发布时间: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
直接提示代码是错的,也不知道错在哪里
很郁闷,跪求高手指点~~~~~~~
[此贴子已经被作者于2013-3-15 17:33:35编辑过]
|
-- 作者:东坡一剑
-- 发布时间: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)
|