'合计
Dim r As DataRow = e.DataRow
Select Case e.DataCol.Name
Case "数量","单价","折扣","定价","金额"
If r("折扣") > 0 Then
r("单价") = r("定价") * r("折扣") / 100
End If
If r("数量") <> 0 Then
r("单价") = r("金额") / r("数量")
End If
If r("单价") > 0 Then
r("折扣") = r("金额") / r("单价")
End If
r("金额") = r("数量") * r("单价")
End Select
想修改(金额、单价、折扣)列中的一个,其他两个同时改变值
分开处理
Dim r As DataRow = e.DataRow
Select Case e.DataCol.Name
Case "折扣","定价"
If r("折扣") > 0 Then
r("单价") = r("定价") * r("折扣") / 100
End If
End Select
Select Case e.DataCol.Name
Case "数量","金额"
If r("数量") <> 0 Then
r("单价") = r("金额") / r("数量")
End If
End Select
……
SQL函数
CONVERT(decimal(18, 0), c.现存数 / b.装箱数) AS 现存件数,
现存件数的值为四舍五入了,不想四舍五入怎么写代码
想在现存件数的值中加入“件”,代码怎么写
5件
http://www.foxtable.com/webhelp/topics/1827.htm
Ceiling
返回大于或等于给定数值的最小整数。
CONVERT(nvarchar(10),Ceiling(c.现存数 / b.装箱数) + '件' as 现存件数
Dim bjs As List(Of String) = DataTables("记录_table2").GetValues("企业名称")
For Each bj As String In bjs '获得该企业名称的全部行,按总得分降序排序
Dim drs As List(Of DataRow) = DataTables("记录_table2").Select("[企业名称] = " & bj, "总得分 DESC")
For n As Integer = 0 To drs.Count - 1 '遍历所有行
If n > 0 AndAlso drs(n)("总得分") = drs(n-1)("总得分") Then '如果总得分和上一行相同
drs(n)("排名") = drs(n-1)("排名") '则排名等于上一行
Else
drs(n)("排名") = n + 1 '设置排名
End If
Next
Next
.NET Framework 版本:2.0.50727.8806
Foxtable 版本:2018.10.9.1
错误所在事件:窗口,记录,Button1,Click
详细错误信息:
语法错误:“=”运算符后缺少操作数。
麻烦帮忙修改一下代码
CONVERT(nvarchar(10), CEILING(c.现存数 / b.装箱数)) + '件' + CONVERT(nvarchar(10), c.现存数 - CONVERT(decimal(18, 0), c.现存数 / b.装箱数) * b.装箱数) + b.单位 AS 现存件数
假如上面的代码得出的结果是 5件-5只
想得到的结果是 4件7只
SQL视图代码
CONVERT(nvarchar(10), CEILING(c.现存数 / b.装箱数)) + '件' + CONVERT(nvarchar(10), c.现存数 - CONVERT(decimal(18, 0), c.现存数 / b.装箱数) * b.装箱数) + b.单位 AS 现存件数
此主题相关图片如下:360截图20230205203644257.jpg
装箱数是12只,现存数只有10只,正确的结果应该是0件10只,现在显示错误了