Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共10 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

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

1楼
scofields 发表于: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楼
有点蓝 发表于:2024/4/25 16:46:00
没看出代码有什么问题,不顺畅具体指什么?
3楼
scofields 发表于:2024/4/25 18:06:00
我想更改为根据新增行的客户ID值进行后台筛选子客户,因为我的子客户很多,不可能在项目发布后一次性加载出来,这样会影响程序运行。
4楼
有点蓝 发表于: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
5楼
scofields 发表于: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楼
有点蓝 发表于:2024/4/29 20:42:00
说明没有符合条件的数据
7楼
scofields 发表于:2024/4/29 20:44:00
找不到客户ID时就没有数据
8楼
有点蓝 发表于:2024/4/29 21:01:00
没有数据就是空白的,不就是对的么
9楼
scofields 发表于:2024/4/29 21:04:00
可我要筛选出数据,我看我的逻辑也没问题啊

10楼
有点蓝 发表于:2024/4/29 22:06:00
那就不清楚了。不如直接使用文字描述一下,具体要做什么功能。截图说明一下什么地方有问题
共10 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .04688 s, 2 queries.