When Mining finishes, there will be a finite number of BTC yes? At that point, how will people earn bitcoins based on transactins?
Today, when a miner solves a block they get 25 btc + the transaction fees from all transactions in that block. In another four years the block reward will drop, and miners will get 12.5 btc + the transaction fees from all transactions in that block. This continues droppping the reward by half, so eventually the miners will get just the transaction fees from all transactions in that block.
You can go look at blockexplorer.com to see recent blocks and get an idea of how much transaction fees are being collected.
The more popular bitcoins becomes, the more transactions get put in each block, miners make more money. The higher the exchange rate, the transaction fees will be worth more and the miners will get more money.
Mining will never finish, the block subsidy will diminish to 0, but the transaction fees will continue. Block subsidy is new bitcoins entering the system, transaction fees on the other hand are bitcoins that were held by the person making the transaction. So while miners will still get paid to produce blocks, the number of bitcoins remains constant.
edit: I just checked
the latest block and the miner received 25 btc block reward plus 0.7119 btc transaction fees. So for that block, the transaction fees were about 2.7% of what the miner got for mining that block.