现在有个数据表,里面的字段有编号,名称,含量,合同号等等信息,比如有一条记录的编号为J01C113745,我在组合框中选择J,选择01,选择45,就能找到编号第一位是J,第二三位是01,最后两位是45的记录呢?
7 个解决方案
#1
Select * Into Cursor T1 From 表名 Where Left(编号,1)='J' And Substr(编号,2,2)='01' And Right(Rtirm(编号),2)='45'
实际应用时把'J'、'01'、'45'换成你的控件。
再通过 T1 的记录,来判断查找到的记录是1条,还是N条,还是0,来决定后面的工作
#2
CREATE CURSOR t (bh c(10))
INSERT into t values ('J01C113745')
a = 'J'
b = '01'
c = '45'
SELECT * from t where bh like a+b+'%'+c
#3
不学习,问题只会是越来越多
#4
为了实现该功能,本人写了个测试代码,但首次点击查询时会去找路径,再次点击实则提示biao1正在使用当中,不知道是什么原因,还望各位老师指点...
PUBLIC ARRAY xx[12]
SELECT biao1
USE E:\ss\xc\biao1
SELECT flbm1
SELECT flbm2
SELECT flbm3
SELECT flbm4
SELECT flbm5
SELECT flbm6
SELECT flbm7
SELECT flbm8
SELECT flbm9
SELECT flbm10
SELECT flbm11
SELECT flbm12
IF !EMPTY(ALLTRIM(thisform.combo1.value))
LOCATE FOR flbm1.daimahanyi=ALLTRIM(thisform.combo1.value)
xx1=ALLTRIM(flbm1.daima)
ELSE
xx1="_"
ENDIF
zfc=xx1
IF !EMPTY(ALLTRIM(thisform.combo2.value))
LOCATE FOR flbm2.daimahanyi=ALLTRIM(thisform.combo1.value)
xx2=ALLTRIM(flbm2.daima)
ELSE
xx2="__"
ENDIF
zfc=zfc+xx2
FOR i=3 TO 12
IF !EMPTY(ALLTRIM("thisform.combo"+ALLTRIM(STR(i))+".value"))
LOCATE FOR "flbm"+ALLTRIM(STR(i))+".daimahanyi"=ALLTRIM("thisform.combo"+ALLTRIM(STR(i))+".value")
xx[i]=ALLTRIM("flbm"+ALLTRIM(STR(i))+".daima")
ELSE
xx[i]="_"
ENDIF
zfc=zfc+xx[i]
ENDFOR
select * from biao1 where UPPER(alltrim(编码号)) LIKE zfc TO SCREEN
USE
PUBLIC ARRAY xx[12]
SELECT biao1
USE E:\ss\xc\biao1
SELECT flbm1
SELECT flbm2
SELECT flbm3
SELECT flbm4
SELECT flbm5
SELECT flbm6
SELECT flbm7
SELECT flbm8
SELECT flbm9
SELECT flbm10
SELECT flbm11
SELECT flbm12
IF !EMPTY(ALLTRIM(thisform.combo1.value))
LOCATE FOR flbm1.daimahanyi=ALLTRIM(thisform.combo1.value)
xx1=ALLTRIM(flbm1.daima)
ELSE
xx1="_"
ENDIF
zfc=xx1
IF !EMPTY(ALLTRIM(thisform.combo2.value))
LOCATE FOR flbm2.daimahanyi=ALLTRIM(thisform.combo1.value)
xx2=ALLTRIM(flbm2.daima)
ELSE
xx2="__"
ENDIF
zfc=zfc+xx2
FOR i=3 TO 12
IF !EMPTY(ALLTRIM("thisform.combo"+ALLTRIM(STR(i))+".value"))
LOCATE FOR "flbm"+ALLTRIM(STR(i))+".daimahanyi"=ALLTRIM("thisform.combo"+ALLTRIM(STR(i))+".value")
xx[i]=ALLTRIM("flbm"+ALLTRIM(STR(i))+".daima")
ELSE
xx[i]="_"
ENDIF
zfc=zfc+xx[i]
ENDFOR
select * from biao1 where UPPER(alltrim(编码号)) LIKE zfc TO SCREEN
USE
#5
请老师帮忙看一下,以下代码错在哪了??
LOCAL ARRAY xx[12]
LOCAL zfc
SELECT flbm1
SELECT flbm2
SELECT flbm3
SELECT flbm4
SELECT flbm5
SELECT flbm6
SELECT flbm7
SELECT flbm8
SELECT flbm9
SELECT flbm10
SELECT flbm11
SELECT flbm12
IF !EMPTY(ALLTRIM(thisform.combo1.value))
SELECT daima FROM flbm1 WHERE flbm1.daimahanyi=ALLTRIM(thisform.combo1.value) INTO ARRAY xx[1] &&提示SQL语句无效
ELSE
xx[1]="*"
ENDIF
zfc=xx[1]
IF !EMPTY(ALLTRIM(thisform.combo2.value))
SELECT daima FROM flbm2 WHERE flbm2.daimahanyi=ALLTRIM(thisform.combo2.value) INTO ARRAY xx[2] &&提示SQL语句无效
ELSE
xx[2]="**"
ENDIF
zfc=zfc+xx[2] &&提示操作符/操作数类型不匹配
FOR i=3 TO 12
IF !EMPTY(ALLTRIM("thisform.combo"+ALLTRIM(STR(i))+".value"))
SELECT daima FROM "flbm"+ALLTRIM(STR(i)) WHERE "flbm"+ALLTRIM(STR(i))+".daimahanyi"=ALLTRIM("thisform.combo"+ALLTRIM(STR(i))+".value") INTO ARRAY xx[i] &&提示SQL语句无效
ELSE
xx[i]="*"
ENDIF
zfc=zfc+xx[i] &&提示操作符/操作数类型不匹配
ENDFOR
select biao1
BROWSE FOR LIKEC(ALLTRIM(zfc),编码号)=.t.
LOCAL ARRAY xx[12]
LOCAL zfc
SELECT flbm1
SELECT flbm2
SELECT flbm3
SELECT flbm4
SELECT flbm5
SELECT flbm6
SELECT flbm7
SELECT flbm8
SELECT flbm9
SELECT flbm10
SELECT flbm11
SELECT flbm12
IF !EMPTY(ALLTRIM(thisform.combo1.value))
SELECT daima FROM flbm1 WHERE flbm1.daimahanyi=ALLTRIM(thisform.combo1.value) INTO ARRAY xx[1] &&提示SQL语句无效
ELSE
xx[1]="*"
ENDIF
zfc=xx[1]
IF !EMPTY(ALLTRIM(thisform.combo2.value))
SELECT daima FROM flbm2 WHERE flbm2.daimahanyi=ALLTRIM(thisform.combo2.value) INTO ARRAY xx[2] &&提示SQL语句无效
ELSE
xx[2]="**"
ENDIF
zfc=zfc+xx[2] &&提示操作符/操作数类型不匹配
FOR i=3 TO 12
IF !EMPTY(ALLTRIM("thisform.combo"+ALLTRIM(STR(i))+".value"))
SELECT daima FROM "flbm"+ALLTRIM(STR(i)) WHERE "flbm"+ALLTRIM(STR(i))+".daimahanyi"=ALLTRIM("thisform.combo"+ALLTRIM(STR(i))+".value") INTO ARRAY xx[i] &&提示SQL语句无效
ELSE
xx[i]="*"
ENDIF
zfc=zfc+xx[i] &&提示操作符/操作数类型不匹配
ENDFOR
select biao1
BROWSE FOR LIKEC(ALLTRIM(zfc),编码号)=.t.
#6
INTO ARRAY xx[1]
这个错了,array 后面跟的是数组名, 而不是数组的某个单元, 只能是INTO ARRAY xx ,
这个错了,array 后面跟的是数组名, 而不是数组的某个单元, 只能是INTO ARRAY xx ,
#7
#1
Select * Into Cursor T1 From 表名 Where Left(编号,1)='J' And Substr(编号,2,2)='01' And Right(Rtirm(编号),2)='45'
实际应用时把'J'、'01'、'45'换成你的控件。
再通过 T1 的记录,来判断查找到的记录是1条,还是N条,还是0,来决定后面的工作
#2
CREATE CURSOR t (bh c(10))
INSERT into t values ('J01C113745')
a = 'J'
b = '01'
c = '45'
SELECT * from t where bh like a+b+'%'+c
#3
不学习,问题只会是越来越多
#4
为了实现该功能,本人写了个测试代码,但首次点击查询时会去找路径,再次点击实则提示biao1正在使用当中,不知道是什么原因,还望各位老师指点...
PUBLIC ARRAY xx[12]
SELECT biao1
USE E:\ss\xc\biao1
SELECT flbm1
SELECT flbm2
SELECT flbm3
SELECT flbm4
SELECT flbm5
SELECT flbm6
SELECT flbm7
SELECT flbm8
SELECT flbm9
SELECT flbm10
SELECT flbm11
SELECT flbm12
IF !EMPTY(ALLTRIM(thisform.combo1.value))
LOCATE FOR flbm1.daimahanyi=ALLTRIM(thisform.combo1.value)
xx1=ALLTRIM(flbm1.daima)
ELSE
xx1="_"
ENDIF
zfc=xx1
IF !EMPTY(ALLTRIM(thisform.combo2.value))
LOCATE FOR flbm2.daimahanyi=ALLTRIM(thisform.combo1.value)
xx2=ALLTRIM(flbm2.daima)
ELSE
xx2="__"
ENDIF
zfc=zfc+xx2
FOR i=3 TO 12
IF !EMPTY(ALLTRIM("thisform.combo"+ALLTRIM(STR(i))+".value"))
LOCATE FOR "flbm"+ALLTRIM(STR(i))+".daimahanyi"=ALLTRIM("thisform.combo"+ALLTRIM(STR(i))+".value")
xx[i]=ALLTRIM("flbm"+ALLTRIM(STR(i))+".daima")
ELSE
xx[i]="_"
ENDIF
zfc=zfc+xx[i]
ENDFOR
select * from biao1 where UPPER(alltrim(编码号)) LIKE zfc TO SCREEN
USE
PUBLIC ARRAY xx[12]
SELECT biao1
USE E:\ss\xc\biao1
SELECT flbm1
SELECT flbm2
SELECT flbm3
SELECT flbm4
SELECT flbm5
SELECT flbm6
SELECT flbm7
SELECT flbm8
SELECT flbm9
SELECT flbm10
SELECT flbm11
SELECT flbm12
IF !EMPTY(ALLTRIM(thisform.combo1.value))
LOCATE FOR flbm1.daimahanyi=ALLTRIM(thisform.combo1.value)
xx1=ALLTRIM(flbm1.daima)
ELSE
xx1="_"
ENDIF
zfc=xx1
IF !EMPTY(ALLTRIM(thisform.combo2.value))
LOCATE FOR flbm2.daimahanyi=ALLTRIM(thisform.combo1.value)
xx2=ALLTRIM(flbm2.daima)
ELSE
xx2="__"
ENDIF
zfc=zfc+xx2
FOR i=3 TO 12
IF !EMPTY(ALLTRIM("thisform.combo"+ALLTRIM(STR(i))+".value"))
LOCATE FOR "flbm"+ALLTRIM(STR(i))+".daimahanyi"=ALLTRIM("thisform.combo"+ALLTRIM(STR(i))+".value")
xx[i]=ALLTRIM("flbm"+ALLTRIM(STR(i))+".daima")
ELSE
xx[i]="_"
ENDIF
zfc=zfc+xx[i]
ENDFOR
select * from biao1 where UPPER(alltrim(编码号)) LIKE zfc TO SCREEN
USE
#5
请老师帮忙看一下,以下代码错在哪了??
LOCAL ARRAY xx[12]
LOCAL zfc
SELECT flbm1
SELECT flbm2
SELECT flbm3
SELECT flbm4
SELECT flbm5
SELECT flbm6
SELECT flbm7
SELECT flbm8
SELECT flbm9
SELECT flbm10
SELECT flbm11
SELECT flbm12
IF !EMPTY(ALLTRIM(thisform.combo1.value))
SELECT daima FROM flbm1 WHERE flbm1.daimahanyi=ALLTRIM(thisform.combo1.value) INTO ARRAY xx[1] &&提示SQL语句无效
ELSE
xx[1]="*"
ENDIF
zfc=xx[1]
IF !EMPTY(ALLTRIM(thisform.combo2.value))
SELECT daima FROM flbm2 WHERE flbm2.daimahanyi=ALLTRIM(thisform.combo2.value) INTO ARRAY xx[2] &&提示SQL语句无效
ELSE
xx[2]="**"
ENDIF
zfc=zfc+xx[2] &&提示操作符/操作数类型不匹配
FOR i=3 TO 12
IF !EMPTY(ALLTRIM("thisform.combo"+ALLTRIM(STR(i))+".value"))
SELECT daima FROM "flbm"+ALLTRIM(STR(i)) WHERE "flbm"+ALLTRIM(STR(i))+".daimahanyi"=ALLTRIM("thisform.combo"+ALLTRIM(STR(i))+".value") INTO ARRAY xx[i] &&提示SQL语句无效
ELSE
xx[i]="*"
ENDIF
zfc=zfc+xx[i] &&提示操作符/操作数类型不匹配
ENDFOR
select biao1
BROWSE FOR LIKEC(ALLTRIM(zfc),编码号)=.t.
LOCAL ARRAY xx[12]
LOCAL zfc
SELECT flbm1
SELECT flbm2
SELECT flbm3
SELECT flbm4
SELECT flbm5
SELECT flbm6
SELECT flbm7
SELECT flbm8
SELECT flbm9
SELECT flbm10
SELECT flbm11
SELECT flbm12
IF !EMPTY(ALLTRIM(thisform.combo1.value))
SELECT daima FROM flbm1 WHERE flbm1.daimahanyi=ALLTRIM(thisform.combo1.value) INTO ARRAY xx[1] &&提示SQL语句无效
ELSE
xx[1]="*"
ENDIF
zfc=xx[1]
IF !EMPTY(ALLTRIM(thisform.combo2.value))
SELECT daima FROM flbm2 WHERE flbm2.daimahanyi=ALLTRIM(thisform.combo2.value) INTO ARRAY xx[2] &&提示SQL语句无效
ELSE
xx[2]="**"
ENDIF
zfc=zfc+xx[2] &&提示操作符/操作数类型不匹配
FOR i=3 TO 12
IF !EMPTY(ALLTRIM("thisform.combo"+ALLTRIM(STR(i))+".value"))
SELECT daima FROM "flbm"+ALLTRIM(STR(i)) WHERE "flbm"+ALLTRIM(STR(i))+".daimahanyi"=ALLTRIM("thisform.combo"+ALLTRIM(STR(i))+".value") INTO ARRAY xx[i] &&提示SQL语句无效
ELSE
xx[i]="*"
ENDIF
zfc=zfc+xx[i] &&提示操作符/操作数类型不匹配
ENDFOR
select biao1
BROWSE FOR LIKEC(ALLTRIM(zfc),编码号)=.t.
#6
INTO ARRAY xx[1]
这个错了,array 后面跟的是数组名, 而不是数组的某个单元, 只能是INTO ARRAY xx ,
这个错了,array 后面跟的是数组名, 而不是数组的某个单元, 只能是INTO ARRAY xx ,