Foxtable(狐表)用户栏目专家坐堂 → [求助]求教如何查询后台数据?


  共有2106人关注过本帖树形打印复制链接

主题:[求助]求教如何查询后台数据?

帅哥哟,离线,有人找我吗?
静听枫雨
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:255 积分:2152 威望:0 精华:0 注册:2013/6/8 22:41:00
[求助]求教如何查询后台数据?  发帖心情 Post By:2017/11/18 9:54:00 [显示全部帖子]

我做了一个分页,每页显示25条,查询时,只能查当前页的内容,查不了所有数据。

Tables("纸张设置").ApplyFilter = False
Dim Filter As String
Dim ComboBox1 As String =  e.Form.Controls("ComboBox1").text
If ComboBox1  > "" Then
    Filter &= iif(Filter > "",  " and  " ,"") & " 纸张名称 like '%" & ComboBox1  & "%'"
End If
Tables("纸张设置").Filter = Filter

这是我的查询代码,要改为后台查询,请问如何改?

 回到顶部
帅哥哟,离线,有人找我吗?
静听枫雨
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:255 积分:2152 威望:0 精华:0 注册:2013/6/8 22:41:00
  发帖心情 Post By:2017/11/18 10:11:00 [显示全部帖子]

谢谢版主,还有一个问题,就是添加的时候,ID重复,ID会接着第一页的最后一个往后走,而不是跟着后台数据的ID走

 回到顶部
帅哥哟,离线,有人找我吗?
静听枫雨
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:255 积分:2152 威望:0 精华:0 注册:2013/6/8 22:41:00
  发帖心情 Post By:2017/11/18 10:55:00 [显示全部帖子]

就是 我加载了一页 25条记录,然后我要向这个表添加数据时,是接着25条记录后面的ID添加,而不是从后台数据的最后ID添加,这个要怎么改, 添加的代码就是 Tables("纸张设置").AddNew()

 回到顶部
帅哥哟,离线,有人找我吗?
静听枫雨
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:255 积分:2152 威望:0 精华:0 注册:2013/6/8 22:41:00
  发帖心情 Post By:2017/11/18 10:58:00 [显示全部帖子]

因为他在当前页面添加数据,所以ID就跟后台的ID重复了

 回到顶部
帅哥哟,离线,有人找我吗?
静听枫雨
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:255 积分:2152 威望:0 精华:0 注册:2013/6/8 22:41:00
  发帖心情 Post By:2017/11/18 11:52:00 [显示全部帖子]


    With DataTables("纸张设置")
        .LoadFilter = "" '一定要清除加载条件
        .LoadTop = 25
        .LoadPage = 0
        .Load()
    End With
    With DataTables("客户表")
        .LoadFilter = "" '一定要清除加载条件
        .LoadTop = 25
        .LoadPage = 0
        .Load()
    End With

 

 

Dim bh As String = "KH"  & Format(Date.Today,"yyMMdd") '取得客户编号的8位前缀
If e.DataRow("客户ID").StartsWith(bh) = False '如果客户编号的前8位不符
    Dim max As String
    Dim idx As Integer
    max = e.DataTable.Compute("Max(客户ID)","客户ID like '" & BH & "*'") '取得该天的最大客户编号
    If max > "" Then '如果存在最大客户编号
        idx = CInt(max.Substring(8,2)) + 1 '获得最大客户编号的后三位顺序号,并加1
    Else
        idx = 1 '否则顺序号等于1
    End If
    e.DataRow("客户ID") = bh &  Format(idx,"00")
End If

 

 

ID会重复。

[此贴子已经被作者于2017/11/18 11:53:09编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
静听枫雨
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:255 积分:2152 威望:0 精华:0 注册:2013/6/8 22:41:00
  发帖心情 Post By:2017/11/18 12:09:00 [显示全部帖子]

以下是引用有点蓝在2017/11/18 11:55:00的发言:
max = e.DataTable.SqlCompute("Max(客户ID)","客户ID like '" & BH & "%'")
编号不会变啊,一直是一个编号,要保存才会变
[此贴子已经被作者于2017/11/18 12:09:02编辑过]

 回到顶部