Append table with another table and user input

Vbanoob98

Board Regular
Joined
Sep 13, 2019
Messages
105
Hello guys,

I have an issue which I assume is very simple yet I can't seem to figure it out. (Just started learning Access a few weeks ago)

I have a table called Table1 with the following columns:
ID (autogenerated)SUBMonthTotalComments
1GOP1901500Payment
2GAP1901600Payment

<tbody>
</tbody>

And the second Table2 with the following columns:

AutoNumber(Autogenerated)IDCustomerIDAmountName

<tbody>
</tbody>


So what I want is to append the data from Table 1 to Table 2 but only specific columns :

ID---> ID
Total---> Amount

and the rest to be inputted by the user, so:

CustomerID---> Inputted by user
Name---> Inputted by user

The kick is that there will be many rows to be appended but the CustomerID and Name should be the same input for all rows.

So the end result would look like this:

AutoNumber(Autogenerated)IDCustomerIDAmountName
11123456500John
11123456600John

<tbody>
</tbody>

And this process is to be repeated every month, so ideally there would be a way to only append for the selected month e.g. 1901. Or is there a way to append everything but ignore duplicates which would be easier maybe?

Thanks a lot!
 
Last edited:

Some videos you may like

Excel Facts

Did you know Excel offers Filter by Selection?
Add the AutoFilter icon to the Quick Access Toolbar. Select a cell containing Apple, click AutoFilter, and you will get all rows with Apple

xenou

MrExcel MVP, Moderator
Joined
Mar 2, 2007
Messages
16,628
Office Version
2013
Platform
Windows
The raw sql you need is this:

Code:
insert into Table2 (ID, CustomerID, Amount, [Name])
select 
	Table1.ID, 
	123456 as CustomerID, 
	Table1.Total as Amount, 
	'John' as Name
from Table1
The same code can be written for user input with parameters:
Code:
Parameters [Enter CustomerID] Long, [Enter Name] Text ( 255 );
insert into Table2 (ID, CustomerID, Amount, [Name])
select 
	Table1.ID, 
	[Enter CustomerID] as CustomerID, 
	Table1.Total as Amount, 
	[Enter Name] as [Name]
from Table1
It's probably horrible to let users run batch processes with inputs though - the eventuality of user error is unavoidable. At minimum you will probably need to use a form to guide the user during the process with textboxes to hold the input values.
 

Vbanoob98

Board Regular
Joined
Sep 13, 2019
Messages
105
Thank you! I will test this tomorrow :)

Also how could I make it so that I can run the code based on a Month variable? Or do you have any pointer on where to look for the answer?
 
Last edited:

Vbanoob98

Board Regular
Joined
Sep 13, 2019
Messages
105
When running the Sql object I get an error of "Couldn't not find file \\user\account\Data.mdb

Whats that about? :s
 

xenou

MrExcel MVP, Moderator
Joined
Mar 2, 2007
Messages
16,628
Office Version
2013
Platform
Windows
to use a variable to filter results add a where clause:
Code:
Parameters [Enter CustomerID] Long, [Enter Name] Text ( 255 ), [Enter Month] Text ( 255 );
insert into Table2 (ID, CustomerID, Amount, [Name])
select 
	Table1.ID, 
	[Enter CustomerID] as CustomerID, 
	Table1.Total as Amount, 
	[Enter Name] as [Name]
from Table1
where Table1.[Month] = [Enter Month]
I don't know what you mean by a sql object. I assumed you are running the query as an Access query - that looks like you are using some other means to run queries.
 

Watch MrExcel Video

Forum statistics

Threads
1,095,954
Messages
5,447,531
Members
405,456
Latest member
melmelseh

This Week's Hot Topics

Top