Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

新手开发,怎么查询文本框中的日期是有效的

刘龙霞  发表于:2010-05-03 09:54:45  
复制

现在想做个抽签比赛软件,确定场地、日期和时间,可以把比赛项目出现在文本框中

现在不知道怎么引用控件选定的日期,和表中的日期是否匹配

 

 

Top
wang decheng 发表于:2010-05-03 12:17:42

设定"日期"文本框的格式为短日期;

查询时,条件为 

Like [Forms]![窗体]![日期]

 

*注:假定你的窗体名叫"窗体"



刘龙霞 发表于:2010-05-03 14:37:34

十分感谢

If Frame0 = 1 Then
    Text01.SetFocus
    If "#Text01.text#" In (Select 比赛日期 From 项目日程安排表 where 比赛场地="一号场地") Then
        If Frame1=1 Then Select ID,项目名称,总人数 From 项目日程安排表 Where (比赛场地="一号场地" , 比赛日期="#Text02#",比赛时间=Between 8:00AM and 12:00AM) INTO Text02
        Else If Frame1=2 Then Text02=(Select ID,项目名称,总人数 From 项目日程安排表 Where (比赛场地="一号场地" , 比赛日期="#Text02#",比赛时间=Between 13:00 and 18:00)
        Else If Frame1=3 Then Text02=(Select ID,项目名称,总人数 From 项目日程安排表 Where (比赛场地="一号场地" , 比赛日期="#Text02#",比赛时间=Between 18:00 and 22:00)
        End If
       
     Else: MsgBox "这天没有比赛,请选择正确日期!"
    End If
  Else  If Frame0 = 2 Then
   If Text01.SetFocus
    If "#Text01#" In (Select 比赛日期 From 项目日程安排表 where 比赛场地="二号场地")Then
        If Frame1=1 Then Text02.Text=(Select ID,项目名称,总人数 From 项目日程安排表 Where (比赛场地="二号场地" , 比赛日期="#Text02#",比赛时间=Between 8:00AM and 12:00AM)
        Else If Frame1=2 Then Text02.Text=(Select ID,项目名称,总人数 From 项目日程安排表 Where (比赛场地="二号场地" , 比赛日期="#Text02#",比赛时间=Between 13:00 and 18:00)
        Else If Frame1=3 Then Text02.Text=(Select ID,项目名称,总人数 From 项目日程安排表 Where (比赛场地="二号场地" , 比赛日期="#Text02#",比赛时间=Between 18:00 and 22:00)
        End If
       
     Else: MsgBox "这天没有比赛,请选择正确日期!"
    End If
   
    Else  If Frame0 = 3 Then
   If Text01.SetFocus
    If "#Text01#" In (Select 比赛日期 From 项目日程安排表 where 比赛场地="三号场地")Then
        If Frame1=1 Then Text02.Text=(Select ID,项目名称,总人数 From 项目日程安排表 Where (比赛场地="三号场地" , 比赛日期="#Text02#",比赛时间=Between 8:00AM and 12:00AM)
        Else If Frame1=2 Then Text02.Text=(Select ID,项目名称,总人数 From 项目日程安排表 Where (比赛场地="三号场地" , 比赛日期="#Text02#",比赛时间=Between 13:00 and 18:00)
        Else If Frame1=3 Then Text02.Text=(Select ID,项目名称,总人数 From 项目日程安排表 Where (比赛场地="三号场地" , 比赛日期="#Text02#",比赛时间=Between 18:00 and 22:00)
        End If
       
     Else: MsgBox "这天没有比赛,请选择正确日期!"
    End If
   End If

老报编译出错,就是想把查询结果输出到左下的Text02文本框,不知道该怎么写,大家帮帮忙吧



刘龙霞 发表于:2010-05-03 14:43:18

Frame0=1,一号场地

Frame0=2,二号场地

Frame0=3,三号场地

 

显示日期的文本框是Text01

 

Frame1=1,上午

Frame1=2,下午

Frame1=3,晚上

 

要查找的表是“项目日程安排表”

 

就是要把项目日程安排表中的项目信息输出到Text02中,有没有人会啊?



煮江品茶 发表于:2010-05-08 14:52:00

dim wh as string

.....

.....

wh="比赛场地='二号场地' and 比赛日期=#" & me.Text02.value & "# and 比赛时间=Between 8:00AM and 12:00AM"

me.Text02.value=dlookup("项目名称","项目日程安排表",wh)

me.Text02.value=me.Text02.value & " " & dlookup("总人数","项目日程安排表",wh)

.....

.....

 

三点建议:

1、场地采用组合框或列表框控件,这样可以直接取值不需用if转换;

2、日期和时间控件合并为一个控件,这样代码简化;

3、在多重判断的情况下,采用select case为妙。目前的if结构看得人眼睛骨折。



煮江品茶 发表于:2010-05-08 14:54:57
此外,可参见《图示化考场安排》一文,该文涉及的问题和你的问题接近。

总记录:5篇  页次:1/1 9 1 :