Rss & SiteMap

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

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

标题:单引号和双引号

1楼
贺老六 发表于:2008/9/18 17:34:00

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

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


例如:


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("产品")的值为PD01,第二个参数就等于:

"[产品] = 'PD01'"

 

DataTable和Table都有很多属性和方法使用到了表达式,我们必须掌握单引号和双引号的区别,并学会动态合成表达式,才能设计出强大而又灵活的管理系统。

 

[此贴子已经被作者于2008-9-18 17:53:51编辑过]
2楼
贺老六 发表于:2008/9/18 17:35:00

这一段内容已经加入帮助。

3楼
yuanbin 发表于:2008/9/18 17:44:00

又深刻地学了一下。顶哦。

4楼
gdtgl 发表于:2008/9/18 17:48:00
学会动态合成表达式图片点击可在新窗口打开查看谢谢,老六表达的精华所在吗?在论坛中真的可以学习很多呀!喜欢呆在这里。
5楼
kylin 发表于:2008/9/18 18:13:00
顶一下
6楼
lxl 发表于:2008/9/18 18:40:00
以下是引用贺老六在2008-9-18 17:34:00的发言:

 

例如:

例如要计算某个产品的销售数量,要计算的产品名称由用户输入,假定输入的结果保存在全局变量Vars("产品")中:

 

Dim Sum As Integer
Sum =  DataTables("订单").Compute("Sum(数量)",   "[产品] = '"  &  Vars("产品") &  "'")


Compute的第二个参数为计算条件表达式,假定全局变量Vars("产品")的值为PD01,第二个参数就等于:

                                                  "[产品] = 'PD01'"

 

                                                                                                                                 


给你们点颜色看看

[此贴子已经被作者于2008-9-18 18:41:47编辑过]
共6 条记录, 每页显示 10 条, 页签: [1]

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

Powered By Dvbbs Version 8.3.0
Processed in .03906 s, 2 queries.