Thanks for that even I miss the feature 'delete duplicated records'(is
it possible to make this with a filter?) and 'repair broken database'
I don't think so. You could only use <filter> to de-dupe if you had a
column indicating these dupes. But as you neither can create one with
DBFNavigator, nor (as I think) have one, already, you're stuck.
Another nice free editor for *.dbf-files is DBFTools. If you want to
try it: Be sure to get v1.3 because v1.2 doesn't install on Win2k (and
maybe WinNT in general). The 'v1.4' sometimes mentioned seems always
to be a v1.2, packed inside a 'dbftool4' archive. There are also a
few different versions of v1.3 on the web. As I looked for a decent
download location I found this:
http://www.torry.net/apps_databases.htm
(Scroll down to DbfTools)
It has a slightly newer file date and only about a third of the size
of that file I had on disk. DBFTools takes you a bit further (regarding
your needs) than DBFNavigator. You can export your *.dbf to some *.txt
formats or *.xls. So you could use your favorite utility which removes
duplicate lines from text files. Unfortunately, you can't reimport
these texts to DBFTools. So if you won't do half (or even all) your
work within Excel which is not free and can only handle a very limited
count of rows, anyway - we have to look for another app. to fulfill
your needs.
There is another package called DBFTools. It consists of two progs:
dbf2txt and txt2dbf. (Written for Linux or Windows with Cygwin library.)
Something I like much more in this respect is Convert of Bruce Guthrie.
Every time I used it, it worked absolutely flawless.
But - hey! - you don't have to dive into command line switches at all.
There is a very nice *.dbf-editor for DOS named Clut. You can fetch
it from Simtel. (Search for 'Clut'.) Be sure to switch the proggy
to English: Extras->Lingua->Sì (view Readme.1st) if you don't speak
Italian too well... ;-)
A little walk-through to de-dupe:
1. <Open> your *.dbf with DbfNdx mode
(other modes *may* work - I haven't checked them)
2. <Create> a new index to a file name of your choice and a key
containing all your field names linked with the '+' sign (you
can just copy one after another using the <F2> - dialog)
sample: key ID+NAME+STREET+ZIP
(I hope you don't have that much rows to bust the command
memory space...)
Be sure to select 'Unique' = Yes!
3. <Copy to ...> all records to a new file name of your choice.
You don't have to provide input for For/While/Next/Rec. Just give a
file name and select 'All' and 'DbfNdx'.
4. Backup your old *.dbf and replace it with your new copy. Done!
To your next problem:
None of the up-to-now mentioned programs is able to 'repair broken
databases'. There are some progs like VfpView (DOS) available, which
can repair the record counter, and such minor defects.
The only somewhat free repair program, I'm currently aware of, is
Titanic:
http://www.geocities.com/SiliconValley/Peaks/6312/en_titan.htm
Note: homepage and help use the term 'Shareware' but the program
is actually Registerware (Postcardware).
It *might* do a better job. But I wouldn't trust *any* utility with
a broken database, but would *always* repair hand-to-hand with a
hex editor. The structure of a *.dbf is simple enough!
Just a last word of warning. As long as you are not familiar with
these programs: Backup your data! Most progs write directly to the
file if you change - lets say - a value. Without further question!
Besides, all progs *may* have bugs, which could leave you with the
worst kinds of data loss...
HTH.
BeAr