主题:请指教这段代码有什么错误?
			 yin710
				 [专家分:0]  发布于 2011-02-04 14:20:00
 yin710
				 [专家分:0]  发布于 2011-02-04 14:20:00							
			各位老师好
请指教这段代码有什么错误
sele 数据表
tj="地址="+ALLTRIM(thisform.combo1.displayvalue)+"and "+BETWEEN (日期) ALLTRIM((DTOC(thisform.text1.value) and DTOC(thisform.text2.value))+""
提示缺少参数。
						
					 
		
			
回复列表 (共8个回复)
		
								
				沙发
				
					 qjbzjp [专家分:8830]  发布于 2011-02-04 18:05:00
qjbzjp [专家分:8830]  发布于 2011-02-04 18:05:00				
				如果两个文本框都是字符型的,试试:
tj="地址="+ALLTRIM(thisform.combo1.displayvalue)+"and "+;
BETWEEN (日期,CTOD(thisform.text1.value),CTOD(thisform.text2.value))+""
							 
						
				板凳
				
					 moz [专家分:37620]  发布于 2011-02-04 20:16:00
moz [专家分:37620]  发布于 2011-02-04 20:16:00				
				在连接字符串的时候,要注意几个问题.
1.空格,如果两个字符串的首尾相连的地方都是字母,就会出现语意上的错误,为了避免这种错误,可以添加额外的空格.
2.引号,双引号和单引号都是字符串的定界符,但要对应使用,两个匹配的引号中间的内容,会被认作是一个字符串常量
3.字符串中的引号,我们字符串中需要使用引号的时候,都会用双引号来括住单引号,单引号来括住双引号.
在你的例子当中,最后的两个双引号很明显的是没有意义的.
来看看你想连接的几个子串
第一个:   "地址="    这个子串没错,后面用加号连接
第二个:   alltrim( )  字符串函数
第三个:   "and"     当上一个函数的结果,字符串的末尾是字母的时候,你得到的判断语句就有问题了,
                   所以这个时候,应该使用额外的空格来隔开,  " and "  或者是 " .and. "
第四个:   between(日期)  这个函数的书写格式明显错误,一楼已经帮你改了,但between()函数里面的三个参数的
                       类型一定要一致.括号配对也一定要一致.另外,对于日期的比较,
                       使用日期类型比字符串类型比较要好.
按照我的猜想,你应该是需要这个句子:
tj="地址="+ALLTRIM(thisform.combo1.displayvalue)+" and BETWEEN(ctod(日期),thisform.text1.value,thisform.text2.value)"
另外,我以前常哆嗦的是,在SQL的条件语句里,尽量避免使用控件属性,而应该使用中间变量.
							 
						
				3 楼
				
					 yin710 [专家分:0]  发布于 2011-02-04 21:54:00
yin710 [专家分:0]  发布于 2011-02-04 21:54:00				
				2位老师好:我的组合框是字符型的,文本框是日期型的
你们的代码我用了,提示错误语句。
							 
						
				4 楼
				
					 qjbzjp [专家分:8830]  发布于 2011-02-04 22:39:00
qjbzjp [专家分:8830]  发布于 2011-02-04 22:39:00				
				“日期”字段是什么型的?
							 
						
				5 楼
				
					 moz [专家分:37620]  发布于 2011-02-04 22:41:00
moz [专家分:37620]  发布于 2011-02-04 22:41:00				
				我在想,是我多事了.废话了一大堆.
							 
						
				6 楼
				
					 sywzs [专家分:5650]  发布于 2011-02-05 06:59:00
sywzs [专家分:5650]  发布于 2011-02-05 06:59:00				
				字符型数据一定要加引号!!!
tj="地址='"+ALLTRIM(thisform.combo1.displayvalue)+"' and BETWEEN(ctod(日期),thisform.text1.value,thisform.text2.value)"
							 
						
				7 楼
				
					 qjbzjp [专家分:8830]  发布于 2011-02-05 13:37:00
qjbzjp [专家分:8830]  发布于 2011-02-05 13:37:00				
				如果“日期”字段是日期型:
tj="地址='"+ALLTRIM(thisform.combo1.displayvalue)+"' and BETWEEN(日期,thisform.text1.value,thisform.text2.value)"
							 
						
				8 楼
				
					 yin710 [专家分:0]  发布于 2011-02-05 13:47:00
yin710 [专家分:0]  发布于 2011-02-05 13:47:00				
				谢谢各位老师,能行啦
							 
									
			
我来回复