Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win


Paradox Table Versions

Posted on 1999-01-27
Medium Priority
Last Modified: 2010-04-06
I'm wanting to know the differences between Paradox 5 tables and Paradox 7 tables. I've heard that '7 tables have extra indexing facilities, but I don't know what these are. I've noticed that Database Desktop automatically decides what version to use.

I'm hoping to use Corel DatabasePublisher at some point, and it only supports Paradox upto version 5 and dBase upto version 5. How can I force Database Desktop to use version 5. ? Is there anyway to convert a version 7 table to a version 5 table ?
Question by:elkiors
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions

Expert Comment

ID: 1363590
I'm using Delphi 3 Pro and the Database Desktop lets me select to create tables in "Paradox 5.0 for Windows" format with no problem.
Wich version of Delphi are you using?

Author Comment

ID: 1363591

That really should have been a comment. I'm using D3 Standard. That's not really the point though. What I want to know is what makes version 7 tables different from version 5.

LVL 27

Expert Comment

ID: 1363592
Hi elkiors,

the different is that Paradox7 supports more than one field to an Secondary-Index. I don't know about Corel-DatabasePublisher, but about Corel-Paradox 8 (Not much to invest).
To convert Typ 7 in Typ 5 with Corel-Paradox 8 you can Export the Typ 7 Table to a Typ 5 Table. To Force to create Typ 7 with Corel-Paradox 8 File|New|New Table|Blank here can you select the Typ of the Table.

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.


Author Comment

ID: 1363593
Hi Meikl:

Sorry it's taken so long to respond. I've had a look at exporting P7 tables as version 5 using Paradox 7 and yep, it works ok. The only thing is, it didn't seem to preserve any of my indexes or validation, it just made a new blank table containing the data.

I don't really need to go as far as upgrading to P8. Is it just multi-field SECONDARY indexes that are extra in P7 from P5, or does P5 only support single field PRIMARY indexes as well ? (Why is the help in Paradox 7 and Delphi Database Desktop so useless!)

Is there any way to preserve the index and validation of a table when exporting from P7 to P5 or do you have re-generate things like referential integrity after the export ?

If you can answer to these last few items then please post as an answer rather than a comment so I can award the points, you've been most helpful as usual.

Kind Regards


LVL 15

Expert Comment

ID: 1363594
By default, Database Desktop will use the lowest version possible. Depending on the features you need on your table, Database Desktop (I'll call it D.D. from now on) will use a higher version number.

For example, a simple Paradox table, with no 2nd indexes may be a v4 table. However, if you add referential integrity, validity checks, etc, D.D. will ask you if you want to make it a version 7 table. Sometimes, if you don't agree on upgrading the table, the feature may not be added to the table.

Why use v7 instead of v5? Although Paradox tables aren't stable at all, v7 is still far more reliable than versions 5 and 4.

You can move from one version to another by using the Table Utility than can be downloaded from Inprise's site. It will let you upgrade/downgrade the table's version.

However, I do not advise you to use Paradox 5 tables, since version 7 are more reliable.

Please let me know if you do not find the table utility at inprise's site.


LVL 27

Expert Comment

ID: 1363595
Hi elkiors,

i see the question is answered, i don't know the tool, which is spoken from. Maybe this tool can be downgrade your tables, including the Validation info.

here is a little delphi-routine example which will downgrade your level 7 tables to level 5, including the indexinformation.

The validation-Information is not available by this except the point that sounds like field must be filled. But the others min,max, default, inputmask must be added by hand.

procedure TForm1.Button1Click(Sender: TObject);
  Records_Copied : Integer;
  I : Integer;
  Table1.FieldDefs.Update;  {Retrieve all Fielddefinitions}
  Table2.FieldDefs.Assign(Table1.FieldDefs); {Copy Fielddefinitions}
  Table2.TableName := 'TheCopy.db';  {Give a Name}
  Table2.TableLevel := 5;            {Give a level }
  Table1.IndexDefs.Update;           {Retrieve all Indexdefinitions}
  Table2.IndexDefs.Assign(Table1.IndexDefs); {Copy Indexdefinitions}
  Table2.CreateTable;                {Create Table}
  Records_Copied := Table2.BatchMove(Table1,BatCopy); {Copy Records }
  For i := 0 to Table1.IndexDefs.Count - 1 do  {BuildIndexes}
  ShowMessage('Table created! '+IntToStr(Records_Copied)+' Records copied');


Author Comment

ID: 1363596

Hopefully you won't take this as being rude, I notice you've only just logged on to E-E. The thing is, if you read my comments, I'd already promised the points for this q. to Meikl since he had already contributed heavily in earlier comments, which gave me most of the info I needed. Pending the other extra couple of items I needed clarifying, I was more than happy with his input. Needless to say, I'm having to reject your answer so that Meikl can claim the points to which I believe he is entitled. I hope you can see this. However, thanks for the info. that you did include, it does give me an alternative avenue to explore should the need arise. Like I said earlier, Meikl has given all the info I need. But please don't let this put you off from contributing to other questions on this site. your points are noted about P7 being more stable than P5, but unfortuantely, as my original question states, I'm wanting to communicate with Corel Database Publisher which can only read upto P5. I think you'll find most of the community hear most helpful and gracious (as I have tried to be). Good luck on other q's.


Have I let Simonet down gently enough ? Please post your comment again as an answer so we can close the thread. Thanks for the extra piece of coding to rebuild indexes and such like. I clears the whole thing up for me

Looking forward to seeing your name in green.

LVL 27

Accepted Solution

kretzschmar earned 200 total points
ID: 1363597
well elkiors,

now my name will be green ;-)
a little more info about the indexes in P5.
The primary con go over more fields than one, its only the secondary index, which can in P7 over more than one field.
This feature is helpful if you have a n to n relationship and you will normalize it to an 1 to n relationship with a third table.

Yes, i think you was gentle enough with simonet.

i wish you good luck on your Projects

meikl :-)

Author Comment

ID: 1363598
Thanks Meikl,

Nice of you to add the extra info for when we should be using multi-field indexes. I'll be honest, when I'm trying to map a database, I try to get to at least 3rd normal form but try and keep single field primary keys using Autoincrement fields if necessary. Unfortunately, as yet, I'm only a novice, and this may not be the most efficient way of doing things, but for me readability, conciseness are what I try to achieve. I've no doubt, when I finally get the go ahead to redesign the company stock, quote and sales systems I might view things differently.

Kind regards, and thanks for your thoughts

See you on another thread


Featured Post

Enroll in October's Free Course of the Month

Do you work with and analyze data? Enroll in October's Course of the Month for 7+ hours of SQL training, allowing you to quickly and efficiently store or retrieve data. It's free for Premium Members, Team Accounts, and Qualified Experts!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Creating an auto free TStringList The TStringList is a basic and frequently used object in Delphi. On many occasions, you may want to create a temporary list, process some items in the list and be done with the list. In such cases, you have to…
Hello everybody This Article will show you how to validate number with TEdit control, What's the TEdit control? TEdit is a standard Windows edit control on a form, it allows to user to write, read and copy/paste single line of text. Usua…
Sometimes it takes a new vantage point, apart from our everyday security practices, to truly see our Active Directory (AD) vulnerabilities. We get used to implementing the same techniques and checking the same areas for a breach. This pattern can re…
Please read the paragraph below before following the instructions in the video — there are important caveats in the paragraph that I did not mention in the video. If your PaperPort 12 or PaperPort 14 is failing to start, or crashing, or hanging, …
Suggested Courses

604 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question