pues no dices que lenguaje usas asi que lo unico que puedo recomendarte es programacion en Capas (n-Tier para los amigos anglosajones)
en la cual tu capa de acceso a datos, sea la que se encargue de
obtener los datos segun sea necesario.
te recomiendo leas este articulo excelente por cierto
N-capas: para cualquier base de datos y cualquier interfaz de usuario
y este otro
Introducción a n-Capas con VFP y VB