I agree with Tony.....3 weeks is a long time to be vomiting.....You are risking dehydration which is very dangerous and leads to just more problems......What is she eating? And what treats are you feeding?
Ok, if she is eating and drinking, that's good. However, that fact also rules out the normal nausea associated with eating something she shouldn't and it causing temporary sickness. If she is still vomiting after 3 weeks, that's a very long time, and she will really need to see a vet for further tests. It could possibly be her food, as some dogs develop an allergic reaction to certain things even if they haven't had such reactions before. It may be worth trying her on something really gentle, such as cooked chicken and boiled white rice, for a day or two to see if things settle down - but it would equally be far better to get her to the vet for a proper diagnosis. Has your dog lost weight, despite eating normally? If so, this could be worms - when did you last de-worm her? This is also possible if she is the type of dog that picks things up to eat from elsewhere and/or is free to roam off the leash at any time. Please do let us know how you get on. Tony