回 帖 发 新 帖 刷新版面

主题:关于条件表达式

表格grid1的数据源为:表<库存>,其内容如下:

药品编号   药品名称       规格    剂型   批号     库存数量   ......

1          安络血         1mg     片剂   200801     50     ......
2          安络血         1mg     针剂   199901     60     ......
1          安络血         1mg     片剂   201002     100     
2          安络血         1mg     针剂   200801     200     ......

编号、名称、规格、剂型均相同的视为同一种药,同一种药有不同的批号

目的一:如何设置gird1,使不同批号的同一种药的库存总量少于200时,其前景色以红色显示
        即如上表中的第一条与第三条记录显示为红色

目的二:在另一查询表单中,查询库存总量(同一种药不同批号的库存量的总和)少于200的
        药品,显示于grid中,查询条件要如何写





回复列表 (共5个回复)

沙发


在另一查询表单中,查询库存总量(同一种药不同批号的库存量的总和)少于200的
药品,显示于grid中,查询条件要如何写


SELECT 药品编号,药品名称,规格,剂型,批号,SUM(库存数量) AS 总库存数 FROM 库存 ;
 GROUP BY 批号药,品编号 HAVING 总库存数<200 INTO CURSOR temp1

板凳

目的一:如何设置gird1,使不同批号的同一种药的库存总量少于200时,其前景色以红色显示
        即如上表中的第一条与第三条记录显示为红色


SELECT TRIM(药品名称-批号),SUM(库存数量) AS 总库存数 FROM 库存 ;
 GROUP BY 批号药,品编号 HAVING 总库存数<200 INTO ARRAY A1


显示为红色条件表达式:
IIF(ASCAN(A1,TRIM(药品名称-批号) )>0, RGB(255,0,0),RGB(255,255,255))

3 楼

目的一:如何设置gird1,使不同批号的同一种药的库存总量少于200时,其前景色以红色显示
        即如上表中的第一条与第三条记录显示为红色


SELECT TRIM(药品名称-批号),SUM(库存数量) AS 总库存数 FROM 库存 ;
 GROUP BY 1 HAVING 总库存数<200 INTO ARRAY A1


显示为红色条件表达式:
IIF(ASCAN(A1,TRIM(药品名称-批号) )>0, RGB(255,0,0),RGB(255,255,255))

4 楼

谢谢老师,我先试试.

5 楼

Select 药品编号,Sum(库存数量) As 库存总量 Into Table 库存总量
Index On 药品编号 Tag 药品编号
以“库存总量”作为另一表单grid的数据源;
Select 库存
    Set Relation To 药品编号 Into 库存总量

.Gird1.Refresh:
This.SetAll("DynamicForecolor","IiF(库存总量.库存总量<200,RGB(255,0,0),RGB(0,0,0))", "Column")

我来回复

您尚未登录,请登录后再回复。点此登录或注册