佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

楼主: maybird_2

Visual FoxPro 的疑难杂症

[复制链接]
发表于 2-11-2004 11:09 AM | 显示全部楼层
astral 于 2-11-2004 10:51 AM  说 :
脊本上用create cursor产生的cursor可以当成table来用...就是说可以用table可用的command,例如:use, scan, replace, append,甚至modify structure都可以...把它当成local的temp table 来用

那为什么我用 USE 时,它却找不到用 CREATE CURSOR 的 TABLE?
回复

使用道具 举报


ADVERTISEMENT

发表于 2-11-2004 11:21 AM | 显示全部楼层
会不会 folder 的 path 弄错了?
回复

使用道具 举报

发表于 2-11-2004 11:36 AM | 显示全部楼层
tstan135 于 2-11-2004 11:09 AM  说 :

那为什么我用 USE 时,它却找不到用 CREATE CURSOR 的 TABLE?


create cursor 后,不需要use..
eg:
create cursor tmp(fld01 C(10), fld02 N(15,2))
index on fld01 tag byFld01
index on fld02 tag byFld02
set order to byFld01
append blank in tmp
replace tmp.fld01 with 'SOMETHING' in tmp

use othertable in 0 *open another table in new workspace
select tmp * select back the tmp cursor's workspace
回复

使用道具 举报

小李波特 该用户已被删除
发表于 3-11-2004 10:29 AM | 显示全部楼层
astral 于 30-10-2004 09:48  说 :
这招我以前也常用,
可以动态build statement~ 很好用...



vb 有这种 macro 的写法吗??

回复

使用道具 举报

发表于 3-11-2004 12:01 PM | 显示全部楼层
VB不太清楚... 应该没有吧...
回复

使用道具 举报

发表于 4-11-2004 09:41 AM | 显示全部楼层
小李波特 于 3-11-2004 10:29 AM  说 :
vb 有这种 macro 的写法吗??

