在数据环境中作修改了之后,应该怎样保存到原表中???

gnuljf 2002-12-13 03:38:30
在数据环境中作修改了之后,应该怎样保存到原表中???
由于数据环境中的是临时表,所以修改后不能反映到原表中,应该怎样将修改后的数据保存到原表中????
...全文
102 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
gnuljf 2002-12-23
  • 打赏
  • 举报
回复
谢谢各位!
真是抱歉,上星期由于忙着找工作,因此都没来。
刚才看了一下各位的回复, JadyZhu(Jady Zhu) 的方法可以解决我的问题,因此今天结帖了,在此再次感谢各位的帮忙!谢谢!!

其他没有得分的同志可以到http://expert.csdn.net/Expert/topic/1237/1237542.xml?temp=.6448938领分,那个帖子无人回复,我也准备结帖了,各位只要到那报道一下即可(只有50分)。

我在http://expert.csdn.net/Expert/topic/1290/1290166.xml?temp=.7557489有一个新问题,有兴趣的朋友也请到那去帮个忙,谢谢!
wzm1022 2002-12-21
  • 打赏
  • 举报
回复
PACK命令要用在程序退出的时候,否则不能避免,如果要在程序当中体现此记录已经被删除,可以在程序开始位置用SET DELETE ON设置,则在表格中将不显示做了删除标记的记录。请联系:WZM1022@SINA.COM
落单枫叶 2002-12-21
  • 打赏
  • 举报
回复
我的方法简例如下:
*cmdadd.click
thisform.text1.readonly=.f.

*cmdok.click
local fname
fname=allt(thisform.text1.value)
if empt(m.fname)
messagebox(出错警告略)
else
insert into xxx from memvar
sele * from xxx where allt(fname)==allt(thisform.text1.value);
into cursor temp&&先前已public temp
THISFORM.grid1.RECORDSOURCETYPE=0
THISFORM.grid1.RECORDSOURCE=temp
THISFORM.grid1.column1.text1.SETFOCUS
thisform.text1.readonly=.t.
endif

*grid1.afterrowcolchange
LPARAMETERS nColIndex
lcCurrec=ALLTRIM(STR(RECNO()))
THIS.SETALL('dynamicbackcolor','IIF(RECNO()=&lcCurrec.,RGB(0,0,0),RGB(192,192,192))')
THIS.SETALL('dynamicforecolor','IIF(RECNO()=&lcCurrec.,RGB(255,255,255),RGB(0,0,0))')
THISFORM.txtHm1.VALUE=temp.fname
THISFORM.REFRESH

*grid1.refresh
this.ColumnCount=1
this.Column1.width=30&&根据情况而定。
this.Column1.Header1.Caption="fnam"

jft 2002-12-18
  • 打赏
  • 举报
回复
JadyZhu的答案:
在表格的BeforeRowChange方法里加上thisform.refresh可实现我的功能
谢谢jadyzhu
xiolig 2002-12-18
  • 打赏
  • 举报
回复
to: luwq168:
你的方法看起来挺麻烦的,为什么?能将你的实例剖析给大家看一下吗?
newfang 2002-12-17
  • 打赏
  • 举报
回复
to 楼主:

你这百分利用可真够充分的啊…………
newfang 2002-12-17
  • 打赏
  • 举报
回复
你用的什么命令访问???
我印象中reccount()好象会访问到,其它似的应该没问题吧???
JadyZhu 2002-12-17
  • 打赏
  • 举报
回复
在你Pack之前将表格的数据源设定为.null.,pack完成后重新将表格的数据源设定回去就OK了。

我接分了...:)
gnuljf 2002-12-17
  • 打赏
  • 举报
回复
数据环境中删除记录的问题我自己已经搞定了,只要把把数据环境中表的exclusive 属性 设为.T.就行了,还是谢谢 newfang(方方)
但是GRID中的问题还没弄好啊


set delete on后在浏览表时同样会访问到已被DELE的记录,但显示为空记录


那么在PACK后应该怎样让GRID重新显示回表中的内容???
落单枫叶 2002-12-17
  • 打赏
  • 举报
