Heat oven to 350° F. Place the ham on a foil-lined baking sheet and cook until heated through, 50 to 60 minutes, spreading the ham with the preserves after 20 minutes of cooking.
Meanwhile, place the potatoes in a medium saucepan. Add enough cold water to cover and bring to a boil. Add 1 teaspoon salt, reduce heat, and simmer until tender, 15 to 18 minutes.
With a slotted spoon, transfer the potatoes to a colander; run under cold water until cool. Add the asparagus to the boiling water and cook until tender, 2 to 3 minutes; drain and run under cold water to cool. Cut the potatoes into quarters.
In a large bowl, whisk together the oil, vinegar, horseradish, ½ teaspoon salt, and ¼ teaspoon pepper. Add the vegetables and toss to combine; fold in the dill. Thinly slice the ham and serve with the vegetables.