Subject | IBO 4.5Ai TIBOtable problem |
---|---|
Author | colincoleman2002 |
Post date | 2005-04-01T10:54:54Z |
We have a larger project that essentially has a TIBOQuery as a
master and a TIBOTable as a detail table, the program uses the SQL
to create a complex query that returns only the Primary key field
for the table required,
The Query And Table are configured Thus:-
With DataModule1 Do
Begin
IBOTableClient.Close;
IBOTableServer.Close;
IBOQueryClient.Close;
IBOQueryServer.Close;
IBOQueryClient.SQL.Clear;
IBOQueryClient.SQL.Add(sClientSql);
IBOQueryServer.SQL.Clear;
IBOQueryServer.SQL.Add(sServerSql);
IBOTableClient.TableName := sTableName ; // EG CUSTOMERS
IBOTableServer.TableName := sTableName ;
IBOTableClient.MasterFields := sPrimaryKeyname ; // EG CUSTREF
IBOTableServer.MasterFields := sPrimaryKeyname ;
IBOTableClient.IndexFieldNames := sPrimaryKeyname ; // Eg CUSTREF
IBOTableServer.IndexFieldNames := sPrimaryKeyname ;
IBOQueryClient.Open; // Always open Fine ;-)
IBOQueryServer.Open;
IBOTableClient.OPen; // RANDOM CRASHES...Field not found
IBOTableServer.Open; // RANDOM CRASHES ...Field not found
end;
End;
THE PROBLEM:
This has worked for years with no changes, wher there are about 50
tables, and this routine is called with each SQL, tablename,
Prikey,etc... BUT since upgrading from Ver 4.0 to 4.5Ai, what
happens is that the 2 TIBOTables randomly dont change the tablename
to the next table , on investigation we can see that the internal
fieldnames are still pointing to the previous table thus giving us
the error, "Field custref not found", even though the
IBOTABLE.tablename says the correct table.
its as though the setting of TIBOTable.Tablename does not retrieve
the fields from the database, but retains the last field list, of
course when the table is opened it crashes.
Where do i look to fix this SERIOUS problem with 4.5Ai ?
Cheers
Colin Coleman
master and a TIBOTable as a detail table, the program uses the SQL
to create a complex query that returns only the Primary key field
for the table required,
The Query And Table are configured Thus:-
With DataModule1 Do
Begin
IBOTableClient.Close;
IBOTableServer.Close;
IBOQueryClient.Close;
IBOQueryServer.Close;
IBOQueryClient.SQL.Clear;
IBOQueryClient.SQL.Add(sClientSql);
IBOQueryServer.SQL.Clear;
IBOQueryServer.SQL.Add(sServerSql);
IBOTableClient.TableName := sTableName ; // EG CUSTOMERS
IBOTableServer.TableName := sTableName ;
IBOTableClient.MasterFields := sPrimaryKeyname ; // EG CUSTREF
IBOTableServer.MasterFields := sPrimaryKeyname ;
IBOTableClient.IndexFieldNames := sPrimaryKeyname ; // Eg CUSTREF
IBOTableServer.IndexFieldNames := sPrimaryKeyname ;
IBOQueryClient.Open; // Always open Fine ;-)
IBOQueryServer.Open;
IBOTableClient.OPen; // RANDOM CRASHES...Field not found
IBOTableServer.Open; // RANDOM CRASHES ...Field not found
end;
End;
THE PROBLEM:
This has worked for years with no changes, wher there are about 50
tables, and this routine is called with each SQL, tablename,
Prikey,etc... BUT since upgrading from Ver 4.0 to 4.5Ai, what
happens is that the 2 TIBOTables randomly dont change the tablename
to the next table , on investigation we can see that the internal
fieldnames are still pointing to the previous table thus giving us
the error, "Field custref not found", even though the
IBOTABLE.tablename says the correct table.
its as though the setting of TIBOTable.Tablename does not retrieve
the fields from the database, but retains the last field list, of
course when the table is opened it crashes.
Where do i look to fix this SERIOUS problem with 4.5Ai ?
Cheers
Colin Coleman