Office中国论坛/Access中国论坛
标题: 帮忙 [打印本页]
作者: wdlyd 时间: 2004-4-11 02:36
标题: 帮忙
我在“购买合同”窗体里设置了一个叫[付款]复选框(是打钩的那种)
然后我在另一个“购买合同表”里设置了一个[文本框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
作者: wdlyd 时间: 2004-4-11 21:54
怎么没人回答呀?是不是菜的让大家无法忍受呀??
作者: blsoft 时间: 2004-4-11 23:32
“购买合同”与“购买合同表”是两个窗体吧?如果是的话,请看下面
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编辑过]
作者: wdlyd 时间: 2004-4-12 01:21
很感谢您的回复~~
但是我把您写的代码加入“购买合同表”后“If Me.OpenArgs = 1 Then”是红字。
我的目的:在“购买合同表”窗体上的文本60里的内容是根据“购买合同”窗体里的[付款]内容来确定是[已付款]或[未付款]。既“购买合同”窗体里的[付款]复选框打勾了则“购买合同表”窗体上的文本60里的内容是[已付款]。
作者: blsoft 时间: 2004-4-12 01:58
不好意思,时间匆促,有点小错误,我是用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
作者: wdlyd 时间: 2004-4-12 02:20
万分感谢~~
还有个问题:我想把“未付款”设置为红色,“已付款”还是黑色的~~如何处理?
[此贴子已经被作者于2004-4-11 18:22:33编辑过]
作者: blsoft 时间: 2004-4-12 02:35
看下面,改写“购买合同表”的窗体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这个属性,是用来设置前景色的
作者: wdlyd 时间: 2004-4-12 02:38
GOOD~~佩服~~
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) |
Powered by Discuz! X3.3 |