大鹅,大鹅,我有一个表微信小程序开发数组操作教程,有几十万行数据,但我只想看其中的一部分,怎么办?
是不是像网页预览一样,一页只显示固定数量的项目,并且可以翻页? --宇野又遇到了一个问题
别担心,我给你三个方法来解决这个问题。 从简单的公式到代码再到数据库语言SQL方法,今天我都给大家分析一下。
01
功能法
我们先看一下数据格式
现在我想格式化右侧的页码并自定义项目数来控制显示的项目数。 效果如下图
(功能方法效果演示)
▍如何确定最大页数?
中心思想:总行数/每页项目数-----如果这个值是小数,我想将其四舍五入为整数。
这是 12.5 页,我显示 13 页
总行数 = (data!A:A)-1
(Data!A:A) ----包括表头在内的数据项总数
(Data!A:A)-1 ----是去掉表头后的数据总数
每页的项目数 = K2 个单元格
要四舍五入到小数点,请使用以下函数:
(数字,小数点后位数)
这是最终的公式:

=((((数据!A:A)-1)/K2,0),1)
使用函数,容错也显示1页
▍思考规则,如何确定第一个显示的数字?
第一个显示的数量为:(页码-1)*每页条数+1
最终公式:=($G$2-1)*$K$2+1(注意绝对引用,防止拖动过程中发生变化)
▍这个数字和数据行数有什么关系吗?
+ 1 为实际数据的行数
为了方便理解,这里提供了辅助栏目。 如果没有辅助列,就把数字想象成行号来操作。
▍既然知道了位置,那么应该用什么函数来返回结果呢?
功能
语法:(数组或范围、数组和范围中的行位置、数组和范围中的列位置)
1.参数范围:实际数据范围,注意绝对锁定
第二个参数,行号,为 + 1
三参数序列是从1到3开始的数字
处理函数:(数据!$A$1:$C$1000,+1,(A1))
结果:(数据!$A$1:$C$1000, ($G$2-1)*$K$2+1+1,(A1))
▍这个式子可以得到第一个数据结构。 我需要下拉才能得到正确的结果。
只要把行数往下拉就可以使用ROW函数
语法:ROW(cell) 返回单元格行数
我这里写的是ROW(A1),通过下拉,A1变为B1、C1、D1、E1,结果分别是1、2、3、4。
我们还需要限制物品的数量。 这里我们使用IF函数来判断。 只要项目数量超过了数量,就会显示为空,并且函数会出错。
该函数的最后部分: IF(ROW(A1) 1 then '当页码大于1页时
“这包括已经上交的数字。
sql1 = " top " & n * (k - 1) & " 来自 [data$] 的数字"
'这是将总表和翻过的页码进行比较,综合成一个新的表。 该表有四个字段。
sql2 = "a.,a.,a.,a.,b. as from [data$] a left join (" _
& sql1 & ") b on a. = b."
'通过判断第四个字段为空,我们就可以找到移除分页数据的目的。
' sql2 = " c. 号码、c. 学校、c. 学生、c. 学费 (" & sql2 & ") c c. 为空"
'获取新数据上面的前N条数据
' sql2 = " top " & n & " 号码、学校、学生、学费 from (" & sql2 & ")"
else '当页码=1页时执行
'获取每页的数据条数,即1-N条数据
sql2 = " top " & n * k & " 编号,学校,学生,学费来自 [data$]"
万一
'获取RS数据
设置 rs = cn.(sql2)
'关闭屏幕刷新
。 =
'清除之前的结果
(“a1:”)。
'获取标题
对于 i = 0 至 rs.. - 1
(2, i + 2)。 = rs.(i).姓名
接下来我
'将结果复制到单元格

(“B3”).rs
cn.:设置cn=
.=真
结束子
▍解释几条SQL语句
● sql1 = " top " & n * (k - 1) & " 来自 [data$] 的数字"
获取到的是已经翻过的页码数据
(得到的是左边一个表格,根据页码显示表示已经翻过的页码)
● sql2 = " a.,a.,a.,a.,b. as from [data$] a left join (" _
& sql1 & ") b on a. = b."
得到的是一个五栏的表格,与之前的翻页数进行比较。
(此语句后得到的表格形式)
● sql2 = " c. 号码、c. 学校、c. 学生、c. 学费 (" & sql2 & ") c c. 为空"
通过SQL语言,相当于过滤了这个字段。 如果数据为空,我只取前四个数据。 可以这样理解。
(不控制过滤,只取前四列)
● sql2 = " top " & n & " 号码、学校、学生、学费 from (" & sql2 & ")"
获取前N条数据
在实际工作中,数据库管理中经常会用到大数据分页,这种SQL方式应用广泛。
今天的分享就到这,如果教程对大家有用,希望大家多多分享点赞支持小编哦!你的每一次点赞和转发都是支持小编坚持原创的动力。
优势①:VIP可以学习所有教程,无限学习+配套素材源文件+无限下载
优势②:支持微信公众号+小程序+APP+PC网站多平台学习
优势③:支持离线观看,倍速观看,让你随时随地学习
优势④:VIP标识,尊贵身份+独立售后群解答