Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
下载信息 [文件大小: 下载次数: ] | |
![]() |
还是 那个 最后进店日期 和 当前里程 输入的问题
我现在设计了一个代码 目的是 这2个数据 必须全部更改后 才能保存
否则 没输 最后进店日期 的话 则会跳出对话框询问 !
没输 当前里程的话 也是如此!
现在老是出错 不知道什么情况 求解? 窗口的 保存修改按钮里的代码
Dim k As Row = Tables("客户档案").Current
Dim cr As DataRow = DataTables("历史进店记录").Find("当前里程 = 'k(当前里程)'")
Dim jr As DataRow = DataTables("历史进店记录").Find("进店时间 = 'k(最后进店日期)'")
If cr IsNot Nothing AndAlso jr Is Nothing Then
Dim xz As DialogResult
xz = MessageBox.Show("最后进店日期 未填写!确定不填写吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If xz = DialogResult.Yes Then
Tables("客户档案").Current.Delete
k.Save()
End If
End If
If cr Is Nothing AndAlso jr IsNot Nothing Then
Dim yz As DialogResult
yz = MessageBox.Show("当前里程 未填写!确定不填写吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If yz = DialogResult.Yes Then
Tables("客户档案").Current.Delete
k.Save()
End If
End If
动态合成表达式
不少初次接触编程的用户,对于何时使用双引号,何时使用单引号,感到非常困惑。
其实很简单,代码中的字符串都是用双引号括起来的。
例如:
Dim s As String
s = "abcd"
而单引号主要用于表达式,表达式可以用于计算、筛选。
表达式本身是一个字符串,所以必须用双引号括起来;表达式内部的字符串,用单引号括起来。
例如:
CurrentTable.Filter = "[产品] = 'PD01'"
上面的代码意思是在当前表中筛选出产品为PD01的行,筛选表达式本身是一个字符串,所以用双引号括起来,表达式中的PD01也是一个字符串,是表达式的一个内部字符串,所以用单引号括起来。
表达式中的日期继续用符号#括起来,数值则不需要任何符号括起来,这些和代码中的格式是一样的,唯一不同的是字符串用单引号括起来。
例如:
CurrentTable.Filter = "[产品] = 'PD01' And [日期] = #3/17/1999# And [折扣] = 0"
通过表达式列的Expression属性,可以动态设置其计算公式
例如:
DataTables("表A").DataCols("ID").Expression = "'CA' + [_Identify]"
实际编程的时候,经常要根据用户的输入,动态合成表达式。
例如:
例如要计算某个产品的销售数量,要计算的产品名称由用户输入,假定输入的结果保存在全局变量Vars("产品")中:
Dim Sum As Integer
Sum =
DataTables("订单").Compute("Sum(数量)", "[产品] = '" &
Vars("产品") & "'")
Compute的第二个参数为计算条件表达式,该表达式分为三部分:
"[产品] = '" & Vars("产品") & "'"
假定全局变量Vars("产品")的值为PD01,组合三部分的内容后,这个表达式就等效于:
"[产品] = 'PD01'"
...
上面的代码意思是在当前表中筛选出产品为PD01的行,筛选表达式本身是一个字符串,所以用双引号括起来,表达式中的PD01也是一个字符串,是表达式的一个内部字符串,所以用单引号括起来。
头有点晕 说的什么意思啊 都是 字符串 又不同。 我理解 单引号 用语 表达式 内部字符串 而双引号 就是在字符串用
那我这个 代码 该怎么弄
Dim cr As DataRow = DataTables("历史进店记录").Find("当前里程 = 'k(当前里程)'")
Dim jr As DataRow = DataTables("历史进店记录").Find("进店时间 = 'k(最后进店日期)'")
呵呵 发现老大的一个错误!
当前里程 没用引号
另外 我这段代码的貌似不起作用 没实现我的功能!
有什么问题嘛?
目的是 这2个数据 必须全部更改后 才能保存
否则 没输 最后进店日期 的话 则会跳出对话框询问 !
没输 当前里程的话 也是如此!
下载信息 [文件大小: 下载次数: ] | |
![]() |
不是isnull判断为空!
而是里面本身有值 要判断是否2列都更改了 只有都更改了 才能保存 否则会出现提示!
还有 你里面有2个标签 lc rq 起到什么作用? 有点不懂