What's in column 1? You asked about Dim [Price], why don't you store the price in a table so it's accessible whenever you want without worrying about whether it's declared or not?
If you are going to join it on data from a table, you'll probably want a function getPrice() as Price that displays the price in a query, but that price is going to change I assume depending on what is in column 1. Right? So you'll need to getPrice(identifier as [Datatype]) based on the information in column1. Using the identifier, you could then calculate a Price and display that. (This will probably slow down the query...A Lot)
IE
[VBA]
SELECT Table1.Product, getPrice([Table1].[Product]) as Price From Table1
....
Function getPrice(p as String) as Double/Currency
getPrice = [logic for determining the price based on column1 information]
End Function
[/VBA]
I would suggest storing the Price into a table with its associated [Column1] data. Whether you do it in a temp table that just gets deleted later, or a permanent table that gets updated at a certain point in the application, it'll perform better that way and you can ensure the correct data.
HTH