CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  其他数据库开发 >  VFP

vfp 一對多關聯中,明細表想按某一字段排序,但總是不能實現?

楼主chzai(想我就罵我)2006-04-03 20:58:34 在 其他数据库开发 / VFP 提问

 
  select   khdmb_mx    
  set   order   to   bh  
   
  想要明細表khdmb_mx 中以   bh   排序。但上面那樣寫會出錯,改變主表記錄,對應的明細都不會顯示出來,如果去掉上面代碼是能正常顯示,但明細記錄沒有按bh排序。怎樣才能使明細表按bh排序呢?請各位大哥不嗇指教.先謝謝啦!! 问题点数:20、回复次数:9Top

1 楼TERRYYRRET(命运)回复于 2006-04-03 21:44:40 得分 5

你建索引了吗?  
   
  应该没有问题的,大概是你写的不对  
   
  举个例子:  
   
  temp1,temp2的结构为(aa   c(2),bb   c(3),   cc   c(4))  
   
  在temp1的aa字段上建主索引   aa  
   
  在temp2的aa字段上建普通索引   aa  
   
  打开这两个表  
   
  sele   temp1  
   
  set   relation   to   aa   into   temp2  
   
  关系就建好了Top

2 楼chzai(想我就罵我)回复于 2006-04-03 23:28:34 得分 0

我主表和明細表用一id關聯,然後明細表再要按   bh 排序,但不知怎麼搞的,總是不能排序,我明細表中要排序字段   bh   建了索引。請問各位大哥,這是什麼原因啊?Top

3 楼apple_8180(十豆三)回复于 2006-04-04 08:54:51 得分 5

请参考  
   
  use   表1  
  index   on   字段1   to   表1_ls  
  set   order   to   表1_ls  
   
   
  Top

4 楼chzai(想我就罵我)回复于 2006-04-04 18:58:28 得分 0

还是没有解决啊,不知什么原因?Top

5 楼chzai(想我就罵我)回复于 2006-04-05 11:24:34 得分 0

SELECT         table  
  SET     MULTILOCK     ON  
  =   CURSORSETPROP('Buffering',   5,   'table')    
   
  我在前面用了這段代碼,如有要重新建索引(index   on   bh   to   bh   )會出緩沖錯誤.  
  如果有表中先建好後然後直接用   set   order   to   bh   這樣主表記錄關聯不上明細表記錄了,所有主表的對應的明細記錄都不能顯示出來Top

6 楼iamykf(麦克风)回复于 2006-04-06 10:20:52 得分 0

select   *   from   khdmb_mx   order   by   bhTop

7 楼cdbqss1(胖胖)回复于 2006-04-14 22:24:06 得分 5

chzai   (想我就罵我)     ::  
    还要看bh这个索引,是单一索引还是复合索引。  
        单一索引文件的扩展名是.idx,  
        复合索引文件的扩展名是.cdx,  
   
      这二者,在使用上有一些区别:复合索引是随着主表的打开而打开的;而单一索引文件则不然,打开主表时,可以暂时不打开,以后需要单一索引时,再打开。  
      所以,若需要按bh排序,则先要按bh建立索引。再打开使用索引就是了。Top

8 楼jxlee365(老牛自知黄昏晚,不待扬鞭自奋蹄)回复于 2006-05-12 15:42:08 得分 0

cdbqss1(胖胖):  
  复合索引是随着主表的打开而打开的???  
  不一定的吧?Top

9 楼lucasu()回复于 2006-06-20 10:21:29 得分 5

因为是一对多,grid在显示数据时总要有一个对应的索引与主表相关。如果在运行时刻改变了活动索引,肯定不能正确的一对多显示。  
  建议取消一对多关联。在dataenvironment事件中用set   filter   (子表索引键   ==   主表索引键)   IN   子表。在移动主表记录后或调用表单的refresh方法前,执行命令go   top   in   子表,否则,grid的显示有时会不正确Top

相关问题

关键词

得分解答快速导航

  • 帖主:chzai
  • TERRYYRRET
  • apple_8180
  • cdbqss1
  • lucasu

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo