Foxtable(狐表)用户栏目专家坐堂 → 甜老师,遇到这样一个问题了。


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

主题:甜老师,遇到这样一个问题了。

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


加好友 发短信
等级:四尾狐 帖子:822 积分:5782 威望:0 精华:0 注册:2015/2/3 22:19:00
甜老师,遇到这样一个问题了。  发帖心情 Post By:2018/10/16 18:56:00 [只看该作者]

此表A是外部表,在打开项目文件的时候,只是加载了一部份时间的数据。 现在要按某条件显示所有历史数据(不只是显示加载的这段时间的数据, 还要显示没有加载的数据)。 

If Forms("窗口1").Opened Then
    With DataTables("表A")
        Dim r As Row = e.Table.Current
        Dim s As String = "编号 = '"& r("编号") &"'"
        If r.Isnull("姓名") Then s = "1=2"
        Dim drs As List(Of DataRow) = e.Table.DataTable.Select(s & " And _Identify <> " & r("_Identify") & " And (日期 <= #" & r("日期") & "# Or 日期 Is Null)", "日期 Desc" )
' 这是在currentchanged事件里面最前段代码
...
...
...
这段代码只是显示加载的这一段时间的数据,不能显示所有。 要怎么修改一下呢? 
[此贴子已经被作者于2018/10/16 18:56:38编辑过]

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


加好友 发短信
等级:超级版主 帖子:110647 积分:563143 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/10/16 20:12:00 [只看该作者]

Dim drs As List(Of DataRow) = e.Table.DataTable.SQLSelect(s & " And _Identify <> " & r("_Identify") & " And (日期 <= #" & r("日期") & "# Or 日期 Is Null)", "日期 Desc" )


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


加好友 发短信
等级:四尾狐 帖子:822 积分:5782 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2018/10/17 9:28:00 [只看该作者]

不行, 改成SQLSelect...了, 什么数据都不显示了, 

另外改成:          Dim drs As List(Of DataRow) = DataTables("表A").SQLSelect(s & " And _Identify <> " & r("_Identify") & " And (日期 <= #" & r("日期") & "# Or 日期 Is Null)", "日期 Desc" )

也不显示任何数据


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/10/17 9:36:00 [只看该作者]

改成
 
Dim str = s & " And _Identify <> " & r("_Identify") & " And (日期 <= #" & r("日期") & "# Or 日期 Is Null)"
msgbox(str)
Dim drs As List(Of DataRow) = e.Table.DataTable.SQLSelect(str, "", "日期 Desc" )
 

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


加好友 发短信
等级:四尾狐 帖子:822 积分:5782 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2018/10/17 9:48:00 [只看该作者]

还是不行,任何数据都不显示。

我的完整代码是这样的。 

If Forms("窗口1").Opened Then
    With DataTables("表A")
        Dim r As Row = e.Table.Current
        Dim s As String = "编号 = '"& r("编号") &"'"
        If r.Isnull("姓名") Then s = "1=2"

         Dim str = s & " And _Identify <> " & r("_Identify") & " And (日期 <= #" & r("日期") & "# Or 日期 Is Null)"
        Dim drs As List(Of DataRow) = e.Table.DataTable.SQLSelect(str, "", "日期 Desc" ) 


      If drs.Count > 0 Then
            Forms("历史数据").Controls("TextBox1").Text = drs(0)("姓名")
            Forms("历史数据").Controls("TextBox2").Text = drs(0)("地址")
            Forms("历史数据").Controls("TextBox3").Text = drs(0)("日期")
...
...
...
end if

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/10/17 9:59:00 [只看该作者]

1、msgbox(str)弹出什么?

 

2、str的内容,在你数据库那里查看,看有没有数据。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/10/17 10:01:00 [只看该作者]

或者试试改成

 

Dim str = s & " And [_Identify] <> " & r("_Identify") & " And (日期 <= #" & r("日期") & "# Or 日期 Is Null)"


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


加好友 发短信
等级:四尾狐 帖子:822 积分:5782 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2018/10/17 10:07:00 [只看该作者]

以下是引用有点甜在2018/10/17 10:01:00的发言:

或者试试改成

 

Dim str = s & " And [_Identify] <> " & r("_Identify") & " And (日期 <= #" & r("日期") & "# Or 日期 Is Null)"




改了, 还是不行,

msgbox(str)弹出的是这样: 



图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20181017100414.png
图片点击可在新窗口打开查看

 


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


加好友 发短信
等级:四尾狐 帖子:822 积分:5782 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2018/10/17 10:10:00 [只看该作者]

str的内容,在你数据库那里查看,看有没有数据。

A: 有数据的, 

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/10/17 10:15:00 [只看该作者]

实例发上来测试。

 回到顶部
总数 16 1 2 下一页