Estoy aprendiendo a manejarme con el Visual Basic 2005 y poco a poco voy logrando hacer alguna que otra cosilla, pero me han surgido un par de dudas que me gustaría plantear a ver si alguien puede ayudarme con ellas

1. Tengo un programa que accede a una base de datos SQL. La cadena de conexión que tengo es esta:
"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\trayectori a\basedatos.mdf;Integrated Security=True;User Instance=True"
El programa funciona perfecto (bueno... dentro de lo que concierne a la conexión claro

Claro, eso es lógico si en la cadena de conexión le estoy dando una trayectoria completa. Entonces ¿cómo puedo hacer para que el programa acceda a una base de datos que se encuentre en su misma carpeta independientemente de la carpeta que esta sea?
Por otra parte y siguiendo con esto... si yo hago el programa con sql y quiero correr el programa generado en otro ordenador que no sea el mismo ¿va a funcionar aunque ese ordenador no tengo instalado el sql express?
2. Independiente ya de las bases de datos. Existe un formulario que quiero que tenga la opción de poder imprimirse.
En dicho formulario los datos aparecen en distintas cajas de texto y etiquetas. ¿Cómo se hace para imprimir? ¿Qué control o controles se supone que debo utilizar?
Muchas gracias por adelantado y ojalá que puedan ayudarme, especialmente con la primera duda