VB 没有 macro 的写法,macro 写法在 dBaseIII+,Clipper,VFP 广泛利用。
例如,
For day = 1 to 31
Seek Ctod( Padl(Round(day,0),2,'0') +'/'+ str(month(date()),2,0) +'/'+ str(year(date()),4,0)
&('Day'+Padl(Round(day,0),2,'0')') = dailytotal
* &('Day'+Padl(Round(day,0),2,'0')') = field name from 'Day01' to 'Day31'
Next

有点类似 VC/VC++ 的 pointer,但又完全不相同的东西。
回复

使用道具 举报

Follow Us
发表于 5-11-2004 09:44 AM | 显示全部楼层
白老大 , 如果 table Corrupt 了 , 有什么办法 recover/repair 吗 ?
网上 有些 3rd party Tools ,可是只是demo 版............

user 忘记backup data......
回复

使用道具 举报

发表于 6-11-2004 09:35 AM | 显示全部楼层
看什么原因造成的。

1.database container corrupted
  整个 database 抄出来,用 VFP remove without delete 所有 tables 再 add 回去。
  最后 verify database。

2.index files corrupted
  reindex, rebuild index。
  还是不行,delete index,index on ...

3.HDD bad cluster cause table file truncated
  最惨是这项。
  抄出来,救的多少救多少。
  换另一个新的 HDD

建议在离开系统时做个 Auto BackUp 的 sub-module。
回复

使用道具 举报


ADVERTISEMENT

发表于 6-11-2004 09:43 AM | 显示全部楼层
白日梦 于 6-11-2004 09:35  说 :
看什么原因造成的。

3.HDD bad cluster cause table file truncated
  最惨是这项。
  抄出来,救的多少救多少。
  换另一个新的 HDD


谢谢你 白老大 ........就是 第三个原因造成...........

我所碰到的是 当要读取 DBF File时,error  'Not a table' 出现了.........

照网上的方法 用VFP本身的 Tools\Hexedit\Hexedit.PJX 来读取
那个corrupt的DBF File,发现它的header record 少了很多information.............

所以 user 应该要多努力 拜神保佑........

[ Last edited by enry98 on 6-11-2004 at 10:02 AM ]
回复

使用道具 举报

发表于 6-11-2004 09:50 AM | 显示全部楼层
那位 user 的 HDD 差不多要 临终就寢。。。
换掉 HDD 才能一劳永逸。
不然的话 bad cluster 越用越多,那时神仙都难救。
回复

使用道具 举报

发表于 9-11-2004 09:06 AM | 显示全部楼层
请问 Auto BackUp 的 sub-module 应该怎样做?
回复

使用道具 举报

发表于 9-11-2004 04:24 PM | 显示全部楼层
During exit program

* Get Input of cTarget
Close Databases All
Copy file ABC1.dbf To cTarget+'ABC1.dbf'
Copy file ABC1.cdx To cTarget+'ABC1.cdx'
:
:
Clear Events
回复

使用道具 举报

发表于 9-11-2004 06:53 PM | 显示全部楼层
白日梦 于 9-11-2004 04:24 PM  说 :
During exit program

* Get Input of cTarget
Close Databases All
Copy file ABC1.dbf To cTarget+'ABC1.dbf'
Copy file ABC1.cdx To cTarget+'ABC1.cdx'
:
:
Clear Events


哈哈, 白兄, 你這招我沒有用過, 我做的是在開始時, backup , 先比較更新的檔案, 才backup, 一些沒有更改的檔案 就不抄了.

你的做法, 會比較完整, 但是 user 會把時間調先10 到20 分鍾,
回复

使用道具 举报

发表于 10-11-2004 04:40 AM | 显示全部楼层
在一个 TABLE 里有一些从复的 RECORD,请问要如何才能让它自动把从复的 RECORD DELETE 掉?CODE 应该怎样写?
回复

使用道具 举报

发表于 10-11-2004 11:57 AM | 显示全部楼层
用 index ... unique 就不会重复。

楼上的帖子有讲过。

GoodMorning 于 9-11-2004 06:53 PM  说 :
哈哈, 白兄, 你這招我沒有用過, 我做的是在開始時, backup , 先比較更新的檔案, 才backup, 一些沒有更改的檔案 就不抄了.

你的做法, 會比較完整, 但是 user 會把時間調先10 到20 分鍾,

这做法才能确保 backup 到已 update 的资料。

我做的 backup module 是更复杂。
用 low level file 来 combine all databases & indexes
file compression
transfer backup to other storage device media
能选 backup 进几片 floppy 或 USB handy drive。

改次才加 time stamp comparison

Coding恕不能公开,商业秘密。

[ Last edited by 白日梦 on 10-11-2004 at 12:17 PM ]
回复

使用道具 举报

发表于 10-11-2004 02:38 PM | 显示全部楼层
白日梦 于 10-11-2004 11:57 AM  说 :
用 index ... unique 就不会重复。
...

那些 RECORD 已经在 TABLE 里了,哪可以 SET index ... unique ?
回复

使用道具 举报


ADVERTISEMENT

发表于 12-11-2004 01:21 PM | 显示全部楼层

  1. Use ... Index ...
  2. xKey = ''
  3. Scan
  4.   If xKey = YarnName+Supplier
  5.     Delete
  6.   Else
  7.     xKey = YarnName+Supplier
  8.   EndIf
  9. EndScan
复制代码

[size=-2]

[ Last edited by 白日梦 on 12-11-2004 at 01:22 PM ]
回复

使用道具 举报

发表于 13-11-2004 03:16 AM | 显示全部楼层
请问要如何可以让第二篇及之后的 REPORT (在同一个 GROUP 的)可以显示 PAGE HEADER (PAGE 1 HIGHLIGHT 的部分)?





如果放在 PAGE HEADER 里,第一页就会显示成这样。



请问有其它的方法吗?

[ Last edited by tstan135 on 13-11-2004 at 02:47 PM ]
回复

使用道具 举报

发表于 15-11-2004 04:19 PM | 显示全部楼层
To tstan135 :

如果 没记错 ,当你在set Data Grouping 时 ,在 reprint group hearder on each page 打钩就行了... ...........


To 白老大 :

我想请问下 , 如果program 是 multi user使用的,该如何 Auto BackUp??
我有几个program 都是multi user............谢谢....
回复

使用道具 举报

发表于 16-11-2004 10:50 PM | 显示全部楼层
enry98 于 15-11-2004 04:19 PM  说 :
我想请问下 , 如果program 是 multi user使用的,该如 ...


白兄不上網!

我代白兄回覆你的間題吧 !

有4 個做法
1. xp 的 backup , 但是, 帶回家要 re-install
2. xp 的 scheduled 中, 設定, 在 一定的日間內, 執行 你的 backup 程式
3. 利用 timer 在設定時間后開始
4. 不論時間, 在沒有人開啟該檔案, 就可始 backup , 以每一個檔案做一個 迴路 可以用 copy + on error

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 6-12-2025 10:13 PM , Processed in 0.130410 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表