Foxtable(狐表)用户栏目专家坐堂 → [求助] 这段代码有错吗?不能执行!


  共有21998人关注过本帖树形打印复制链接

主题:[求助] 这段代码有错吗?不能执行!

帅哥哟,离线,有人找我吗?
wcs
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1042 积分:7475 威望:0 精华:0 注册:2008/8/31 22:52:00
[求助] 这段代码有错吗?不能执行!  发帖心情 Post By:2008/11/26 10:45:00 [只看该作者]

if  CurrentTable.name <> "会计凭证总表" then
    Forms("更新数据").Close()
    if CurrentTable.name = "会计凭证总表" then
    Forms("更新数据").open()
    end if
end if

我在项目属性-事件-currenttableschanged中,写入上面的代码,意思是:
如果当前表不是“会计凭证总表”,就关闭窗口“更新数据”。
如果当前表是"会计凭证总表",就打开窗口“更新数据”,

现在第一个如果可以正确执行,第二个就不行了,无法打开窗口。

各位看看,这是是怎么回事?

 回到顶部
帅哥哟,离线,有人找我吗?
don
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2008/11/26 11:00:00 [只看该作者]

If 语句

If语句有三种形式

单分支形式:

If 条件 Then
    代码

End If

条件成立的话,则执行代码。
例如在命令窗口输入下面的代码:

Dim Mark As Integer = 61
If
Mark >= 60 Then
    Output.Show(
"及格")
End
If

执行之后,上述的代码会得到结果"及格",如果将变量Mark的值改为59,则不会返回任何内容。

双分支形式:

If 条件 Then
    代码1

Else

    代码2

End
If

条件成立,则执行代码1,不成立,则执行代码2。
例如,在命令窗口输入下面的代码:

Dim Mark As Integer = 61
If
Mark >= 60 Then
    Output.Show(
"及格")
Else

    Output.Show(
"不及格")
End If

执行之后,上述的代码会得到结果"及格",如果将变量Mark的值改为59,则会得到结果"不及格"。

多分支形式:

If 条件1 Then
    代码1

ElseIf
条件2 Then
    代码2

ElseIf
条件3 Then
    代码3

    .....
Else

    代码X

End If

条件1成立,执行代码1,条件2成立,执行代码2,其余类推,所有条件均不成立,则执行代码X。
例如在代码窗口输入:

Dim Mark As Integer = 90
If
Mark >= 90 Then
    OutPut.Show(
"优秀")
ElseIf
Mark >= 80 Then
    OutPut.Show(
"良好")
ElseIf
Mark >= 60 Then
    OutPut.Show(
"及格")
Else

    OutPut.Show(
"不及格")
End
If


 回到顶部
帅哥哟,离线,有人找我吗?
czy
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2008/11/26 11:02:00 [只看该作者]

if  CurrentTable.name <> "会计凭证总表" then
    Forms("更新数据").Close()
Else
    Forms("更新数据").open()
end if

 回到顶部
帅哥哟,离线,有人找我吗?
wcs
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1042 积分:7475 威望:0 精华:0 注册:2008/8/31 22:52:00
  发帖心情 Post By:2008/11/26 11:10:00 [只看该作者]

哈哈,我改了一下,就好了:
if  CurrentTable.name = "会计凭证总表" then
    Forms("更新数据").open()
    Tables("会计凭证").OpenView("通常")
else Forms("更新数据").close()
end if

但是,我想在当前表是"会计凭证总表"时,打开它的子表"会计凭证",的视图"通常",加了这一句:
Tables("会计凭证").OpenView("通常")
但这一句好像没有起到作用。


 回到顶部
帅哥哟,离线,有人找我吗?
wcs
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1042 积分:7475 威望:0 精华:0 注册:2008/8/31 22:52:00
  发帖心情 Post By:2008/11/26 11:12:00 [只看该作者]

好了,我已发现问题,要这样:
Tables("会计凭证总表.会计凭证").OpenView("通常")

 回到顶部