以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]窗体中日期格式及时间返回的问题请教  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=28195)

--  作者:zoki
--  发布时间:2013/1/22 11:23:00
--  [求助]窗体中日期格式及时间返回的问题请教

各位好:

      目前初步学习狐表系统中,现在在制作一个很小的项目,主要是以查询数据为主。现有两个问题请教,请老手不吝赐教:

      1: 窗体中,下来菜单取表中的日期或时间,但下拉中的时间/日期老是显示为1900/1/1 **:**:**, 希望下拉直接显示为**:**或**:**:**

      2: 窗体中,下拉固定显示为“已过期”,“一月内过期”,“1-3月过期”等,希望通过today函数抓取系统当天日期后,和表中对应字段中的日期对比后,

            自动通过“已过期”,“一月内过期”,“1-3月过期”等条件返回结果。例如今天为12年1月1日,表中日期为11年1月1日,选择“已过期”后,系统能

            筛选出相应的结果(通过窗体中的“查询”按钮得出结果,及放在“查询”按钮的相应事件中)

 

      以上两个问题的窗体均指附件项目中的"营业信息查询"窗体。

 

    

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:禾绿查询系统 - 副本.rar


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

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

--  作者:dreamyuan
--  发布时间:2013/1/22 12:10:00
--  

已过期  dr("过期日期") < Date.Today

Dim t As TimeSpan

t = dr("过期日期") - Date.Today

t.day < 30 一个月内 

t.day < 90 1至3个月内


--  作者:lin_hailun
--  发布时间:2013/1/22 12:16:00
--  
 大概这样。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:禾绿查询系统.table



--  作者:dreamyuan
--  发布时间:2013/1/22 12:43:00
--  
Dim filter As String
Dim sl As String = e.Form.Controls("ComBoBox1").Text
Select Case sl
    Case "已过期"
        filter = "过期日期 <  #" & Date.ToDay & "#"
    Case "一个月内到期"
        filter = "过期日期 > = #" & Date.ToDay & "# And 过期日期 < = #" & Date.Today.AddDays(30) & "#"
    Case "1-3个月到期"
        filter = "过期日期 > = #" & Date.ToDay.AddDays(30) & "# And 过期日期 < = #" & Date.Today.AddDays(90) & "#"
    Case "3-6个月到期"
        filter = "过期日期 > = #" & Date.ToDay.AddDays(90) & "# And 过期日期 < = #" & Date.Today.AddDays(180) & "#"
    Case "6-9个月到期"
        filter = "过期日期 > = #" & Date.ToDay.AddDays(180) & "# And 过期日期 < = #" & Date.Today.AddDays(270) & "#"
    Case "9-12个月到期"
        filter = "过期日期 > = #" & Date.ToDay.AddDays(270) & "# And 过期日期 < = #" & Date.Today.AddDays(360) & "#"
    Case "一年后到期"
        filter = "过期日期 > = #" & Date.ToDay.AddDays(360) & "#"
End Select
Tables("表A").Filter = filter

--  作者:dreamyuan
--  发布时间:2013/1/22 12:43:00
--  

一个月按30天算,不知道有没有更简单的方法没,这是偶的方法


--  作者:dreamyuan
--  发布时间:2013/1/22 12:51:00
--  

呵呵, 应该用林老师的更准确改成这样

Dim filter As String
Dim sl As String = e.Form.Controls("ComBoBox1").Text
Select Case sl
    Case "已过期"
        filter = "过期日期 <  #" & Date.ToDay & "#"
    Case "一个月内到期"
        filter = "过期日期 > = #" & Date.ToDay & "# And 过期日期 < = #" & Date.Today.AddMonths(1) & "#"
    Case "1-3个月到期"
        filter = "过期日期 > = #" & Date.ToDay.AddMonths(1) & "# And 过期日期 < = #" & Date.Today.AddMonths(3) & "#"
    Case "3-6个月到期"
        filter = "过期日期 > = #" & Date.ToDay.AddMonths(3) & "# And 过期日期 < = #" & Date.Today.AddMonths(6) & "#"
    Case "6-9个月到期"
        filter = "过期日期 > = #" & Date.ToDay.AddMonths(6) & "# And 过期日期 < = #" & Date.Today.AddMonths(9) & "#"
    Case "9-12个月到期"
        filter = "过期日期 > = #" & Date.ToDay.AddMonths(9) & "# And 过期日期 < = #" & Date.Today.AddYears(1) & "#"
    Case "一年后到期"
        filter = "过期日期 > = #" & Date.ToDay.AddYears(1) & "#"
End Select
Tables("表A").Filter = filter


--  作者:zoki
--  发布时间:2013/1/22 13:03:00
--  

继续有问题,表中的字段是时间日期型,下拉中手工添加成了“已过期”,“一月内过期”,“1-3月过期”等文本型,点击查询按钮后,系统提示:"该字符串未被识别为有效的 DateTime。有一个从索引 0 处开始的未知字。"

 

请问是否需要做转换?如果做转换的话,该怎么做呢?

 

PS:各位大侠,第一个问题也帮忙回复下哈

 

谢谢~~~


--  作者:lin_hailun
--  发布时间:2013/1/22 13:47:00
--  
 第一个问题不是也回复了么?

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:禾绿查询系统.table


--  作者:zoki
--  发布时间:2013/1/22 14:11:00
--  

谢谢,第一个问题已经解决了。

 

请问第二个问题中,字段转换该怎么操作呢?


--  作者:lin_hailun
--  发布时间:2013/1/22 14:18:00
--  
 你说的第一个问题的字段转换,是什么意思?

 不是也已经解决了么?