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