设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[其它] 帮忙

[复制链接]
跳转到指定楼层
1#
发表于 2004-4-11 02:36:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在“购买合同”窗体里设置了一个叫[付款]复选框(是打钩的那种)
然后我在另一个“购买合同表”里设置了一个[文本框60]并写下了如下代码:
(我的目的是:如果“购买合同”里的[付款]打钩了,则“购买合同表”里的[文本框60]显示出“已付款”否则显示“未付款”
请高手帮我修改一下~~

Private Sub 文本60_BeforeUpdate(Cancel As Integer)
  Dim a As String
  Dim b As String
  a = Me.Form![购买合同].付款
  If a = True Then
      b = "已付款"
      Else
      b = "未付款"
      End If
MsgBox (b)
End Sub
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2004-4-11 21:54:00 | 只看该作者
怎么没人回答呀?是不是菜的让大家无法忍受呀??
3#
发表于 2004-4-11 23:32:00 | 只看该作者
“购买合同”与“购买合同表”是两个窗体吧?如果是的话,请看下面
1、在“购买合同”上添加一个“打开”按钮,在“打开”按钮的click事件里加入下面代码
Private Sub 打开_Click()
    DoCmd.OpenForm "购买合同表", , , , , , Me.付款'将付款复选框的数据传到购买合同表
End Sub
2、在“购买合同表”的窗体open事件中加入如下代码
Private Sub Form_Open(Cancel As Integer)
    If Me.OpenArgs = 1 Then‘如果付款框被选中
        Me.文本60= "已付款"
    Elseif Me.OpenArgs = 0
        Me.txt1 = "未付款"
    else
        msgbox "错误!"
    End If
End Sub
3、保存,打开“购买合同”,点击“打开”按钮,看看效果吧



[此贴子已经被作者于2004-4-11 15:32:56编辑过]

4#
 楼主| 发表于 2004-4-12 01:21:00 | 只看该作者
很感谢您的回复~~
但是我把您写的代码加入“购买合同表”后“If Me.OpenArgs = 1 Then”是红字。

我的目的:在“购买合同表”窗体上的文本60里的内容是根据“购买合同”窗体里的[付款]内容来确定是[已付款]或[未付款]。既“购买合同”窗体里的[付款]复选框打勾了则“购买合同表”窗体上的文本60里的内容是[已付款]。
5#
发表于 2004-4-12 01:58:00 | 只看该作者
不好意思,时间匆促,有点小错误,我是用ADP测试的,下面这个适用于MDB
你出现的问题是因为那一行上的注释弄的,把那个中文的‘改为英文的'就行了,你用下面的这些代码吧,我把注释去掉了。

1、在“购买合同”上添加一个“打开”按钮,在“打开”按钮的click事件里加入下面代码
Private Sub 打开_Click()
    DoCmd.OpenForm "购买合同表", , , , , , Me.付款
End Sub

2、在“购买合同表”的窗体open事件中加入如下代码
Private Sub Form_Open(Cancel As Integer)
    If Me.OpenArgs = True Then
        Me.文本60= "已付款"
    Elseif Me.OpenArgs = False
        Me.文本60 = "未付款"
    else
        msgbox "错误!"
        exit sub
    End If
End Sub
6#
 楼主| 发表于 2004-4-12 02:20:00 | 只看该作者
万分感谢~~
还有个问题:我想把“未付款”设置为红色,“已付款”还是黑色的~~如何处理?
[此贴子已经被作者于2004-4-11 18:22:33编辑过]

7#
发表于 2004-4-12 02:35:00 | 只看该作者
看下面,改写“购买合同表”的窗体open事件
Private Sub Form_Open(Cancel As Integer)
    If Me.OpenArgs = True Then
        Me.文本60= "已付款"
        Me.文本60.ForeColor = 255
    Elseif Me.OpenArgs = False
        Me.文本60 = "未付款"
        Me.文本60.ForeColor = 0

    else
        msgbox "错误!"
        exit sub
    End If
End Sub

这里用到了ForeColor这个属性,是用来设置前景色的
8#
 楼主| 发表于 2004-4-12 02:38:00 | 只看该作者
GOOD~~佩服~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-15 06:24 , Processed in 0.132204 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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