链接:https://pan.baidu.com/s/1vNHdoTpR98hFrvquANeoHQ 提取码:mis1
视频链接:https://pan.baidu.com/s/10egC6D2u7ns3iudVPURJyg 提取码:mis1

一、什么数据表函数?

数据表函数是从数据库的数据表中进行查询,获得数据结果的函数。
例如从数据库中查出某个数据表的所有记录,根据筛选条件查出一条记录。
查询数据中满足某种条件的记录等。
数据表函数一般使用table.表名 打头,表示这是根据数据库的某张表进行查询

二、记录相关的函数

1. 什么是记录?

数据表由表名、字段及记录组成,表中的一条条数据就叫做“记录”

2. 查询记录

数据库中有很多张表,每张表中又有很多条记录,我们如何查找到想要的记录?

a. find()函数:获取多条记录

=table.用户.find(table.用户.性别==Dict.性别.男,[-table.用户.入职日期],””,3,5)
筛选条件 排序方式 从第3条开始取 最多取5条

image.png

筛选条件

案例解析:
案例1:
筛选条件:(table.用户.性别==Dict.性别.男 && table.用户.部门.主管==me.id) || (table.用户.性别==Dict.性别.女 && table.用户.入职日期<=Date.now().addMonth(-3))
条件解析:筛选出用户数据集中的男性并且部门主管是当前登录用户的所有用户+三个月前入职的女性用户

案例2:
筛选条件:(table.用户.性别==Dict.性别.男 || table.用户.部门.主管==me.id) && table.用户.入职日期<=Date.now().addMonth(-3))
条件解析:筛选出用户数据集中三个月前入职的男性用户和三个月前入职的主管是当前登录用户的所有用户(无论男女)

b. findOne()函数 获取单条记录

=table.表名.findOne(条件) 获取记录
=table.部门.findOne(条件).主管 获取记录的字段

案例函数: =table.部门.findOne(table.部门.id==dynamic(D6)).主管

效果:

新员工录入时,为员工选择部门后,根据选择的部门查询出部门主管,并单元格I6
image.png
1-3

配置方法:

image.png
1-4

3. 数据记录使用函数

it(记录)

it是页面函数,依附与页面存在,在新建页面时需要选择一张数据表,在详情页使用的就是it,页面上会使用到某条记录的各个字段,而这些字段就是通过it被使用的,如=it.姓名 这条记录的姓名字段
PS:列表到详情,需要传递参数 it.id

it变量用法:
a. it.姓名、it.身份证号
b. it.部门.主管 (引用列级联使用)
配置如下:
image.png
页面浏览效果:
image.png

c. 在A1格写公式=table.用户.findOne(table.用户.id==1)后,公式含义:查找出符合括号里条件的一条记录,那么,我们可以在其他单元格里使用A1 调用记录的各个字段及字段引用,如=A1.名称,=A1.部门.主管

配置如下:
id为1的用户是admin
image.png
页面浏览效果
image.png

me

根据登录名及密码从用户表中查找出的当前登录的这条用户记录
me.id :当前登录用户的id字段值
me.姓名 :当前登录用户的姓名字段值
me.部门.主管:当前登录用户的部门的主管
me.部门.主管.姓名:当前登录用户部门主管的名字

四、数据集相关函数

select函数及使用


select函数 (记录扩展函数):取出数据集中的所有记录并显示在页面上
写法:=ds用户.select(ds用户.id,ds用户.性别==Dict.性别.男,[table.用户.部门,-table.用户.id])
显示值 筛选条件 排序方式
数据集字段(必需配合select函数使用)(一般用在select右边)
如,ds用户.姓名 ,ds用户.部门.主管 (引用列级联使用)
image.png
扩展效果:
image.png

image.png三、练习: 写函数

  1. 简答题
    什么是数据表?
    什么是数据集?
    什么是记录?
    2. 现在构造用户表的数据集dsUsers,请写出筛选条件。(用户表的部门字段是一个到部门表的引用,部门表的主管字段是一个到用户的引用)
    名称是张三的用户 性别是男性的用户
    登录名中包含”ad” 业务部的女性用户
    财务部的用户或者女性用户
    出生日期大于等于20年前并且小于今天的用户

    3. 现在有用户表的数据集dsUsers,请写出要求的公式。
    名称 出生日期 用户性别的显示值
    部门的主管 部门的主管的性别
    如果是男性,值为“您好,尊敬的先生”,否则为“您好,尊贵的女士”

    4. 现在有用户表的数据集dsUsers,请写出用户级记录查找公式
    出生日期筛选 按照部门负责人筛选
    按照部门多选 按照名称模糊查找