以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- List函数问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=107096) |
||||
-- 作者:Zhao2006 -- 发布时间:2017/9/21 10:56:00 -- List函数问题 此主题相关图片如下:list函数.jpg 各位狐老师您们好!因项目一表单出差人需要考核填写,故不得不学习移动开发了,按帮助课程一步一步学习通过Google Chrome浏览器显示一切都正常,但到引用数据章节“分页显示”就有问题了(其问题显示同1),是数据源问题么(ACC外源数据,XP系统)?请老师指教。 课程:1、使用表格/手工编码传递主键:http://www.foxtable.com/mobilehelp/
|
||||
-- 作者:有点甜 -- 发布时间:2017/9/21 13:16:00 -- 参考 http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=102991&authorid=0&page=0&star=2
|
||||
-- 作者:Zhao2006 -- 发布时间:2017/9/21 16:46:00 -- 李同学上他的实例列让我看得头都晕,现我把List函数内部分字段修改为(
见附件,粘贴系统不给上传的): 但还是显错误:错误所在事件: 详细错误信息: 试图执行的查询中不包含作为合计函数一部分的特定表达式 \'订单编号\' 。 [此贴子已经被作者于2017/9/21 16:46:31编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2017/9/21 18:14:00 -- cmd.CommandText = "Select top " & pagerows & " [_Identify] As 订单编号,日期,客户,数量 As 数量,(数量*单价) As 金额 From {订单} where " & iif(page=0, "1=1" , "[_identify] not In (Select top " & pagerows * page & " [_identify] from {订单} order by [_identify]) order by [_identify]") [此贴子已经被作者于2017/9/21 18:14:14编辑过]
|
||||
-- 作者:Zhao2006 -- 发布时间:2017/9/22 10:55:00 -- 甜老师好,还是提示原来同样的错误,查看陈同学他List通过是因为他把List内容改了好多东西。另手工编码传递主键这一课程也是相当重要的(但现Acc还是提示错误),毕竟移动应急使用“单一张表单、没有编号列”这类表还是相当普遍的。 |
||||
-- 作者:有点甜 -- 发布时间:2017/9/22 12:00:00 -- 4楼代码没有问题。出错的项目,做个例子发上来测试。 |
||||
-- 作者:Zhao2006 -- 发布时间:2017/9/23 13:58:00 -- 那在此先谢过甜老师了,我等小白只要是在某一章节一被卡住那下面课程将无法进行了,更不用说换上实际使用表了(夹内还有个“手动传递主键”文本页,看它的语句还是与List有些不同)。
|
||||
-- 作者:有点蓝 -- 发布时间:2017/9/23 14:47:00 -- 1、数量和金额是表达式列,sql是无法使用表达式列的 2、尽量保持数据库表的名称,或者干脆把数据库表名称改正确, 不要乱改名,容易出错。因为sql是使用数据库的表名的 3、参考: Dim cmd As New SQLCommand cmd.ConnectionName = "移动示例" \'记得设置数据源名称 cmd.CommandText = "Select Count(*) From {订单}" & iif(Filter > "", " Where " & Filter, "") Dim Count As Integer = cmd.ExecuteScalar() \'获取总的行数 Dim Pages As Integer = Math.Ceiling(Count/PageRows) \'计算出总页数 cmd.CommandText = "Select Top " & pagerows & " *,(数量*单价) As 金额 from (Select [_identify] as 订单编号,日期,客户,(Select sum(数量) from 订单 where 订单编号={订单}.订单编号) As 数量,单价 From {产品}) A where " cmd.CommandText &= iif(page=0, "1=1" , "[订单编号] not In (Select top " & pagerows * page & " [_identify] from {产品} order by [_identify]) order by [订单编号]") Dim dt As DataTable = cmd.ExecuteReader |
||||
-- 作者:Zhao2006 -- 发布时间:2017/9/24 1:22:00 -- 谢蓝老师!我现已把数据库名改同数据源名,运行。。。。没见有什么反应。仔细检查,发现两处from {产品}应该是from {订单}(因为没有产品表嘛),运行。。。还是提示这样的错误信息:至少一个参数没有被指定值。看来还是蓝老师您说的表达式列问题,我试试改成不是表达式列的看看,不行再来打扰您们哦,非常感谢甜老师、色老师、蓝老师等众老师一直以来的热情指导!! [此贴子已经被作者于2017/9/24 1:24:28编辑过]
|