以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]数据表新建行填写数据延迟问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=98894) |
-- 作者:WENFEIZHU -- 发布时间:2017/4/8 21:12:00 -- [求助]数据表新建行填写数据延迟问题 我不太懂这个是为什么,比如我通过一个窗体往一个table里写入了一行数据,在table里只看到新建的行,却没有数据,必须点击一下数据表才能显示新增的数据。 有时候数据还出不来。 这样,当我用table1新建了数据后,在table2里调用这个数据,往往就看不到。 如何解决这个问题?我不知道怎么用专业语言描述这种现象。
|
-- 作者:有点色 -- 发布时间:2017/4/9 10:49:00 -- 做一个具体的例子发上来说明。 |
-- 作者:WENFEIZHU -- 发布时间:2017/4/9 15:51:00 -- 序号1 | 序号2 | 序号3 1 2 3 \'Form1中用一个按钮写入以下数据,注意表1是外部数据表 dim Tb as table = tables("表1") dim irow as interger = TB.Addnew().index For i as intger = 1 to 3 step Tb.Value(0,i)= i next TB.save ’如此,按道理[表1]中第一行应该有一组1,2,3的数字,我点击按钮后立即查看,数字有了,行序号竟然没显示,必须在表1中任意位置点击一下,才分配行序号。总觉得这之间差了一行代码。 ‘这还不是最重要的,最重要的是,当我在另外一个form中调用这行数据时,提示找不到数据。 ‘Form2中查找这个表中的数据 dim Tb as table = tables("表1") dim j as integer = Tb.findrow("[序号1] = ’1’ ”) \'提示错误。 [此贴子已经被作者于2017/4/9 15:55:13编辑过]
|
-- 作者:有点色 -- 发布时间:2017/4/9 21:16:00 -- 代码这样写
Dim Tb As Table = Tables("表1")
如果没有显示出来的话,说明你表1已经设置了筛选条件。 |
-- 作者:WENFEIZHU -- 发布时间:2017/4/9 21:51:00 -- 用row(“列”)赋值的方式用过,更容易出问题。 不过我的关键问题不是无法赋值,而是赋值后,save后,数据显示有延迟,如果我立即提取这个数据时,无法提取出来。我不知道新增的这一行到底是个什么状态? 正确描述如下: 1、表是外部表 2、用窗体写入了一行数据到这张表里,并save 3、立即切换到表界面,这一行数据显示了,但是行号竟然是空的。(我在表上任意位置点击,行号可以出现)————————这个时候到底是什么状态?为什么有延迟? 4、此时如果想调用这行数据,会出错,系统认为这行数据根本没有在表里存在。 上传不了图片,要是看到图片就简单了。 [此贴子已经被作者于2017/4/9 21:54:41编辑过]
|
-- 作者:有点色 -- 发布时间:2017/4/9 22:40:00 -- 你使用的是试用版?使用了多久?是不是过期了?
你单独弄一个新表是否也有此问题?你这个外部表是不是在数据库是不是有什么特殊处理了?比如约束、触发器之类的。 |
-- 作者:WENFEIZHU -- 发布时间:2017/4/12 14:31:00 -- 1、我用的是试用版,用了不到1个月,公司购买了3套商业版,我在自己电脑上装的试用版用于开发,这个项目开发完成后,公司会买一套开发版用于发布程序。 试用版在开发阶段会有问题? 2、数据库是access的,没有做约束和触发器 3、单独弄个新表一样出现这样的问题。 我是菜鸟,当我发现执行table.save后,数据并未立即存储进去,处于一种临时状态,所以我怀疑save后是否还需要其他代码,确保数据立即传到外部数据库去。 |
-- 作者:有点色 -- 发布时间:2017/4/12 15:05:00 -- 1、如果试用期到了或者过了,会有各种各样的问题出现;
2、3 尝试使用商业版去打开,看有没有问题。
-------------你的表格的主键设置成自动递增了吗?如果没有设置成自动递增,那么自然会出现一些问题。
上传实例,说明情况。 |