以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  有条件的加载表中订单,代码应该怎么改写?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=147677)

--  作者:fengwenliuyan
--  发布时间:2020/3/21 19:28:00
--  有条件的加载表中订单,代码应该怎么改写?
1、
表A加载“用户名<>当前登录用户名,且客户名称不为空的行”

If e.DataTableName = "表A" Then
    e.S electString = "S elect * From {表A} Where
[用户名] <> \'" & User.Name & "\' andalso [客户] is not nothing"
End If

以上这段代码应该怎么改才对?


2、
若是放在筛选按钮里,下面这段代码又应该怎么写?

DataTables("表A").LoadFilter = ""
DataTables("表A").Load
Tables("表A窗口_表A").Position = Tables("表A窗口_表A").Rows.Count - 1

--  作者:fengwenliuyan
--  发布时间:2020/3/22 11:08:00
--  
求帮助
--  作者:fengwenliuyan
--  发布时间:2020/3/22 13:14:00
--  
没人吗?求帮助?

1、
窗口事件的的Afterload中写道:
If e.DataTableName = "表A" Then
    e.S electString = "S elect * From {表A} Where [用户名] <> \'" & User.Name & "\' andalso [客户] is not nothing"
End If

结果:但是提示错误

2、
或者这样写,也出错:
DataTables("表A").LoadFilter = "[用户名] <> \'" & User.Name & "\' andalso [客户] is not nothing"
DataTables("表A").Load

3、
第二条的筛选按钮,我写了:
If Filter > "" Then
DataTables("表A").LoadFilter = "[用户名] <> \'" & User.Name & "\' andalso [客户] is not nothing"
DataTables("表A").Load
End If

也提示错误:加载失败
[此贴子已经被作者于2020/3/22 13:15:15编辑过]

--  作者:有点蓝
--  发布时间:2020/3/22 22:08:00
--  
1、e.S electString = "S elect * From {表A} Where [用户名] <> \'" & User.Name & "\' and [客户] is not null"

2/3、同上用法

帮助【SQL相关】这章内容建议好好看看

--  作者:fengwenliuyan
--  发布时间:2020/3/23 0:20:00
--  回复:(有点蓝)1、e.S electString = "S ...
重点在于,我想要的是,不加载制定条件的数据行啊?
这个代码应该怎么改?
若是用加载方法写,有点太繁琐?
求帮助?在上面第一条中有明确写到了!

--  作者:fengwenliuyan
--  发布时间:2020/3/23 0:55:00
--  回复:(有点蓝)1、e.S electString = "S ...
而且,上面一楼的第三条的筛选按钮,原来的代码是:
Dim Filter As String

With e.Form.Controls("品名规格")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "品名规格 = \'" & .Value & "\'"
    End If
End With


If Filter > "" Then
    Tables("表A窗口_表A").DataTable.loadFilter = Filter
    Tables("表A窗口_表A").DataTable.load
End If

现在要加一个判断:不加载“非当前登录用户名,且客户名称为空”的行?

我琢磨着写了一段,但是,失败了:
Dim Filter As String

With e.Form.Controls("品名规格")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "品名规格 = \'" & .Value & "\'"
    End If
End With


If Filter > "" Then
    Tables("意和表窗口_意和表").DataTable.loadFilter = Filter And "[用户名] = \'" & User.Name & "\' and [客户] is null or [客户] is not null"
    Tables("表A窗口_表A").DataTable.load
End If

求帮助?


--  作者:有点蓝
--  发布时间:2020/3/23 9:04:00
--  
Dim Filter As String = "[用户名] = \'" & User.Name & "\' and [客户] is not null "

With e.Form.Controls("品名规格")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "品名规格 = \'" & .Value & "\'"
    End If
End With


If Filter > "" Then
    Tables("表A窗口_表A").DataTable.loadFilter = Filter
    Tables("表A窗口_表A").DataTable.load
End If