以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  加载问题-1  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=188808)

--  作者:lin98
--  发布时间:2023/10/20 9:30:00
--  加载问题-1
如何实现以当前登录的用户加载,如果当前登录的用户是UsersID按UsersID加载数据,如果当前登录的用户不是UsersID,按从sjID中当前登录的用户的UsersID加载?

图片点击可在新窗口打开查看此主题相关图片如下:加载问题.jpg
图片点击可在新窗口打开查看


Dim dr2 As DataRow
Dim s As String 
s = dr2("sjID")
Dim Filter As String
\'Filter = " 录入者 =\'" & _UserName & "\'    or  _UserName In (\'" & s.replace(",", "\',\'") & "\') "
msgbox(Filter)
DataTables("订单").LoadFilter = Filter
DataTables("订单").Load()

执行后报错
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.18.1
错误所在事件:窗口,窗口1,AfterLoad
详细错误信息:
未将对象引用设置到对象的实例。

--  作者:有点蓝
--  发布时间:2023/10/20 9:39:00
--  
1、dr2定义后没有赋值,是一个空行,无法使用
2、userid里存储的是8这种数字,录入者里存储的是张三,2者有何关系?

--  作者:lin98
--  发布时间:2023/10/20 9:52:00
--  
userid是张三的编号

Users表:
userid   姓名    SJID
8          张三    4,5

--  作者:有点蓝
--  发布时间:2023/10/20 10:04:00
--  
Dim dr2 As DataRow = DataTables("Users").Find(...............
--  作者:lin98
--  发布时间:2023/10/20 15:03:00
--  
Dim Filter As String
Dim dr1 As DataRow = Tables("订单").Current.DataRow
Filter = " [UserID] = \'" & dr1("UserID") & "\' or  [sjID] = \'" & dr1("sjID") & "\' "
msgbox(Filter)
DataTables("订单").LoadFilter = Filter
DataTables("订单").Load()

上面加载sjID的数据

需求是:当前登记用户(录入者,UserID(是录入者的UserID)是录入者的UserID ,按UserID加载,如果当前登记用户不录入者的UserID ,按sjID加载?

--  作者:有点蓝
--  发布时间:2023/10/20 15:18:00
--  
Dim Filter As String
Dim dr1 As DataRow = DataTables("Users").Find("姓名=\'" & _UserName & "\'")