加载中…
个人资料
MacGeek
MacGeek
  • 博客等级:
  • 博客积分:0
  • 博客访问:987
  • 关注人气:90
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
博文
(2012-12-31 18:00)
标签:

filemaker

it

分类: FileMaker函数

FileMaker Pro 12中的ExecuteSQL是一个很重要的函数,使用它可以简化很多关系的建立,比如原来某个值列表需要建立关系从关联表获取,现在只需要一个ExecuteSQL语句就可以得到了。之前我写了一篇博文简要的介绍了一下它的语法(http://blog.sina.com.cn/s/blog_495e704c01012bmn.html),并根据W3C School的SQL部分对每个基本的SQL语句进行了测试性的验证。今天我准备更加详细的把ExecuteSQL的用法介绍一下。可以说FileMaker Pro支持的SQL语句主要是依据FileMaker 12 ODBC and JDBC Guide文档的第7章(http://www.filemaker.com/support/product/docs/12/fmp/fm12_odbc_jdbc_guide_en.pdf),请结合该文档的第七章阅读本文。之前也介绍过了,FileMaker Pro 12支持的SQL语句仅限于Select。下面先看看我们的实例表和测试数据:

我们有3张表T1,T2,T3:

标签:

filemaker

分类: FileMaker实用技巧

在使用FileMaker开发解决方案的过程中,经常需要对某个字段进行一些格式化,比如订单号必须是AB0000x这种形式,或者比如5/9/2012这样一个日期,需要提取日期“9”并把它格式化为“09”。下面我就通过一个例子讲一下这个方法。

原始数据:5/9/2012

格式化后:20120509

先给出结果:Right(date;4) & Let($end = Position ( date ; '/' ; 0 ; 1 );Right ( '0'& Left(date;$end-1) ; 2 )) & Let([$start = Position ( date ; '/' ; 0 ; 1 );$end =  Position ( date ; '/' ; 0 ; 2 );$duration = $end - $start -1];Right ( '0'& Middle( date ; $start+1; $duration) ; 2 ))

首先看提取年:Right(date;4) 这个很好解释直接取右边4位

然后取月:Let($end = Position ( date ; '/' ; 0 ; 1 );Right ( '0'& Left(date;$end-1) ; 2 )) 先用end变量存储第一个'/'号的位置,然后用Left取出月,为了把单数月格式化为0x的形式,使用前面加0然后Right右两位的方法。

最后取日期:Let([$start = Position ( date ; '/' ; 0 ; 1 );$end =  Position ( date ; '/' ; 0 ; 2 );$duration = $end - $sta

(2012-04-12 12:53)
标签:

filemaker

分类: FileMaker函数

FileMaker Pro 12添加了一个很重要的函数,就是ExecuteSQL,这个函数可以直接执行SQL语句获取FileMaker表中的数据。

函数原型:

ExecuteSQL(sqlQuery; fieldSeparator; rowSeparator {;arguments...})

参数:

sqlQuery:查询数据的SQL语句。SQL语句中可以使用Union和Where进行联合查询和条件查询。使用?来进行指定条件查询的参数。

fieldSeparator:字段分隔符。如果返回的结果包含多个字段,则使用这个参数指定一个字段分隔符。

rowSeparator:行分隔符。如果返回结果包含多个行,则使用这个参数指定一个行分隔符。

arguments:查询参数。主要是在使用Where子句时指定动态参数使用。

返回值类型:字符串

解释:ExecuteSQL函数不能使用诸如Create,Update,Delete等SQL语句对FileMaker表结构进行修改。只能进行数据查询。

如果返回是日期和时间,返回值的格式遵循SQL标准而不是FileMaker中定义的格式。

如果查询过程有误FileMaker返回?作为结果。

ExecuteSQL不认识FileMaker中定义的表关系,所以用户可以自

(2012-03-01 12:32)
标签:

filemaker

分类: FileMaker函数

目的:返回需要查找的字符串在源字符串的起始位置。

函数原型

Position(text;searchString;start;occurrence)

Position(“源字符串”;“需要查找的字符串”;“开始下标”;“出现次数”)

参数说明:

源字符串:任何字符串或者字段

需要查找的字符串:任何字符串或者字段

开始下标:任何数字或者含有数字的字段;表示从源字符串的哪一个字符开始查找

出现次数:任何数字或者含有数字的字段;表示需要查找的字符串是第几次在源字符串中出现,可以是负数,表示从后向前的出现次数。如果是0,则属于非法参数,函数将返回0

例子:

Position(“Mississippi”;“iss”;1;1) 返回 2.

Position(“Mississippi”;“iss”;1;2) 返回 5.

Position(“Mississippi”;“iss”;3;1) 返回 5.

Left(Name;Position(Name;“ “;1;1)-1) 返回 William, Name字段是 William Smith.

Right(Name;Length(Name) - Position(Name;“ “;Length(Name);-1)) 返回 Smith.

  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有