Solved

TadoTable and Primary Key with Multi fields : Edatabase Error : Duplication in TIndexDefs

Posted on 2010-08-30
12
1,306 Views
Last Modified: 2012-05-10
Hello,

I have a MSAccess DataBase
And in this DataBase a Table with a Primary Key based on 2 fields (NumField1 and NumField2). This table is in fact linked with 2 mothers tables (one with NumField1 Field and the other with Numfield2 Field)
In delphi i use a TadoConnection  to connect my database (witj odbc driver)
I use too a TadoTable to connect my table and i don't add or specify Index

At compilation no pb.
When i execute my application i have a Edatabase error : my <Primary Key Name > is duplicate in TIndexDefs.

I tried many things and i am sure it's because i have a multi fields in my primary index in access but i don't understand why it's no walk with Tadotable in Delphi.

Thanks for your help

0
Comment
Question by:fprovin
  • 5
  • 4
  • 3
12 Comments
 
LVL 14

Expert Comment

by:systan
ID: 33560121
Reset or Reindex or Redefine TIndexDefs

If error persist after that? Remove your primary keys in your Primary Key based Table, but do not remove the primary keys in the 2 mother tables.
0
 
LVL 37

Expert Comment

by:Geert Gruwez
ID: 33560571
are you selecting from 2 tables with identical column names ?

select *
from tableA A, tableB B
where a.numfield1 = b.numfield1

table A:
numfield1
numfield2

table B:
numfield1
numfield2

change query to

select a.numfield1, a.numfield2, b.numfield1 numfield1_b, b.numfield1 numfield2_B
from tableA A, tableB B
where a.numfield1 = b.numfield1


does that work ?
0
 

Author Comment

by:fprovin
ID: 33563371
Hi,

for Geert : no i don't do this. My Tadotable component is based only on one table.
for Systan :
Reset or Reindex : in access ?
Redefine TIndexDefs : ou meen in Delphi ?

Regards
0
 
LVL 14

Expert Comment

by:systan
ID: 33563901
If TIndexDefs is a component,  remove your TIndexDefs, save delphi code, open delphi code, then drop it back again.
0
 
LVL 37

Expert Comment

by:Geert Gruwez
ID: 33564635
can you post a sample .mdb with this behaviour ?

you better add access to the zones, not just delphi
you'll get a lot more access experts to look at this Q
0
 

Author Comment

by:fprovin
ID: 33564711
Hi,

For Systran : in conception i don't have any TindexDefs component i suppose that this component is cretaed  at the execution by TadoTable Component. One fact is sure : i have nothing in my code to create this component.
In Delphi help they said that TindexDef is present in TTable andTClientDataSet  but i am not using these components. (TTable is perhaps used by TadoTable).

For reindex in access, i will do it this morning.

For Geert : ok i post a simple mdb this morning too.
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 

Author Comment

by:fprovin
ID: 33565768
Hi,

I tried to redefine Index in Access. I still have the same problem.
Here may mdb

Regards
Tests.mdb
0
 
LVL 14

Expert Comment

by:systan
ID: 33566728
Please show your code snippet accessing this database
0
 

Accepted Solution

by:
fprovin earned 0 total points
ID: 33571834
Hi,

I found the solution. If i use a client for curseur location with the tadoconnection i don't have this error. It's a little bit stupid but it means that i am obliged to use the client value for cursor location where i would prefer server but that's like that.

Thanks for all
0
 
LVL 37

Expert Comment

by:Geert Gruwez
ID: 33573649
this actually means that you are using local (memory) resources instead of the ones on the server
it's better like this if you have a lot of clients
0
 
LVL 37

Expert Comment

by:Geert Gruwez
ID: 33573652
posting code would help in finding your problem a lot faster
now it was just blind guessing
0
 

Author Comment

by:fprovin
ID: 33574367
Yeah,
you're right next time i will post the form and unit. At the beginning i was thinking it s not necessary because without code i had the problem. But i forgot parameters of the component

Best Regards
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

In this tutorial I will show you how to use the Windows Speech API in Delphi. I will only cover basic functions such as text to speech and controlling the speed of the speech. SAPI Installation First you need to install the SAPI type library, th…
How to install Selenium IDE and loops for quick automated testing. Get Selenium IDE from http://seleniumhq.org Go to that link and select download selenium in the right hand columnThat will then direct you to their download page.From that page s…
The viewer will learn how to use and create keystrokes in Netbeans IDE 8.0 for Windows.
The viewer will learn how to synchronize PHP projects with a remote server in NetBeans IDE 8.0 for Windows.

914 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

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now