Rss & SiteMap

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

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

标题:报错至少一个参数没有被指定值

11楼
lin98 发表于:2024/6/18 14:49:00
需求:如果当前用户是入库明细的制单人,只能加载本人数据,如果当前用户是入库明细的制单人的主管,通过ID和ID2加载其下属所有数据,
用上面方法报错,如何解决?
或有更好的方法?
12楼
有点蓝 发表于:2024/6/18 15:11:00
s = (dr2("ID") & "," & dr2("ID2")).Trim(",") '定义变量为S
13楼
lin98 发表于:2024/6/18 16:33:00
如果当前用户是管理员,因为管理员可以看全部数据,他"ID2"的值会很多,如:"ID2"(2,3,4,5,6,、、、、),会影响加载数据速度,管理员如何加载数据?
14楼
有点蓝 发表于:2024/6/18 16:57:00
如果确实是【全部】,去掉这个条件就行了。如果也只是【大部分】,没有其它办法,只能in查询,慢也只能忍着。

要真的想快,就尽量不要使用多值字段存储数据,改为按行存储,比如ID2有10个值,那么就存10行,然后通过2表关联的方式查询
15楼
lin98 发表于:2024/6/19 8:39:00
全局变量
Public _UserName As String '
Public _UserGroup As String '
Public _UserBm As String '
Public _UserFz As String '


事件
If _UserGroup = "总监" Then
    Dim Sq-l2 = "selec-t * from  入库明细  where  (Bm= '" & _UserBm & "'')"
    Dim dt2 As system.data.DataTable = db.ExecuteDataSet(Sql-2).Tables(0)
    Dim t2 As Table = e.Form.Controls("Table1").Table
    t2.datasource = dt2.Copy
    t2.AllowEdit = False '
Else
    Dim Sq-l6 = "selec-t * from  入库明细  where  (制单人= '" & _Username & "')"
    Dim dt6 As system.data.DataTable = db.ExecuteDataSet(Sq-l6).Tables(0)
    Dim t6 As Table = e.Form.Controls("Table1").Table
    t6.datasource = dt6.Copy
    t6.AllowEdit = False '
End If

执行报错:
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.18.1
错误所在事件:窗口,入库查询窗口,多条件1,Click
详细错误信息:
字符串的语法错误 在查询表达式 '(Bm= ''')' 中。

问题一:Public _UserGroup As String ',_UserGroup:User这个狐表固定写法?还是用户表的表名?
问题二:制单人= '" & _Username & "'这个使用全局变量,是正常使用,
              Bm= '" & _UserBm & "''这个同样使用全局变量,却报错,是什么原因,如何解决?
16楼
有点蓝 发表于:2024/6/19 8:44:00
1、就是跟变量名称而已,没有固定写法,可以使用任何自己喜欢的名称

2、很明显_UserBm没有值,是空值,并且sql里多了个单引号
17楼
lin98 发表于:2024/6/19 9:37:00
全局变量
Public _UserName As String '
Public _UserGroup As String '
Public _UserBm As String '
Public _UserFz As String '


事件
If _UserGroup = "总监" Then
    Dim Sq-l2 = "selec-t * from  销售表  where  (Bm= '" & _UserBm & "')"
    Dim dt2 As system.data.DataTable = db.ExecuteDataSet(Sql-2).Tables(0)
    Dim t2 As Table = e.Form.Controls("Table1").Table
    t2.datasource = dt2.Copy
    t2.AllowEdit = False '
Else
    Dim Sq-l6 = "selec-t * from  销售表  where  (制单人= '" & _Username & "')"
    Dim dt6 As system.data.DataTable = db.ExecuteDataSet(Sq-l6).Tables(0)
    Dim t6 As Table = e.Form.Controls("Table1").Table
    t6.datasource = dt6.Copy
    t6.AllowEdit = False '
End If

有值却找不到,无效?

此主题相关图片如下:全局变量.png
按此在新窗口浏览图片

18楼
有点蓝 发表于:2024/6/19 9:53:00
登录的时候没有给_UserBm赋值
19楼
lin98 发表于:2024/6/19 15:10:00

[此贴子已经被作者于2024/6/19 15:25:34编辑过]
20楼
lin98 发表于:2024/6/19 15:12:00

[此贴子已经被作者于2024/6/19 15:25:08编辑过]
共24 条记录, 每页显示 10 条, 页签: [1] [2] [3]

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

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