Foxtable(狐表)用户栏目专家坐堂 → 请教这个代码有什么错误!


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

主题:请教这个代码有什么错误!

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


加好友 发短信
等级:五尾狐 帖子:1165 积分:9032 威望:0 精华:1 注册:2011/5/25 16:33:00
请教这个代码有什么错误!  发帖心情 Post By:2011/8/18 16:55:00 [只看该作者]

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:内控系统9.rar

 

还是 那个 最后进店日期  和 当前里程  输入的问题

 

我现在设计了一个代码  目的是  这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


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


加好友 发短信
等级:幼狐 帖子:113 积分:731 威望:0 精华:1 注册:2011/8/16 14:13:00
  发帖心情 Post By:2011/8/18 17:01:00 [只看该作者]

错误明显,多看看帮助吧

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


加好友 发短信
等级:幼狐 帖子:113 积分:731 威望:0 精华:1 注册:2011/8/16 14:13:00
  发帖心情 Post By:2011/8/18 17:13:00 [只看该作者]

动态合成表达式

不少初次接触编程的用户,对于何时使用双引号,何时使用单引号,感到非常困惑。

其实很简单,代码中的字符串都是用双引号括起来的。

例如:

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'"

...


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


加好友 发短信
等级:五尾狐 帖子:1165 积分:9032 威望:0 精华:1 注册:2011/5/25 16:33:00
  发帖心情 Post By:2011/8/18 17:34:00 [只看该作者]

上面的代码意思是在当前表中筛选出产品为PD01的行,筛选表达式本身是一个字符串,所以用双引号括起来,表达式中的PD01也是一个字符串,是表达式的一个内部字符串,所以用单引号括起来。
 

 

头有点晕 说的什么意思啊  都是 字符串 又不同。    我理解 单引号 用语 表达式 内部字符串    而双引号 就是在字符串用

 

那我这个 代码 该怎么弄

Dim cr As DataRow = DataTables("历史进店记录").Find("当前里程 = 'k(当前里程)'")
Dim jr As DataRow = DataTables("历史进店记录").Find("进店时间 = 'k(最后进店日期)'")


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/18 17:38:00 [只看该作者]

Dim k As Row = Tables("客户档案").Current
Dim cr As DataRow = DataTables("历史进店记录").Find("当前里程 = '" & k(当前里程) & "'")
Dim jr As DataRow = DataTables("历史进店记录").Find("进店时间 = '" & k(最后进店日期) & "'")

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


加好友 发短信
等级:五尾狐 帖子:1165 积分:9032 威望:0 精华:1 注册:2011/5/25 16:33:00
  发帖心情 Post By:2011/8/18 20:35:00 [只看该作者]

呵呵  发现老大的一个错误!

 

当前里程 没用引号

 

另外 我这段代码的貌似不起作用  没实现我的功能!

 

有什么问题嘛?

 

 

目的是  这2个数据  必须全部更改后 才能保存 

 

否则  没输 最后进店日期 的话 则会跳出对话框询问 !

       没输  当前里程的话 也是如此!

 

[此贴子已经被作者于2011-8-18 20:35:21编辑过]

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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/18 20:47:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目17.rar


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


加好友 发短信
等级:五尾狐 帖子:1165 积分:9032 威望:0 精华:1 注册:2011/5/25 16:33:00
  发帖心情 Post By:2011/8/18 20:55:00 [只看该作者]

 不是isnull判断为空!  

而是里面本身有值  要判断是否2列都更改了  只有都更改了 才能保存  否则会出现提示!

 

还有  你里面有2个标签  lc rq   起到什么作用?  有点不懂


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/18 22:51:00 [只看该作者]

你看看窗口的afterLoad事件,就知道lc和rq的作用了。

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


加好友 发短信
等级:五尾狐 帖子:1165 积分:9032 威望:0 精华:1 注册:2011/5/25 16:33:00
  发帖心情 Post By:2011/8/18 22:56:00 [只看该作者]

这个小小的 按钮输入 搞得头都大了!   我觉得 这些逻辑  编程的人 是否都有一些 流程图 以作参考呢?
[此贴子已经被作者于2011-8-18 22:56:13编辑过]

 回到顶部
总数 17 1 2 下一页