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