回复
当一边是表格,一边是字段文本框时,我采用的办法是将表格的数据源设为公共变量,文本框不设数据源,而赋给内存变量,判断合法后用
insert into 表名 from memvar
再用sele方法赋给所设公共变量,表格的数据源在表格的refresh事件中设置,在表格afterrowcolchange事件中对字段文本框值进行设置。
落单枫叶 2002-12-17
  • 打赏
  • 举报
回复
不要急着用pack或zap之类的命令,这两个命令放在表单的Destroy中,而始终set dele on
在Destroy中这样做:
CLOSE TABLES ALL
USE 表名 EXCL
PACK或zap
上述的原因在于,pack和zap命令的过程是重新生成一个新表,而将原表删除,并关闭表。
jft 2002-12-17
  • 打赏
  • 举报
回复
我的问题跟他差不多,根据jadyzhu的方法,用
delete
thisform.pageframe1.page1.grd部门表.recordsource=.null.
pack
thisform.pageframe1.page1.grd部门表.recordsource="部门表"
解决了表格显示的问题,但还有一个问题是点表格中的记录,文本框中的记录不跟着移动,请教如何解决?
jft 2002-12-17
  • 打赏
  • 举报
回复
有没有解决?
boomit 2002-12-17
  • 打赏
  • 举报
回复
关注。。。学习////
xiolig 2002-12-16
  • 打赏
  • 举报
回复
对表格源执行PACK会导致表格内容的完全消失,但用 ZAP 代替 DELETE ALL + PACK 则不存在同样的问题,为什么?
关注中!
gnuljf 2002-12-16
  • 打赏
  • 举报
回复
还有以一个表格浏览表时,可以用DELE+PACK彻底删除记录,但是删除之后表格变得什么都没有了,只剩下一个周围的框,怎么刷新也不行,怎么办???
gnuljf 2002-12-16
  • 打赏
  • 举报
回复
我自己已经搞定了。

还有一个问题:同样是在数据环境中,应该怎样彻底删除记录?用DELE就行,但一用上PACK就报错说文件要以独占方式打开,但是我试着使用SET exclusive on但是没用,WHY?若不用数据环境打开表,use 通讯录 alias 通讯录 exclusive时用DELE时又报错说什么不能对临时表处于缓冲方式下的表不能发布此命令,而我又设了thisform.buffermode=0,应该怎样解决?
newfang 2002-12-16
  • 打赏
  • 举报
回复
pack要求把表独占,它都独占了你的grid里当然就没东西啦……
newfang 2002-12-16
  • 打赏
  • 举报
回复
表单的load事件中:set delete on
表单的unload事件中: pack set delete off
把数据环境中表的 exclusive 属性 设为.T.
删除按钮的click事件下写:select dbf_name
delete
thisform.refresh
xiolig 2002-12-13
  • 打赏
  • 举报
回复
你可能误解了临时表的真实含义。若不进行任何设置,数据总会自动保存到原表的。
内容概要:本文档为《硬件工程师笔试面试学习器件篇最终版》,系统介绍了电子电路中常用元器件的基础知识与实际应用,涵盖电阻、电容、电感、二极管、三极管、继电器、IGBT、MOS管、变压器、滤波器、传感器、显示器件、无线通信模块及集成电路等核心元件。文档详细阐述了各类器件的定义、工作原理、分类、关键参数、选型方法、应用场景及设计注意事项,重点针对高频电路、电源管理、信号完整性、热设计、电磁兼容性(EMC)等问题提供了优化策略与解决方案,旨在帮助硬件工程师掌握器件级设计要点,提升电路可靠性与性能。; 适合人群:准备硬件工程师笔试与面试的电子类专业学生、初级硬件工程师及从事电路设计相关工作的技术人员。; 使用场景及目标:①系统复习电子元器件核心知识点,备战技术面试;②在实际电路设计中,作为电阻、电容、电感、MOSFET、IGBT等器件选型与应用的参考指南;③深入理解高频电路设计、电源完整性、热管理及EMC设计等关键技术问题。; 阅读建议:建议结合文档中的原理图与实际案例,重点研读“相关问题”部分,理解器件参数之间的权衡关系(如电阻的功率与阻值、电容的ESR与频率特性、MOSFET的开关速度与EMI等),并将理论知识应用于实际电路设计与调试中,以强化理解和记忆。

2,749

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