Foxtable(狐表)用户栏目专家坐堂 → 组合框代码


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

主题:组合框代码

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


加好友 发短信
等级:四尾狐 帖子:929 积分:6500 威望:0 精华:0 注册:2014/6/25 10:48:00
组合框代码  发帖心情 Post By:2016/1/25 11:48:00 [显示全部帖子]

老师,我在窗口中增加了组合框,自定义项目内容,比如自定义项目的内容为年度:2015、2016。。。。。当组合框内选定是2015时,让当前表的年度列全部填充为2015,当选定其他值时,表内的年度列改为其他值,请问老师代码怎么写,谢谢。


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


加好友 发短信
等级:四尾狐 帖子:929 积分:6500 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2016/1/25 12:09:00 [显示全部帖子]

谢谢老师

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


加好友 发短信
等级:四尾狐 帖子:929 积分:6500 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2016/1/25 14:33:00 [显示全部帖子]

还需要请老教老师,我有表A、表B、表C

表A 是汇总表,有“年度”列,合同号列,年初余额列,表B是贷款下放表,有年度列,放款金额列,表C是贷款还本表,有年度列和还本金额列,现在在表A的年初余额写代码,要求年初余额列根据表A的年度列的值自动计算。就是当表A的年度列为2015年时,表A的年初余额的值应是表B相同合同号的2014年及以前年度累计放款金额减去表C相同合同号的2014年及以前年度累计还本金额,再请教老师代码怎么写啊,请老师再指导,谢谢!!

[此贴子已经被作者于2016/1/25 14:49:59编辑过]

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


加好友 发短信
等级:四尾狐 帖子:929 积分:6500 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2016/1/25 14:57:00 [显示全部帖子]

或者有其他方法能表达这个计算。表A有“年度”“合同号”“年初余额”“本年增加”“本年减少”“本年余额”列,现在其他列的值都能取得,就是“年初余额”无法计算。当表A的“年度”比如为2015年时,其“年初余额”就是2014年的余额。理论是上是表B的2014年及以前累计放款减去表C2014年及以前累计还款,就是2014年的余额,就是2015年的年初余额,但不知道这个代码怎么写啊,还有其他的表达方法没有,请老师指导,谢谢!!

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


加好友 发短信
等级:四尾狐 帖子:929 积分:6500 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2016/1/25 15:01:00 [显示全部帖子]

我的代码是这样的,但红色的是错的,不能表达年初的意思。

If e.DataCol.Name = "HTBH" Then
   Dim filter As String = "HTBH = '" & e.DataRow("HTBH")  & "'And 年度 = '" & e.DataRow("年度") & "'"
    e.DataRow("本金年初余额") = DataTables("DKFKB").Compute("sum(XFJE)",filter) - DataTables("HBFX").Compute("sum(BJ)",filter)
    e.DataRow("本金本年增加") = DataTables("DKFKB").Compute("sum(XFJE)",filter)
    e.DataRow("本金本年减少") = DataTables("HBFX").Compute("sum(BJ)",filter)

End If

还有执行时,出现下列错误,也看不懂。。。

