Office中国论坛/Access中国论坛

标题: 窗体的打开问题! [打印本页]

作者: Ajoe    时间: 2004-4-22 06:02
标题: 窗体的打开问题!
....我想在“立案审批”窗口中,打开“基本资料”录入窗口,需实现如下功能:

    1、当“违法主体=个人”时,打开个人“资料窗口”;
      当“违法主体=单位”时,打开单位“资料窗口”。
    2、打开的窗口要满足和前一个窗口记录相同。(但是,当打开的窗口没有相同的记录时,按钮就不起作用了,我就是想解决这个问题)

    以上两点要能同时实现,而且当没有相同记录时,就把打开的新窗口变成新记录的录入状态。这样的设想,能行吗?我不知道怎么来设置条件语句。请指教!

[attach]4351[/attach]

[此贴子已经被作者于2004-4-21 22:04:21编辑过]


作者: 简    时间: 2004-4-22 06:06
不好意思喔,我也帮不上你的忙呢,我的问题,还有劳于你帮我讲讲呢。:)
作者: Ajoe    时间: 2004-4-22 07:30
Up↑
作者: 我同意    时间: 2004-4-22 08:09
=个人或=单位来判断开哪个窗解决了对吗?
实际上就差一步了,再加一句 dlookup判断在相应表中是否有记录,即可根据结果决定是打开数据窗还是输入窗,主要是判断。坚决判断到底。。。。。呵呵
作者: Ajoe    时间: 2004-4-22 15:54
判断语句里有判断语句,我不知道该怎么写这代码。能指点一下吗?
作者: akesaisi    时间: 2004-4-22 16:39
IF ...then
   if ....then
   .....
   esle
   .....
   end if
else
   if ....then
   ....
   esle
   .....
   end if
end if

关键是判断的逻辑关系要搞清,嵌套判断的If..esle..end if要对应.写时注意缩进对齐,以免把自己搞晕.
作者: Ajoe    时间: 2004-4-22 19:27
OK.Let me try.
作者: Ajoe    时间: 2004-4-22 19:52
不会用DLookup。帮我看看:

Private Sub Command26_Click()
    If Me.违法主体 = "个人" Then
    DoCmd.OpenForm "个人资料"
    ElseIf Me.违法主体 = "单位" Then
    DoCmd.OpenForm "单位资料"
    End If
End Sub

作者: 数据如山    时间: 2004-4-22 20:12
Private Sub Command26_Click()
    If Me.违法主体 = "个人" Then
       If  Not IsNull(Dlookup("[]","个人资料表","[表内某字段]='"&me.某对象&"'" then
           DoCmd.OpenForm "个人资料"
       Else
          打开输入窗
       End If  
  ElseIf Me.违法主体 = "单位" Then
        If  Not IsNull(Dlookup("[]","单位资料表","[表内某字段]='"&me.某对象&"'" then
           DoCmd.OpenForm "单位资料"
       Else
          打开输入窗.....
       End If  
  End If
End Sub

我也常常"某某语句不会",不过要会还得自己到系统自带的"帮助"里找.
注意,代码编辑状态窗里的帮助更针对语句语法
[此贴子已经被作者于2004-4-22 12:18:15编辑过]


作者: Ajoe    时间: 2004-4-22 21:37
我这样可以实现,请教还有没有需要改进的地方:

Private Sub Command26_Click()
    If Me.违法主体 = "个人" Then
        If Not IsNull(DLookup("[案件序号]", "个人", "[案件序号] = '" & Me.案件序号 & "'")) Then
        DoCmd.OpenForm "个人资料", , , "[案件序号] = '" & Me.案件序号 & "'"
        Else
        DoCmd.OpenForm "个人资料"
        DoCmd.GoToRecord , , acNewRec
        End If
    ElseIf Me.违法主体 = "单位" Then
        If Not IsNull(DLookup("[案件序号]", "单位", "[案件序号] = '" & Me.案件序号 & "'")) Then
        DoCmd.OpenForm "单位资料", , , "[案件序号] = '" & Me.案件序号 & "'"
        Else
        DoCmd.OpenForm "单位资料"
        DoCmd.GoToRecord , , acNewRec
        End If
    End If
End Sub

作者: 土豆    时间: 2004-4-22 22:17
If DCount("*", "个人", "[案件序号] = '" & Me.案件序号 & "'")>0 Then

作者: Ajoe    时间: 2004-4-23 05:41
以下是引用土豆在2004-4-22 14:17:27的发言:
If DCount("*", "个人", "[案件序号] = '" & Me.案件序号 & "'")>0 Then


土豆兄,你这句有何用意?
作者: 数据如山    时间: 2004-4-23 17:17
土豆老大的意思是,
  IF 符合条件的记录数大于0 则。。。。




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3