Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共17 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

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

1楼
gaoyong30000 发表于: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楼
紙上不談兵 发表于:2011/8/18 17:01:00
错误明显,多看看帮助吧
3楼
紙上不談兵 发表于: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'"

...

4楼
gaoyong30000 发表于:2011/8/18 17:34:00

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

 

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

 

那我这个 代码 该怎么弄

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

5楼
狐狸爸爸 发表于: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(最后进店日期) & "'")
6楼
gaoyong30000 发表于:2011/8/18 20:35:00

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

 

当前里程 没用引号

 

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

 

有什么问题嘛?

 

 

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

 

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

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

 

[此贴子已经被作者于2011-8-18 20:35:21编辑过]
7楼
狐狸爸爸 发表于:2011/8/18 20:47:00
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目17.rar

8楼
gaoyong30000 发表于:2011/8/18 20:55:00

 不是isnull判断为空!  

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

 

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

9楼
狐狸爸爸 发表于:2011/8/18 22:51:00
你看看窗口的afterLoad事件,就知道lc和rq的作用了。
10楼
gaoyong30000 发表于:2011/8/18 22:56:00
这个小小的 按钮输入 搞得头都大了!   我觉得 这些逻辑  编程的人 是否都有一些 流程图 以作参考呢?
[此贴子已经被作者于2011-8-18 22:56:13编辑过]
共17 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .05469 s, 4 queries.