.NET Framework 版本:2.0.50727.3655
Foxtable 版本:2015.11.2.1
错误所在事件:表,DKHTB, DataColChanged
详细错误信息:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Data.EvaluateException: Cannot find column [lx].
   at System.Data.AggregateNode.Bind(DataTable table, List`1 list)
   at System.Data.DataExpression.Bind(DataTable table)
   at System.Data.DataExpression..ctor(DataTable table, String expression, Type type)
   at System.Data.DataTable.Compute(String expression, String filter)
   at Foxtable.DataTable.Compute(String Expression, String Filter)
   at UserCode.DataColChanged(DataColEventArgs e)
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
   at System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at Foxtable.DataTable.oo0_o_o_(DataCol A_0)


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


加好友 发短信
等级:四尾狐 帖子:929 积分:6500 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2016/1/25 15:12:00 [显示全部帖子]

年度列有时需要进行比较,这样的情况下一般是设置为字符列还是整数列呢?

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


加好友 发短信
等级:四尾狐 帖子:929 积分:6500 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2016/1/25 15:29:00 [显示全部帖子]

列名改过来了,但年初余额数据不合

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


加好友 发短信
等级:四尾狐 帖子:929 积分:6500 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2016/1/25 15:30:00 [显示全部帖子]

怎样表达年初余额啊老师,有什么办法没有


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


加好友 发短信
等级:四尾狐 帖子:929 积分:6500 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2016/1/25 17:30:00 [显示全部帖子]

以下是引用blsu33在2016/1/25 15:07:00的发言:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Data.EvaluateException: Cannot find column [lx].没找到这个列

明明被引用的表就有“LX”这一列,而表名也没错,真没搞懂在哪里。


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


加好友 发短信
等级:四尾狐 帖子:929 积分:6500 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2016/1/25 17:46:00 [显示全部帖子]

If e.DataCol.Name = "HTH" Then
   Dim filter As String = "HTH = '" & e.DataRow("HTH")  & "'And 年度 = '" & e.DataRow("年度") & "'"
    e.DataRow("本金本年增加") = DataTables("DKFKB").Compute("sum(XFJE)",filter)
    e.DataRow("本金本年减少") = DataTables("HBFX").Compute("sum(BJ)",filter)
End If

If e.DataCol.Name = "HTH" Then
   Dim filter1 As String
   Dim filter2 As String = "HTH = '" & e.DataRow("HTH")  & "'And 年度 = '" & e.DataRow("年度") & "'"
    e.DataRow("一季度利息") = DataTables("支付利息").Compute("sum(LX)",filter2 And filter1 = "一季度")
    e.DataRow("二季度利息") = DataTables("支付利息").Compute("sum(LX)",filter2 And filter1 = "二季度")
    e.DataRow("三季度利息") = DataTables("支付利息").Compute("sum(LX)",filter2 And filter1 = "三季度")
    e.DataRow("四季度利息") = DataTables("支付利息").Compute("sum(LX)",filter2 And filter1 = "四季度")

   
End If

If e.DataCol.Name = "HTH" Then
   Dim filter As String = "HTH = '" & e.DataRow("HTH")  & "'And 年度 < '" & e.DataRow("年度") & "'"
    e.DataRow("本金年初余额") = DataTables("DKFKB").Compute("sum(XFJE)",filter) - e.DataRow("本金本年减少") = DataTables("HBFX").Compute("sum(BJ)",filter)
End If

 

 

老师,上述代码执行后提示以下错误:是什么错误呢,是数据类型错误吗?Conversion from string "HTH = '0002'And 年度 = '2015'" to type 'Boolean' is not valid

 麻烦老师帮我看看是什么错误,谢谢!!

 

.NET Framework 版本:2.0.50727.3655
Foxtable 版本:2015.11.2.1
错误所在事件:表,DKHTB, DataColChanged
详细错误信息:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidCastException: Conversion from string "HTH = '0002'And 年度 = '2015'" to type 'Boolean' is not valid. ---> System.FormatException: Input string was not in a correct format.
   at Microsoft.VisualBasic.CompilerServices.Conversions.ParseDouble(String Value, NumberFormatInfo NumberFormat)
   at Microsoft.VisualBasic.CompilerServices.Conversions.ToBoolean(String Value)
   --- End of inner exception stack trace ---
   at Microsoft.VisualBasic.CompilerServices.Conversions.ToBoolean(String Value)
   at UserCode.DataColChanged(DataColEventArgs e)
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
   at System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at Foxtable.DataTable.oo0_o_o_(DataCol A_0)

[此贴子已经被作者于2016/1/25 17:51:55编辑过]

 回到顶部
总数 21 1 2 3 下一页