How again do you fix this? I've got the FPT file size being significant, yet there are no notes in the memo field apparently. Obviously the pointers are screwed up somehow.
tia, --Mike
On 2017-11-01 19:28, mbsoftwaresolutions@mbsoftwaresolutions.com wrote:
How again do you fix this? I've got the FPT file size being significant, yet there are no notes in the memo field apparently. Obviously the pointers are screwed up somehow.
tia, --Mike
I know about FoxFix (http://www.xitech-europe.co.uk/foxfix.php) and AbriRecover (http://www.abri.com/recover/recover.php) but I know they're old.
Wondered if others use something else.
Watch that "old" crack, pal... You've got a list full here... 😊
I've used both. It really depends on how badly the FPT is damaged. Make backups. Try them both. Abri is still around, I believe. FoxFix is not.
--
rk
-----Original Message----- From: ProfoxTech [mailto:profoxtech-bounces@leafe.com] On Behalf Of mbsoftwaresolutions@mbsoftwaresolutions.com Sent: Wednesday, November 01, 2017 7:31 PM To: profoxtech@leafe.com Subject: Re: Fixing a hosed FPT file
On 2017-11-01 19:28, mbsoftwaresolutions@mbsoftwaresolutions.com wrote:
How again do you fix this? I've got the FPT file size being significant, yet there are no notes in the memo field apparently. Obviously the pointers are screwed up somehow.
tia, --Mike
I know about FoxFix (http://www.xitech-europe.co.uk/foxfix.php) and AbriRecover (http://www.abri.com/recover/recover.php) but I know they're old.
Wondered if others use something else.
I've used cmrepair in the past. Not sure if it fixes memo problems. If you can't find it send me the file and I'll try it out.
On 1 November 2017 19:31:17 GMT-04:00, mbsoftwaresolutions@mbsoftwaresolutions.com wrote:
On 2017-11-01 19:28, mbsoftwaresolutions@mbsoftwaresolutions.com wrote:
How again do you fix this? I've got the FPT file size being significant, yet there are no notes in the memo field apparently. Obviously the pointers are screwed up somehow.
tia, --Mike
I know about FoxFix (http://www.xitech-europe.co.uk/foxfix.php) and AbriRecover (http://www.abri.com/recover/recover.php) but I know they're old.
Wondered if others use something else.
[excessive quoting removed by server]
On Wed, Nov 1, 2017 at 7:31 PM, mbsoftwaresolutions@mbsoftwaresolutions.com wrote:
On 2017-11-01 19:28, mbsoftwaresolutions@mbsoftwaresolutions.com wrote:
I know about FoxFix (http://www.xitech-europe.co.uk/foxfix.php) and AbriRecover (http://www.abri.com/recover/recover.php) but I know they're old.
Well, so's the format they're working on...
Abri's done the trick for me.
FoxFix also has a memo scanning and fixing ability (which isn't turned on by default IIRC).
Years ago, I built and maintained a VFP6 application for a client which had a large number of tables and records and there were a lot of memo fields used. Occasionally, something would get messed up with the memo fields (not necessarily hosed, but just issues with certain records) and I remember writing a simple script to scan through the records one by one and try to recover as many of the memo fields as possible. This is a decidedly low tech way of doing things and if a memo file is total corrupted this method will not save that file but it often would salvage 99.9% of the data if the corruption was minor.
The script doesn't change anything in the original dbf. It manually recreates the original as a file named "memofix" and the script depends upon adding the memofix table to your DBC in order to protect long file names, indexes, etc. Nothing jumped out at me as version 6 specific, but do your testing with backup copies of files if possible.
DISCLAIMER: I have not used this quick and dirty script since 2010: Use it at your own risk. Author makes no warranty this is useful in any way nor can I promise it will salvage anything for you. As usual, your mileage may vary. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ clear
set deleted off set safe off
use dbcontainer!master
if file('memofix.dbf')
REMOVE TABLE memofix DELETE endif
copy structure to memofix with cdx database dbcontainer use memofix in 0 excl
select master goto top
lnRecCnt = 1 lnRecTot = reccount('master')
scan
? transform(recno(),"@L 9999999") + transform(lnRecCnt/lnRecTot*100,"999.99%") append blank in memofix
for lnLoopCnt = 1 to fcount("master") lnWorkFld = field(lnLoopCnt,"master") replace memofix.&lnWorkfld with master.&lnWorkFld in memofix endfor
select master lnRecCnt = lnRecCnt + 1 endscan
use in master use in memofix set safe on set deleted on ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I can't remember if I got the idea from someone on one of the Foxpro forums or not, but I won't take credit for this just in case I did. It got us out of a couple of minor jams where we didn't have to restore data from backups and lose a day's worth of work.
If the script doesn't work, try this: http://www.dbf2002.com/dbf-recovery/. I use their DBF viewer on a regular basis and their products work well for me.
Hope it helps!
Paul H. Tarver Tarver Program Consultants, Inc.
-----Original Message----- From: ProfoxTech [mailto:profoxtech-bounces@leafe.com] On Behalf Of mbsoftwaresolutions@mbsoftwaresolutions.com Sent: Wednesday, November 01, 2017 6:28 PM To: profoxtech@leafe.com Subject: Fixing a hosed FPT file
How again do you fix this? I've got the FPT file size being significant, yet there are no notes in the memo field apparently. Obviously the pointers are screwed up somehow.
tia, --Mike
[excessive quoting removed by server]
On 2017-11-02 17:39, Paul H. Tarver wrote:
Years ago, I built and maintained a VFP6 application for a client which had a large number of tables and records and there were a lot of memo fields used. Occasionally, something would get messed up with the memo fields (not necessarily hosed, but just issues with certain records) and I remember writing a simple script to scan through the records one by one and try to recover as many of the memo fields as possible. This is a decidedly low tech way of doing things and if a memo file is total corrupted this method will not save that file but it often would salvage 99.9% of the data if the corruption was minor.
The script doesn't change anything in the original dbf. It manually recreates the original as a file named "memofix" and the script depends upon adding the memofix table to your DBC in order to protect long file names, indexes, etc. Nothing jumped out at me as version 6 specific, but do your testing with backup copies of files if possible.
DISCLAIMER: I have not used this quick and dirty script since 2010: Use it at your own risk. Author makes no warranty this is useful in any way nor can I promise it will salvage anything for you. As usual, your mileage may vary.
I created MemoCheck and put it in the ProFox downloads section back in 2009, but that was just to identify problem records: http://leafe.com/download/memocheck.zip
From the link: MemoCheck I wrote this quick app to check the DBFs in a selected folder for memo field problems. Our scenario was with free tables (not dbc-linked). This program is simply to identify tables where a problem exists--not to fix them. Zip contains project and all related files, including memocheck.exe. All suggestions/improvements are welcome for the betterment of the community! Author: Michael J. Babcock, MCP Other Open Source License 12K Last updated: 2009.01.27
I had a feeling I picked up most of that code from somewhere else.
While it may have been primarily used to look for problems, I owe you a big THANK YOU because it saved my bacon a couple of times back in the day!
Also, I'm glad you were available to take credit and I apologize for not having that in the comments so I could give it on the front end.
Paul
-----Original Message----- From: ProfoxTech [mailto:profoxtech-bounces@leafe.com] On Behalf Of mbsoftwaresolutions@mbsoftwaresolutions.com Sent: Friday, November 03, 2017 8:25 AM To: profoxtech@leafe.com Subject: RE: Fixing a hosed FPT file
On 2017-11-02 17:39, Paul H. Tarver wrote:
Years ago, I built and maintained a VFP6 application for a client which had a large number of tables and records and there were a lot of memo fields used. Occasionally, something would get messed up with the memo fields (not necessarily hosed, but just issues with certain records) and I remember writing a simple script to scan through the records one by one and try to recover as many of the memo fields as possible. This is a decidedly low tech way of doing things and if a memo file is total corrupted this method will not save that file but it often would salvage 99.9% of the data if the corruption was minor.
The script doesn't change anything in the original dbf. It manually recreates the original as a file named "memofix" and the script depends upon adding the memofix table to your DBC in order to protect long file names, indexes, etc. Nothing jumped out at me as version 6 specific, but do your testing with backup copies of files if possible.
DISCLAIMER: I have not used this quick and dirty script since 2010: Use it at your own risk. Author makes no warranty this is useful in any way nor can I promise it will salvage anything for you. As usual, your mileage may vary.
I created MemoCheck and put it in the ProFox downloads section back in 2009, but that was just to identify problem records: http://leafe.com/download/memocheck.zip
From the link: MemoCheck I wrote this quick app to check the DBFs in a selected folder for memo field problems. Our scenario was with free tables (not dbc-linked). This program is simply to identify tables where a problem exists--not to fix them. Zip contains project and all related files, including memocheck.exe. All suggestions/improvements are welcome for the betterment of the community! Author: Michael J. Babcock, MCP Other Open Source License 12K Last updated: 2009.01.27
[excessive quoting removed by server]
On 2017-11-03 13:49, Paul H. Tarver wrote:
I had a feeling I picked up most of that code from somewhere else.
While it may have been primarily used to look for problems, I owe you a big THANK YOU because it saved my bacon a couple of times back in the day!
Also, I'm glad you were available to take credit and I apologize for not having that in the comments so I could give it on the front end.
Paul
Oh Paul, no no, you misunderstand. I'm not saying your code was from mine. Not at all. I didn't even check it. You may have gotten that from somewhere else, for all I know. You saying that just made me remember I had posted something that checked for memo problems 10 years ago. I have no idea is yours and mine are even close in logical. Too busy with other things now to look, either.
Sorry for any misunderstanding there.
--Mike