Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 5 of 5 total
Thread 11013 Access denied, when using memory tables
Thu, Aug 23 2007 4:41 PMPermanent Link

"Lucian"
Hi,

I am doing something simple and still I'm missing something.

Attached to a grid (on a multitabsheet pagecontrol), I have a
TDBISAMQuery like this:

select * into "memory\temp1" from expenses where City='SOMECITY'

Than next, I want to create a chart and reuse the table temp1, for
additional grouping/filtering (this will be displayed actually on
another tabsheet).

So I create a new TDBISAMQuery, with a SQL like this:

select Category, SubCategory, Payee, SUM(Cost) as SUM_Cost
 from "memory\temp1"
GROUP BY Category, SubCategory, Payee

when I open this query however, I get the 11013 exception.

What a heck am i doing wrong?


TIA,
Lucian
Thu, Aug 23 2007 6:09 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Lucian,

<< when I open this query however, I get the 11013 exception. >>

Make sure that you Close or Unprepare the first query.  That will allow you
to access the in-memory table.

--
Tim Young
Elevate Software
www.elevatesoft.com

Thu, Aug 23 2007 8:42 PMPermanent Link

"Lucian Radulescu"
> Make sure that you Close or Unprepare the first query.  That will
> allow you to access the in-memory table.

Umm ... if I do that the data from the first grid will clear and I'll
have to re-run the first query when I'll switch back to that tab ...
not really what I had in mind.

So it's not possible to show a grid based on an in-memory table and at
the same time say, launch another query on the same in-memory table?

Lucian
Thu, Aug 23 2007 9:37 PMPermanent Link

"Robert"

"Lucian Radulescu" <lucianATez-delphiDOTcom> wrote in message
news:xn0faavo9m9jn000@news.elevatesoft.com...
>> Make sure that you Close or Unprepare the first query.  That will
>> allow you to access the in-memory table.
>
> Umm ... if I do that the data from the first grid will clear and I'll
> have to re-run the first query when I'll switch back to that tab ...
> not really what I had in mind.
>
> So it's not possible to show a grid based on an in-memory table and at
> the same time say, launch another query on the same in-memory table?
>


Sure it is.

Drop a ttable component on the form, set the database to memory, and after
you open and close the query, you have a table that works just as any other
table. You can open it and close it, run queries against it, etc.

Of course, the datasource for the first grid needs to be linked to this
memory table. Your code will be

query.open; // select into memory
query.close;  // now the table is just alike any other table
table.open;

Robert

Fri, Aug 24 2007 8:47 AMPermanent Link

"Lucian"
> Robert

Thanks Robert, I'll give it a try.

Lucian
Image