Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共5 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

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

1楼
wcs 发表于:2008/11/26 10:45:00
if  CurrentTable.name <> "会计凭证总表" then
    Forms("更新数据").Close()
    if CurrentTable.name = "会计凭证总表" then
    Forms("更新数据").open()
    end if
end if

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

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

各位看看,这是是怎么回事?
2楼
don 发表于: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

3楼
czy 发表于:2008/11/26 11:02:00
if  CurrentTable.name <> "会计凭证总表" then
    Forms("更新数据").Close()
Else
    Forms("更新数据").open()
end if
4楼
wcs 发表于:2008/11/26 11:10:00

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

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

5楼
wcs 发表于:2008/11/26 11:12:00
好了,我已发现问题,要这样:
Tables("会计凭证总表.会计凭证").OpenView("通常")
共5 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .01953 s, 2 queries.