In Response To 'Re: NDSolve with parameter'
The example you describe
is usually used in arguments to functions that do not evaluate their arguments in the standard way. Sometimes things like Plot or Integrate or other similar functions, when given a function as an argument, will attempt some symbolic evaluations rather than strictly numeric evaluations. That often causes errors and confusion on the part of users.
But that isn't going to turn a variable 'a' into a numeric value so that NDSolve will be able to use it. All that would do is stop evaluation of your function until 'a' were given a numeric value, and I don't think that is what you want.
The only thing I can think which might possibly help you would be for you to create a Table of solutions, one for each numeric value of 'a.'
Then you could overlay plots of all the solutions, etc.