以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  加载数据时怎么默认只加载本月数据  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=28285)

--  作者:冰31脚
--  发布时间:2013/1/24 11:52:00
--  加载数据时怎么默认只加载本月数据
我的表一打开就会加载所有数据,所以比较慢,怎么能在打开时默认只加载当月的数据?
--  作者:lin_hailun
--  发布时间:2013/1/24 13:39:00
--  
http://www.foxtable.com/help/topics/0669.htm

http://www.foxtable.com/help/topics/0670.htm
--  作者:冰31脚
--  发布时间:2013/1/24 17:48:00
--  

If e.DataTableName = "综管" AndAlso e.User.Name = "user" Then
    Dim StartDate As New Date(Date.Today.Year, 1, 1)
    Dim EndDate As New Date(Date.Today.Year, 12 ,31)
    e.SelectString = "Select * From {综管} Where [月份营运报表_日期] >= #" & StartDate & "# And   [月份营运报表_日期] <= #" & EndDate & "#"
End If

 

这个可以写成按年加载的是可以的,我把代码改成

If e.DataTableName = "综管" AndAlso e.User.Name = "user" Then
    Dim StartDate As New Date(Date.Today.month,0, 1)
    Dim EndDate As New Date(Date.Today.month,0,31)
    e.SelectString = "Select * From {综管} Where [月份营运报表_日期] >= #" & StartDate & "# And   [月份营运报表_日期] <= #" & EndDate & "#"
End If

提示:

 

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

 

 

If e.DataTableName = "综管" AndAlso e.User.Name = "user" Then
    Dim StartDate As New Date(Date.Today.month, 1)
    Dim EndDate As New Date(Date.Today.month,31)
    e.SelectString = "Select * From {综管} Where [月份营运报表_日期] >= #" & StartDate & "# And   [月份营运报表_日期] <= #" & EndDate & "#"
End If

 

 

都加载不了

提示:

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

麻烦林老师再帮忙看下,按月加载应该怎么写

[此贴子已经被作者于2013-1-24 17:49:30编辑过]

--  作者:lin_hailun
--  发布时间:2013/1/24 17:53:00
--  
 这样。

If e.DataTableName = "综管" AndAlso e.User.Name = "user" Then
    Dim StartDate As New Date(Date.Today.Year, Date.Today.month, 1)
    Dim EndDate As Date = StartDate.AddMonths(1)
    e.SelectString = "Select * From {综管} Where [月份营运报表_日期] >= #" & StartDate & "# And   [月份营运报表_日期] < #" & EndDate & "#"
End If

--  作者:dreamyuan
--  发布时间:2013/1/24 17:53:00
--  

有的没31号

 


--  作者:冰31脚
--  发布时间:2013/1/24 17:58:00
--  

汗,这个StartDate.AddMonths(1)

是怎么包含到当月所有日期的


--  作者:dreamyuan
--  发布时间:2013/1/24 17:59:00
--  

 Dim StartDate As New Date(Date.Today.Year,Date.Today.month, 1)
 Dim EndDate As New Date(Date.Today.year,Date.Today.Month,Date.DaysInMonth(Date.Today.Year,Date.Today.Month))
试试


--  作者:dreamyuan
--  发布时间:2013/1/24 18:01:00
--  
Date.DaysInMonth(Date.Today.Year,Date.Today.Month) 返回当月的总天数
--  作者:冰31脚
--  发布时间:2013/1/24 18:22:00
--  
好的 非常感谢的两位指导
--  作者:dreamyuan
--  发布时间:2013/1/24 19:21:00
--  

If e.DataTableName = "综管" AndAlso e.User.Name = "user" Then
   Dim nYear  As Integer  = Date.Today.Year  \'当前年
   Dim nMonth As Integer = Date.Today.Month 
  \'当前月

   e.SelectString = "Select * From {综管} Where Year(月份营运报表_日期) = " & nYear & "  And   Month(月份营运报表_日期) =" & nMonth

End If

 应该也行