Improve company productivity with a Business Account.Sign Up

x
?
Solved

Open a table through dropdown combo

Posted on 2002-04-27
11
Medium Priority
?
252 Views
Last Modified: 2010-04-04
Just for learning sake....
How can I open (Database is Access using ADO) a table when I select an entry in dropdown combo?
Example:
I have city names in my strings in combo so when I select a name I get the db table open in db grid and so on...
0
Comment
Question by:Enej
  • 4
  • 2
  • 2
  • +3
11 Comments
 
LVL 6

Expert Comment

by:Stuart_Johnson
ID: 6973107
If you're using a TADOTable to open the tables, and provided the table names are the same as the city names, then do this:

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
  ADOTable1.Close;
  try
    ADOTable1.TableName := ComboBox1.Text;
    ADOTable1.Open;
  except
    on E: Exception do
      MessageDlg('Unable to open table ' + Combo1.Text + #13+ E.Message, mtError, [mbOK], 0);
  end;
end;

Hope this helps,

Stu
0
 

Author Comment

by:Enej
ID: 6973141
First, on ...exception is malfunctioning?
I added nonexistent table name to combo string just to test it but did not get the above msg,only windows warning that it cant open table.(?)

0
 
LVL 26

Expert Comment

by:Tomas Helgi Johannsson
ID: 6973414
Hi!

I'm guessing that you are using 1 table with information about cities.
If so you should have index on the city-name field in the table and do the following.

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
 ADOTable1.Close;
 try
   ADOTable1.TableName := sTableName; // 1)
   ADOTable1.Open;
   ADOTable1.FindKey([ComboBox1.Text]);
 except
   on E: Exception do
     MessageDlg(E.Message, mtError, [mbOK], 0);
 end;
end;

1) sTableName is a string variable which holds the tablename. This could be set at design time.

I beleive that you know how to connect the table to a datasource and the datasource to a dbgrid. ;)
The information about the selected city should appear in the dbgrid.

Regards,
Tomas Helgi


0
Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

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 1

Expert Comment

by:Moondancer
ID: 6973818
Hi, Enej.

I posted comments in two of your old, open questions; please update and finalize them.

Thank you,

Moondancer - EE Moderator
0
 
LVL 4

Expert Comment

by:nestorua
ID: 6981746
HI,
First use GetTableNames method of TSession to fill your Combo,
then choose the Table Name from that list.
Sincerely,
Nestorua.
0
 

Author Comment

by:Enej
ID: 6982642
Mind detailing nestor????
0
 
LVL 6

Accepted Solution

by:
Stuart_Johnson earned 400 total points
ID: 6982696
Say your combo is called TableListCombo.

Session.GetTableNames('ALIASNAME', '*', false, false, TableListCombo.Items);

This will populate your combo with all the tables in that alias.  That will ensure you don't get the error you mentioned above.

Stu
0
 
LVL 4

Expert Comment

by:nestorua
ID: 6986169
HI,
I have nothing to add after Stuar_Johnson comment.
Sincerely,
Nestorua.
0
 

Author Comment

by:Enej
ID: 7736429
OK !Thanks !
0
 
LVL 1

Expert Comment

by:SJohnson
ID: 7736470
Wow!  Almost a year to finalise a question :)
0
 

Author Comment

by:Enej
ID: 7736771
I forgot about this Q really ....
Sorry !
0

Featured Post

Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

This article explains how to create forms/units independent of other forms/units object names in a delphi project. Have you ever created a form for user input in a Delphi project and then had the need to have that same form in a other Delphi proj…
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…
Wrapper-1-Query. Use an Excel function to calculate a column for an Access query. Part 1. Shows a query in Access that has a calculated column with the results of an Excel worksheet function. See how to call a wrapper function from a query, and …
A query can call a function, and a function can call Excel, even though we are in Access. This is Part 2, and steps you through the VBA that "wraps" Excel functionality so we can use its worksheet functions in Access. The declaration statement de…

587 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