Solved

Help with Databases and multiple tables

Posted on 2001-06-21
4
138 Views
Last Modified: 2010-04-04
I haven't done much development with databases so I need some help.

I have two Access databases.   I need to look in the registry for a certain value
sLocale := jciRegsUtil.GetRegStringValue(TOOL, 'AimVer', 'LocaleName', '');
and search my Logistics table(Warehouse database) for records with sLocale in the Area field and add these records to my Contact table (Address database).
                   
I was going to try using the BatchMove component with the batAppend, but I believe that would append the entire second table.  Is there a way to use a select statement in a query and then the BatchMove to add the records from the select statement?

 Any help/code  would be appreciated :)

0
Comment
Question by:Tammi
  • 2
  • 2
4 Comments
 
LVL 1

Expert Comment

by:trex_fire
Comment Utility
No but you can cycle through your query and insert your rows in your other table by putting another query with parameters.  Like:

MyQuery.Open;
While not MyQuery.EOf do begin
  InsertQuery.ParamByName('Param1').AsSomething := ...;
  InsertQuery.ParamByName('Param2').AsSomething := ...;
  ...
  InsertQuery.ExecSQL;
  MyQuery.Next;
end;

In InsertQuery, your SQL will look like this:

Insert into TableName
  (Field1,Field2,...)
  values (:Param1,:param2,...)

Hope it helps  ;)

T-Rex
0
 

Author Comment

by:Tammi
Comment Utility
I actually got the BatchMove function to work by specifying my query as the source.  I'm still having problems getting the variable (Param) to work.  When I run the code below, I get a error "Parameter Param1 not found".  Any ideas??

begin
      qryArea := TQuery.Create(nil);
      qryArea.DatabaseName := 'dbnWarehouse';
      Param1 := TParam.Create(nil);
      qryArea.Params.AddParam(Param1);
      qryArea.ParamByName('Param1').Value := sLocale;
      qryArea.SQL.Text := 'SELECT * FROM Logistics WHERE Area = :Param1';
      qryArea.ExecSQL;
      BtchMvBradford.Source := qryArea;
      BtchMvBradford.Execute;
      qryArea.Free;
    end;

Thanks!!

Tammi
0
 
LVL 1

Accepted Solution

by:
trex_fire earned 100 total points
Comment Utility
Ok would be easier to put your SQL in your TQuery and then look in Params property and adjust 'Param1' properties and Open / Close your query instead of ExecSQL... or just put your SQL before accessing your Params like:

begin
     qryArea := TQuery.Create(nil);
     qryArea.DatabaseName := 'dbnWarehouse';
     Param1 := TParam.Create(nil);
     qryArea.SQL.Text := 'SELECT * FROM Logistics WHERE Area = :Param1';
     qryArea.Params.AddParam(Param1);
     qryArea.ParamByName('Param1').Value := sLocale;
     qryArea.ExecSQL;
     BtchMvBradford.Source := qryArea;
     BtchMvBradford.Execute;
     qryArea.Free;
   end;


trex_fire@hotmail.com

T-Rex

 
0
 

Author Comment

by:Tammi
Comment Utility
I ended up using the TQuery component and putting the SQL in the properties.  I had tried this previously but kept getting errors.  Discovered that I should have defined the DataSource, just the Database.  I used the following code:

begin
      qryArea.ParamByName('Param1').Value := sLocale;
      qryArea.Open;
      BtchMvBradford.Source := qryArea;
      BtchMvBradford.Execute;
      qryArea.Close;
      BtchMvBradford.Free;
    end;

Thanks for your help!!

Tammi
0

Featured Post

Why You Should Analyze Threat Actor TTPs

After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

Join & Write a Comment

Suggested Solutions

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…
Illustrator's Shape Builder tool will let you combine shapes visually and interactively. This video shows the Mac version, but the tool works the same way in Windows. To follow along with this video, you can draw your own shapes or download the file…
This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're looking for how to monitor bandwidth using netflow or packet s…

772 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

10 Experts available now in Live!

Get 1:1 Help Now