| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3941 人关注过本帖
标题:关于使用视图删除源表数据的问题,求高手指点。
取消只看楼主 加入收藏
lqqa30256
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2013-4-5
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
关于使用视图删除源表数据的问题,求高手指点。
在模仿一个项目文件时,改了一些东西。对表的操作改成了对视图的操作,添加记录已经解决了,但是删除记录怎么都改不了,不知道思路上有没有错误,求高手指点。

我把删除按钮的代码发上来,如下

numvar=thisform.pageframe1.ActivePage       &&用来判断当前活动的页框
DO CASE                                     &&判断当前活动页框,其中3、4是视图,错误也是在这两个页框中的表中出现的
    CASE numvar=1
        tablevar="bmb"
    CASE numvar=2
        tablevar="zwb"
    CASE numvar=3
        tablevar="ygxxst"            &&ygxxst(员工信息视图)是基于ygxxb(员工信息表)和部门、职务表共同建立的视图
        viewvar="ygxxb"
    CASE numvar=4
        tablevar="jbgzst"
        viewvar="jbgzb"
ENDCASE
SELECT &tablevar
x=MESSAGEBOX("真的要删除当前记录吗?",1+32+0,"确认删除")
IF x=1                                                    &&我是想先使用视图,选择记录并做删除标记,然后选择表执行pack语句,
    DELETE                                            &&然后刷新视图,重新绑定数据源,刷新表单
    IF numvar>2
        SELECT &viewvar
        PACK
        REQUERY("&tablevar")
    ENDIF
    thisform.pageframe1.Pages(thisform.pageframe1.ActivePage).grid1.recordsourcetype=1
    thisform.pageframe1 .pages(thisform.pageframe1.ActivePage).grid1.recordsource=tablevar
    thisform.Refresh
ENDIF
高手给看下是思路的问题,还是什么,该怎么解决?
搜索更多相关主题的帖子: 记录 项目 
2013-07-18 21:31
lqqa30256
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2013-4-5
收藏
得分:0 
以下是引用TonyDeng在2013-7-18 21:41:07的发言:

知道“视图”是什么吗?

对视图不是很清楚,只能理解到是一个临时表,类似查询,可以更新源表的一些信息,不能进行添加和删除记录的操作,请指点。
2013-07-18 21:48
lqqa30256
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2013-4-5
收藏
得分:0 
以下是引用tlliqi在2013-7-18 21:42:31的发言:

x=1 改为 x=6

1和6有什么区别吗?
2013-07-18 21:49
lqqa30256
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2013-4-5
收藏
得分:0 
以下是引用TonyDeng在2013-7-18 21:59:45的发言:

视图是从表中复制出来的一份“复印版”,有数据重组和筛选的等于是抄一份新版文档,增删改视图在原理上说是不能影响到数据原件的。明白这个道理,就知道应该不去删视图上的数据,而是从视图上获得记录的关键字到原来的表上找到真身去做删除动作,然后再重新抄出一份视图。VFP9对之前版本的作了一点修改,可以从视图中删除数据,并影响到原表,标准的SQL是没有的,这是VFP自己的扩展功能,如果你考虑到版本差异,用或不用要衡量过,如果版本是低的,就用上面我说的办法。但实际上,这种删除的动作最好是直接对原表,改用视图只能把事情搞复杂,让自己做更多的事。

明白了。那vfp9中如何从视图删除数据呢,该怎么操作?
2013-07-18 22:02
lqqa30256
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2013-4-5
收藏
得分:0 
虽然理解了,但是在用视图删除原表数据写代码上还是不会。我发个源文件,帮我看看该怎么写。
hxyy.rar (20.92 KB)
是csh表单中的删除按钮的代码。
2013-07-20 17:37
快速回复:关于使用视图删除源表数据的问题,求高手指点。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026390 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved