I tried to import a very simple table from Excel - just a number in each cell going across - 256 columns. I received a subscript error. I reduced the columns used to 250 and the table imported just fine. By going into the design view of this table, I quickly learned that the max number of "columns" is 255. So there's the answer to that question.
But I have a question -
I don't understand why you would try to combine three tables that have a common field into one "flat" table. Access' power comes from the fact that it is a relational database. For that matter, I don't understand why you'd even have tables with 150 column headings, but if you're tracking that much information - more power to you. I'd go with Geoff's idea and use a query to combine the information needed. Assign the common column as a Primary Key.
As far as the information a table can hold, we have an Access table with well over 2 million records (rows). It takes a while to query, but it has a LOT of history in one place.
Hope that helps,
John