设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 2810|回复: 11
打印 上一主题 下一主题

[Access本身] 请教以下情况用IF语句怎么表达(未解决,已更新问题的表达)

[复制链接]
跳转到指定楼层
1#
发表于 2006-4-27 20:58:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我做了个练习,想在打开窗体的时候隐藏施工队伍、负责人、承包人、承包人施工队伍。只能在是否承包的选项里选YES或NO的时候另一个承包形式控件会判断这个值来填写自建或是他人承包来判断是否隐藏一些控件和显示一个控件,如显示自建时显示施工队伍,负责人这两个控件而隐藏承包人和承包人施工队伍这两个控件。如果显示他人承包的时候就显示承包人和承包人施工队伍而隐藏施工队伍和负责人,如果承包形式控件值等于Null的时候这四个控件都隐藏。

我现在只做了个Form_Load事件来处理的这个窗体一打开时就隐藏这四个控件,但是只要我选了YES或NO显示出来的控件都不再隐藏,请问如何用IF语句来实现这些功能?

private sub Form_load()

    施工队伍.Visible = False
    负责人.Visible = False
    承包人.Visible = False
    承包人施工队伍.Visible = False
End Sub

29日晚9点30分更新的例子



[此贴子已经被作者于2006-4-29 21:37:46编辑过]

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2006-4-27 21:37:00 | 只看该作者
If...Then...Else 语句示例

本示例示范 If...Then...Else 语句的两种格式:“区块格式”及“单行格式”,也示范了 If TypeOf...Then...Else 的用法。

  1. Dim Number, Digits, MyString

  2. Number = 53    '
复制代码
设置变量初始值。
  1. If Number < 10 Then
复制代码

   
  1. Digits = 1
复制代码
  1. ElseIf Number < 100 Then
复制代码

  1. '
复制代码
若判断结果为
  1. True
复制代码
,则完成下一行语句。   
  1. Digits = 2
复制代码

  1. Else
复制代码
  
  1. Digits = 3
复制代码
  1. End If
复制代码

  1. '
复制代码
使用“单行格式”语法来设置变量值。

  1. If Digits = 1 Then MyString = "One" Else MyString = "More than one"
复制代码



利用 If TypeOf 可以判断传入过程的控件是否为一文本框。

  1. Sub ControlProcessor(MyControl As Control)

  2.     If TypeOf MyControl Is CommandButton Then

复制代码
      
  1. Debug.Print "You passed in a " & TypeName(MyControl)
复制代码

  1.     ElseIf TypeOf MyControl Is CheckBox Then
复制代码

      
  1. Debug.Print "You passed in a " & TypeName(MyControl)
复制代码

  1.     ElseIf TypeOf MyControl Is TextBox Then
复制代码

      
  1. Debug.Print "You passed in a " & TypeName(MyControl)
复制代码

  1.     End If
复制代码
  1. End Sub
复制代码
3#
发表于 2006-4-27 21:45:00 | 只看该作者


  if YES.value=true then

  施工队伍.Visible = true
    负责人.Visible = true

    承包人.Visible = true
    承包人施工队伍.Visible = true
  end if  

-----
论坛是我们成长的家园,我们要共同爱护好、建设好这个家园。同时欢迎大家光临我
的主页:http://www.qhpsoft.com
4#
 楼主| 发表于 2006-4-28 00:33:00 | 只看该作者
谢谢一点通老师,我先照你的例子去试试看。

qhp-soft,您的这个IF语句只是判断YES或NO来判断四个控件为显示出来,不是判断YES/NO来显示符合条件的控件和隐藏不符合条件的控件吧。
5#
 楼主| 发表于 2006-4-28 01:04:00 | 只看该作者
现在这个窗体的更新有了一个新问题就是我在选了YES或NO的时候显示出来的控件在我接ESC取消输入的时候不会隐藏控件,要用什么办法才能使我按下ESC键的时候重新执行这段窗体读取事件呢?

private sub Form_load()



    施工队伍.Visible = False
    负责人.Visible = False
    承包人.Visible = False
    承包人施工队伍.Visible = False
     



End Sub
6#
发表于 2006-4-28 04:32:00 | 只看该作者
简化你的例子传上来吧,或者看一下MsgBox()的使用方法

[此贴子已经被作者于2006-4-27 20:36:12编辑过]

7#
 楼主| 发表于 2006-4-29 06:01:00 | 只看该作者
对不起,今天工作工作忙例子上传晚了,我也在贴子的最前面增加了例子的下载。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
8#
 楼主| 发表于 2006-4-29 20:31:00 | 只看该作者
我顶啊
9#
发表于 2006-4-29 21:51:00 | 只看该作者
不是十分明你的意思,是否这样?


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
10#
 楼主| 发表于 2006-4-29 23:06:00 | 只看该作者
不是这样,我的意思是选了自建的时候只能显示并填写承包人和承包人施工队,而隐藏负责人和施工队并不能填写,而选他人承包的时候只显示承包人和承包人施工队,而隐藏负责人和施工队这两个。还有当你输入完一条记录之后,点击添加新记录的时窗体并不没有再运行FORM_LOAD事件,上次记录时显示出来的控件并不能在点添加新记录后全部隐藏起来。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-26 07:38 , Processed in 0.114370 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表