access_sql查询语句
今天好郁闷,做access分页的时候碰钉了,根本不会查询
以前都是用mysql分页的,突然转到用access,查询语句(SQL)居然不一样的,又要学习新的东西—mssql的查询语法。
这回可不研究了,了解知道就够用,反正以后不常用,不常就会忘记的,人的大脑就这么特殊,除非我是天才,可又不是,扯远了。。。
说回来,这些教程网上一搜一大把,我在CSDN上就找到这么一段:
查询第X页,每页Y条MATCH_wordword文档格式规范word作业纸小票打印word模板word简历模板免费word简历_1714009849757_0
最基本的处理方法(原理):
如果表中有主键(记录不重复的字段也可以),可以用类似下面的方法,当然y,(x-1)*y要换成具体的数字,不能用变量:
select top y * from 表 where 主键 not in(select top (x-1)*y
主键 from 表)
正点,就是这句话,立刻用上。
打印一下sql语句:SELECT TOP 20 * FROM tb_news WHERE nid NOT IN(SELECT TOP 0
nid FROM tb_news)
再打印结果数组, 返回结果为空,晕死。要是mysql就可以用phpmyadmin测试一下,但现在是access,找什么测试呀,算了,还是到群里问问,问了白问,不是不理我,就是说语句有问题。真是大哥来的,语句怎么会有问题的呢~~~汗一个
无耐之下,继续GG,无意之下,居然给我发现这么一个信息:
关于定义access分页的问题
如果为第一页
a=0
第二页 a=10
但是为何a=0不能辨认出来。而sqlserver可以。大家有其他方式来实现吗,
啊,原来真凶在这里,当第一页的时候,是不能出现结果的,我之前也测试过:当我选择不是第一页的时候 SELECT TOP 20 * FROM tb_news WHERE nid NOT IN(SELECT TOP 20 nid FROM
tb_news)可以有结果返回的,那现在怎么办呢,
答案八年级地理上册填图题岩土工程勘察试题省略号的作用及举例应急救援安全知识车间5s试题及答案就是:我作一个判断,当第一页的时候,不用公式来套,第二页以后才用公式来进行查询,结果也证明是对的。附上代码:
$url = „ad_news.php??;
$page = intval($page) ? intval($page): 1;
$rsofpage = 3;//设置每页显示的记录数
$sql = “SELECT count(*) as total FROM {$_pre}news”;
$rs = $db->GetRow( $sql );
$total_rs = $rs['total'];
$total_page = ceil($total_rs/$rsofpage);
$offset = ($page-1) * $rsofpage;
if($page==1) $sql = “SELECT TOP $rsofpage * FROM {$_pre}news ORDER BY nid DESC”;
else $sql = “SELECT TOP $rsofpage * FROM {$_pre}news WHERE nid NOT IN(SELECT TOP
$offset nid FROM {$_pre}news ORDER BY nid DESC) ORDER BY nid DESC”;
$rs = $db->GetAll( $sql );
$arr = array();
for($i=0;$i $max && $numofpage=$max;
if($numofpage <= 1 || !is_numeric($page)){
return ”;
}else{
$pages=”