以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]针对空表的问题!求助!  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=66497)

--  作者:liuxianjie1980
--  发布时间:2015/4/8 11:59:00
--  [求助]针对空表的问题!求助!

在配置栏中添加了一个名为“建议栏”的按钮,点击该按钮打开tables(“建议栏”)的窗口,同时,增加一条空白记录,并指向该条空白记录。

同时判断若打开的是一张没有记录的空白表,则tables(“建议栏”),则添加一条空白记录。代码如下:

Forms("建议栏窗口").Open()
MainTable = Tables("建议栏")
If Tables("建议栏").Current Is Nothing Then
    Tables("建议栏").AddNew()
End If
With Tables("建议栏")
    .Position = .Rows.Count - 1
End With

 

这段代码的问题是:若表中没有记录,它就没有按照预期的增加记录,在关闭Forms("建议栏窗口")后才新增一条记录。怀疑

If Tables("建议栏").Current Is Nothing Then 这段有问题???或者是这段与下端中的.Rows.Count - 1有冲突?

大师帮着看一下。


--  作者:Bin
--  发布时间:2015/4/8 12:00:00
--  
因为你的是模式窗口,你要把代码放到打开窗口之前
MainTable = Tables("建议栏")
If Tables("建议栏").Current Is Nothing Then
    Tables("建议栏").AddNew()
End If
Forms("建议栏窗口").Open()

--  作者:liuxianjie1980
--  发布时间:2015/4/8 12:03:00
--  

问题补充:当Tables("建议栏")没有任何一条记录时。将上述代码改为:

Forms("建议栏窗口").Open()
MainTable = Tables("建议栏")
Tables("建议栏").AddNew()
With Tables("建议栏")
    .Position = .Rows.Count - 1
End With

 

也不会自动增加一条记录,也是在关闭窗体后才增加,何解??


--  作者:liuxianjie1980
--  发布时间:2015/4/8 12:04:00
--  
大师就是大师,你怎么知道我用的是模式窗口啊?膜拜!!!!
--  作者:liuxianjie1980
--  发布时间:2015/4/8 12:06:00
--  
ok了,谢谢bin!!!所以我觉得有些东西,帮助文件不一定涉及到了,感谢!
--  作者:liuxianjie1980
--  发布时间:2015/4/8 12:09:00
--  

但是有个问题,我不想关闭之前的那个窗口,执行这段代码后,原来的窗口关闭了!!!

 

 

补充:bin大师,我自己调好了,把调用主表的代码删除就好了,谢谢!

[此贴子已经被作者于2015/4/8 12:11:48编辑过]

--  作者:狐狸爸爸
--  发布时间:2015/4/8 12:15:00
--  
以下是引用liuxianjie1980在2015/4/8 12:06:00的发言:
ok了,谢谢bin!!!所以我觉得有些东西,帮助文件不一定涉及到了,感谢!

 

看这节帮助的最后一行:

http://www.foxtable.com/help/topics/0697.htm