If Fido is not housebroken, he should not have unsupervised time in your house. It takes only seconds for him to have an accident, so, in the early stages of your housebreaking program, he must be directly supervised the entire time he is in the house.
Direct supervision guarantees that if Fido is about to make a mistake, you're able to catch him, correct him, and guide him into doing the right thing. If he attempts to have an accident in the house, don't panic... as long as you catch him, it's a learning opportunity. You can teach him at that moment that going potty in the house doesn't feel as good as going outside.
It's always discouraging when Fido has an accident in the house, but there's a big difference between the accidents you catch and the accidents you don't. If Fido has an accident and there's nobody there to let him know it's wrong, it actually works out pretty well for him... he's uncomfortable because his bowels or bladder feel full and he gets relief when he lets loose on your nice, expensive rug. If he gets the same relief from pottying inside as he does from pottying outside, why should he wait? The accidents you don't catch Fido having prevent him from becoming housebroken, so the immediate goal of your housebreaking program is to catch and correct all of Fido's attempts to go potty in the house... starting NOW.
So, what do we mean when we say "direct supervision"? It's more than just keeping Fido in the same room with you... he can be pretty slick and very quick, so you might find a puddle on the floor if he wanders away unnoticed for a few moments. Direct supervision requires you to have your eyes on Fido or have physical contact with him at all times. You can carry him, have him in your lap, have him with you on a leash or just watch him like a hawk... just remember that you need to know what he's up to at all times when he's in the house.
Sometimes when there's more than one person helping to care for Fido, being sure he's supervised at all times can be even trickier... when there's more than one person in the room, everyone thinks that someone else is watching the dog. This problem can be solved by assigning supervision responsibility to one person in the room and not allowing that person to just wander away from the dog, assuming someone else will keep on eye on him. When the person in charge is no longer able to give his full attention to Fido's supervision, he must assign responsibility to someone else or put Fido in his kennel or out in the yard.
If there are children helping with Fido's training and supervision, you may need to take things a step further, since kids have a tendency to get distracted and wander away, forgetting that they were supposed to be watching Fido. With kids (or easily distracted adults!), the best method is for the person supervising the dog to have the dog on leash and hold the leash the entire time he's supervising Fido. When the person holding the leash is going to stop supervising the dog, he has to either hand the leash to another person, or put Fido in his kennel or out in the yard.
Getting used to watching Fido at all times can be especially difficult if you've had him for a while and you're used to the freedom of having him run around the house on his own. It's hard to get in the habit of being vigilant, but if Fido's still having accidents, he's proven that he's just not ready for that level of responsibility yet. If you get into the new habit of supervising Fido, he'll get into the habit of not going potty in the house and your housebreaking program will be back on track.
All unhousebroken dogs, regardless of age, must be supervised at all times. No exceptions, so don't even ask!