Foxtable(狐表)用户栏目专家坐堂 → 关于关联数据选择问题


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

主题:关于关联数据选择问题

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


加好友 发短信
等级:二尾狐 帖子:534 积分:4261 威望:0 精华:0 注册:2016/4/17 20:05:00
关于关联数据选择问题  发帖心情 Post By:2024/4/25 15:58:00 [只看该作者]

T_客户表与T_子客户表通过客户ID(S QL数据类型为int),以下代码是想通过子客户录入窗口来实现子客户录入,其中的textbox要实现根据已当前行已选择的客户ID来选择对应的子客户ID,但以下代码好像运行不是那么顺畅,我尝试的几遍,请帮忙修改。

Dim n As Integer
Dim s As String  
Dim tbl As Table  
  
' 假设您想从当前记录中获取客户ID  
n = Tables("T_计划单").Current.DataRow("客户ID")  
  
' 获取文本框的值,这通常用于用户输入或选择  
s = e.Form.Controls("TextBox1").Text  
  
' 获取子客户表  
tbl = Tables("选择子客户_Table1")  
  
' 根据需要设置过滤条件  
If n > 0 Then ' 假设客户ID是一个正整数,检查它是否有效  
    ' 设置过滤器来匹配客户ID  
    tbl.Filter = "客户ID = " & CStr(n) ' 使用CStr将整数转换为字符串以构建有效的过滤条件  
Else  
    ' 清除过滤器,如果客户ID无效或不存在  
    tbl.Filter = ""  
End If

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106610 积分:542227 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/4/25 16:46:00 [只看该作者]

没看出代码有什么问题,不顺畅具体指什么?

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


加好友 发短信
等级:二尾狐 帖子:534 积分:4261 威望:0 精华:0 注册:2016/4/17 20:05:00
  发帖心情 Post By:2024/4/25 18:06:00 [只看该作者]

我想更改为根据新增行的客户ID值进行后台筛选子客户,因为我的子客户很多,不可能在项目发布后一次性加载出来,这样会影响程序运行。

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106610 积分:542227 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/4/25 20:27:00 [只看该作者]

Filter 只能筛选已加载的数据,要从后台查询,应该使用load:http://www.foxtable.com/webhelp/topics/1928.htm

dim f as string
If n > 0 Then ' 假设客户ID是一个正整数,检查它是否有效  
    ' 设置过滤器来匹配客户ID  
    f = "客户ID = " & n ' 使用CStr将整数转换为字符串以构建有效的过滤条件  
End If
DataTables("T_子客户表").LoadFilter = f
DataTables(
"
T_子客户表").Load

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


加好友 发短信
等级:二尾狐 帖子:534 积分:4261 威望:0 精华:0 注册:2016/4/17 20:05:00
  发帖心情 Post By:2024/4/29 20:31:00 [只看该作者]

这段代码怎么执行都显示T_子客户为空白表,不知道怎么回事?请帮忙修改一下
Dim n As Integer  
Dim tbl As Table  
Dim f As String  '从当前记录中获取客户ID  
n = Tables("T_计划单").Current.DataRow("客户ID")  
' 假设n是一个有效的客户ID  
If n > 0 Then  
    ' 构建过滤条件  
    f = "客户ID=" & cdbl(n)
    ' 设置子客户表的过滤条件  
    DataTables("T_子客户").LoadFilter = f  
    ' 重新加载子客户表以应用过滤器  
    DataTables("T_子客户").Load()     
   End If

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106610 积分:542227 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/4/29 20:42:00 [只看该作者]

说明没有符合条件的数据

 回到顶部
帅哥哟,离线,有人找我吗?
scofields
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:534 积分:4261 威望:0 精华:0 注册:2016/4/17 20:05:00
  发帖心情 Post By:2024/4/29 20:44:00 [只看该作者]

找不到客户ID时就没有数据

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106610 积分:542227 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/4/29 21:01:00 [只看该作者]

没有数据就是空白的,不就是对的么

 回到顶部
帅哥哟,离线,有人找我吗?
scofields
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:534 积分:4261 威望:0 精华:0 注册:2016/4/17 20:05:00
  发帖心情 Post By:2024/4/29 21:04:00 [只看该作者]

可我要筛选出数据,我看我的逻辑也没问题啊


 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106610 积分:542227 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/4/29 22:06:00 [只看该作者]

那就不清楚了。不如直接使用文字描述一下,具体要做什么功能。截图说明一下什么地方有问题

 回到顶部