Solved

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

Posted on 2010-08-30
12
1,323 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
Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
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
 

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

Free Tool: Postgres Monitoring System

A PHP and Perl based system to collect and display usage statistics from PostgreSQL databases.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

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…
In my programming career I have only very rarely run into situations where operator overloading would be of any use in my work.  Normally those situations involved math with either overly large numbers (hundreds of thousands of digits or accuracy re…
This tutorial covers a step-by-step guide to install VisualVM launcher in eclipse.
THe viewer will learn how to use NetBeans IDE 8.0 for Windows to perform CRUD operations on a MySql database.

856 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