设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1802|回复: 5
打印 上一主题 下一主题

[模块/函数] 麻烦高手老看一下,这样的vba 怎样写的简短些

[复制链接]
跳转到指定楼层
1#
发表于 2009-3-12 17:40:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 popo559 于 2009-3-12 17:42 编辑

编号少的话可以自己写写,多的话就麻烦大了,请高手指点一个好的方法学习学习,先谢拉

Private Sub Command5_Click()
DoCmd.RunSQL "UPDATE 车号 SET 车号.是否已空 =no  WHERE 车号.编号=5"
Forms!开单!车号 = "5"
DoCmd.Close
End Sub

Private Sub Command6_Click()
DoCmd.RunSQL "UPDATE 车号 SET 车号.是否已空 =no  WHERE 车号.编号=6"
Forms!开单!车号 = "6"
DoCmd.Close
End Sub

Private Sub Command7_Click()
DoCmd.RunSQL "UPDATE 车号 SET 车号.是否已空 =no  WHERE 车号.编号=7"
Forms!开单!车号 = "7"
DoCmd.Close
End Sub

Private Sub Command8_Click()
DoCmd.RunSQL "UPDATE 车号 SET 车号.是否已空 =no  WHERE 车号.编号=8"
Forms!开单!车号 = "8"
DoCmd.Close
End Sub

Private Sub Command9_Click()
DoCmd.RunSQL "UPDATE 车号 SET 车号.是否已空 =no  WHERE 车号.编号=9"
Forms!开单!车号 = "9"
DoCmd.Close
End Sub

Private Sub Command10_Click()
DoCmd.RunSQL "UPDATE 车号 SET 车号.是否已空 =no  WHERE 车号.编号=10"
Forms!开单!车号 = "14"
DoCmd.Close
End Sub


Private Sub Form_Load()
      Me.KeyPreview = True
      
      If DLookup("是否已空", "车号", "编号=1") = 0 Then
      Me.Command1.Enabled = False
      End If
       If DLookup("是否已空", "车号", "编号=2") = 0 Then
      Me.Command2.Enabled = False
      End If
       If DLookup("是否已空", "车号", "编号=3") = 0 Then
      Me.Command3.Enabled = False
      End If
       If DLookup("是否已空", "车号", "编号=4") = 0 Then
      Me.Command4.Enabled = False
      End If
       If DLookup("是否已空", "车号", "编号=5") = 0 Then
      Me.Command5.Enabled = False
      End If
       If DLookup("是否已空", "车号", "编号=6") = 0 Then
      Me.Command6.Enabled = False
      End If

end sub
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2009-3-12 19:12:08 | 只看该作者
本帖最后由 todaynew 于 2009-3-12 19:13 编辑

没看明白,为什么要用这么多按钮?
3#
 楼主| 发表于 2009-3-12 21:01:57 | 只看该作者
恩,以后按钮可以换成图片,主要目的是给操作员直观的感觉,按钮按下去,这个车号就算是被占用了,但是如果车号很多的话(当然也不会无限多下去,总是有个固定的数),要一句一句这样写下去很麻烦,我是想有没有简单的办法。vba水平有限。。。。
4#
发表于 2009-3-12 21:06:45 | 只看该作者
Private Sub Command5_Click()
    cmdCommon 5
    'cmdCommon replace(Me.ActiveControl.Name,"Command") //also available - ACMAIN
End Sub
Private Sub Command6_Click()
    cmdCommon 6
End Sub
Private Sub Command7_Click()
    cmdCommon 7
End Sub
Private Sub Command8_Click()
    cmdCommon 8
End Sub
Private Sub Command9_Click()
    cmdCommon 9
End Sub
Private Sub Command10_Click()
    cmdCommon 10
End Sub

Private Sub cmdCommon(iNum as integer)
    DoCmd.RunSQL "UPDATE 车号 SET 是否已空 =no  WHERE 编号=" & iNum
    Forms!开单!车号 = iNum
    DoCmd.Close
end sub





Private Sub Form_Load()
      Me.KeyPreview = True
      
      Me.Command1.Enabled = not isnull(DLookup("是否已空", "车号", "编号=1"))
      Me.Command2.Enabled = not isnull(DLookup("是否已空", "车号", "编号=2"))
      Me.Command3.Enabled = not isnull(DLookup("是否已空", "车号", "编号=3"))
      Me.Command4.Enabled = not isnull(DLookup("是否已空", "车号", "编号=4"))
      Me.Command5.Enabled = not isnull(DLookup("是否已空", "车号", "编号=5"))
      Me.Command6.Enabled = not isnull(DLookup("是否已空", "车号", "编号=6"))
end sub



******************
*  一切皆有可能  *
******************

.
ACMAIN - Access论坛回贴准则(个人).
.

.
QQ群 48866293 / 12035577 / 7440532 / 13666209
http://www.accessbbs.cn/bbs/index.php .
http://www.accessoft.com/bbs/index.asp .
http://www.access-programmers.co.uk/forums .
http://www.office-cn.net .
.
http://www.office-cn.net/home/space.php?uid=141646 .
5#
 楼主| 发表于 2009-3-12 21:15:26 | 只看该作者
速度好快,,谢啦,这就去试试看
6#
发表于 2009-3-12 21:36:27 | 只看该作者
Command10_Click()编号10,控件显示为14,不知道谁对谁错
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-29 02:57 , Processed in 0.106268 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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