there is a trick to the 9s.
1. Take the number, and put a 0 on the end (which gives you the same number as multiplying by 10)
2. Subtract the number you started with.
Example, 3 x 9
1. put a 0 on the end of 3 and you get 30.
2. Subtract 3 from 30 and you get 27.
another example 8x9
1. put a 0 on the end of 8 and you get 80
2. Subtract 8 from 80 and you get 72.
Also, you can check your answer by seeing what the 2 digits of the answer are -- they will always be 9. In the 2 examples above, 2+7 is 9, and 7+2 is 9. The nines are really cool.
Another idea is to make a grid with the numbers 0-10 across both the top and the side, and then have the child fill in the grid. It helps them see the patterns. If you child is just having problems with the bigger numbers, you could make a smaller grid just using 6-9. It would make it seem like they have less to learn.
Another idea is to make a hundreds chart. You could do this with a table in a word processing program. The first row has the numbers 1-10, and the next line has 11-20, and so on to 100. The columns are aligned so that the ones match up in each row -- for example 12 is directly under 2, and 22 is under 12 and so on. (I'm not if this makes sense). Anyway, once you have it done, you child can use poker chips (or checkers or coins or whatever) to cover the muliples of the number he is working on. For example, if he is working on 6's, he would cover 6,12, 18, 24, 30, etc.
Another idea for the 8's (but this one is rather odd). The 8's were really hard for me as a child, but I could remember the 4's. To multiple by 8, just muliple by 4 and then double it. For example, if you need to know 8x6 but don't have a clue, just do 4 x 6, which is 24, then double it, which gives you 48.