Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1391702
  • 博文数量: 254
  • 博客积分: 4173
  • 博客等级: 中校
  • 技术积分: 3400
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-03 21:24
个人简介

不为失败找借口,只为成功找方法!

文章分类

全部博文(254)

文章存档

2021年(3)

2020年(1)

2019年(2)

2017年(10)

2016年(6)

2015年(19)

2014年(24)

2013年(19)

2012年(52)

2011年(118)

分类: SQLServer

2014-09-21 14:40:30

   1,打印函数解析:
 

a>解释器函数

   cury--返回当前BAND显示的Y向坐标,以像素为单位。

   DEC--在某数值的基础上递减;格式DEC

   FINALPASS--若是最后扫描返回TRUE

   FREESPACE--返回页中没有打印的空白部分,以像素为单位。

   INT--在某数值基础上递增;格式INT

b>逻辑函数

    AND,FALSE,TRUE,  ORNOT

c>其他函数

    IF--if{,,},依条件选择值,如果{成立则为,否则为

   LINE#--返回数据的行数,如果当前有分组设置,该函数从分组头位置开始起;否则以主项数据的第一条位置开始起。

   LINETHROUGH#--返回数据行数;无论有无分组,都是从主项数据第一条记录开始起。

   PAGE#--当前页的页数。

   TOTALPAGES--报表总页数。需要将“文件”菜单下的“报表设置”中的“两边报表”前打“√”,否则函数无效。
 

d>求整函数

    AVG,COUNT,MAX,MIN,SUM

e>日期函数

   DATE--返回当前日期

   TIME--当前时间

   year of--返回年份

f>数学函数

   FRAC--返回小数部分

   INT--返回整数部分

   MAXNUM--最大值  MINNUM--最小值 MOD--求余 ROUND--四舍五入

g>字符串

  COPY--返回字符串的子串 LOWERCASE--返回字符串的小写

  TRIM--去掉前后空格的字符串 UPPERCASE--返回字符串的大写
   具体分析:
 

ReadIni

      用于读取当前目录下指定的INI文件中的设置信息;

语法:ReadIni(<IniFileName>,

, <Ident>)

参数:

  IniFileNameINI文件名

  Section:段名

  Ident:项目名称

应用举例:

  需求:由于多台机器共用一台打印机,需要在销售开票单据上打印出当前工作站的名称,用于标识此单据是从哪台机器开出的;

  实现:[ReadIni('shikong.ini', '本工作站', '当前工作站名称')] 
  

GetSQLVal

     返回SQL语句第一个字段的执行结果;

语法:GetSQLVal(<SQLStr>)

参数:

   SQLStr:要执行的SQL语句,必须是能返回结果集的SELECT语句

应用举例:

  需求:某公司有几十家独立核算的分公司,管理模式一致,单据打印时需要打印各自的公司名称,不希望每个公司再进行调整设置;

  实现:[GetSQLVal(select top 1 dwmch from sk_reg80(nolock))]销售开票单

  说明:打印方案建立时单据标题不使用固定信息,而是从sk_reg80表中读取出单位名称,拼在单据标题中,这样就实现了动态报表方案复制到其他公司也同样适用;

注意:由于每次打印、预览时都会执行GetSQLVal函数的SQLStr语句,会对系统效率产生些许影响,在SQL语句中建议使用NOLOCK脏读参数;

 3,selectfa  eg:

[SelectFa(select case [ReadIni('shikong.ini','本工作站','打印机名称')]                       when '1600K' then '1600K'

                   else 'OKI'

      end)] 

4,单据控制交互的使用举例:
 

begin

  if getSQLVal('select yshye-xsxde from zhiydoc where dzyname=[hz.ywy]')>0 then

  begin

    MessageBox('您的信贷额度已使用完毕,无法新开单据!', '友情提示', 64);

    SetField('销售 开 票 单', 'Font.Color', clRed);

    SetField('beizhu','Text','您的信贷额度已使用完毕,无法新开单据!');

    SetMenu('存盘(&S)', 'Enabled', False);

    SetField('bm', 'SetFocus', True);

  end;

end

阅读(2285) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~