Impresión y algo de base de datos

Tengo problemas con la impresión en Visual Basic, la verdad es que muchas veces, a pesar de que haga todo bien el Visual imprime lo que se le canta. Me dijeron que tengo que usar Crystal Report para eso, para la verdad es que no se como imprimir con esto. Tengo un poco de experiencia con el objeto printer no se si me sirva, pero lo aclaro.
Mi otra duda consiste en que necesito desarrollar una aplicación con una base de datos, tengo algo de teoría, pero no se si usar ADO, o DAO, es para una base de datos de tipo local. Si necesitas más aclaraciones avisame. Por otro lado, la base de datos la armo en access, y me tomo el trabajo de hacerla bien, uso varias tablas, y armo relaciones, indexo, etc. Pero no sé en que me ayudan las relaciones en Visual Basic.

1 respuesta

Respuesta
1
Tu pregunta es muy completita...
1. Usa ADO, no hay discusión posible, bueno si, puedes usar el control ADODC o código.
1.1 Para usar el control debes añadir el component "Microsoft ADO Data Control". Una vez añadido a tu proyecto haz click con botón derecho sobre él y podrás configurar el enlace con la BD.
1.2 Yo personalmente te recomiendo usar código, puede que sea un poco más complicado pero no lo suficiente como para acobardarse ;).
Por lo tanto, si me vas ha hacer caso:
- Crea una fuente de datos ODBC en Panel de Control-Fuentes de datos ODBC que enlace tu BD (Ej. TuODBC).
- Añade a tu proyecto vb una nueva referencia "Microsoft ActiveX Data Objects 2.? Library"
- Declara dos variables:
dim cn as ADODB.Connection
dim rcset as ADODB.Recordset
- En el Form_Load
set cn = New ADODB.Connection
cn.ConectionString="DSN=TuODBC"
cn.open
set rcset = New ADODB.Recordset
rcset.activeconnection=cn
rcset.LockType = adLockPessimistic 'u otra segun tus necesidades
rcset.CursorType = adOpenKeyset 'u otra segun tus necesidades
rcset.Source = "SELECT * FROM Tabla"
rcset.open
Con esto ya tienes abierta la conexión con la BD, y mediante el recordset podrás:
rcset("Campo") = text1 'asignar un valor a un campo
text1 = rcset("Campo") 'recoger una valor de un campo
rcset.Update 'guardar las modificaciones de un registro
rcset.delete 'eliminar un registro
rcset.movefirst 'moverte al primer registro
rcset.moveprevious 'al anterior
rcset.movenext 'al siguiente
rcset.movelast 'al último
...
2. Si tienes que realizar listados de los datos de una BD una de las mejores opciones es Crystal Reports en cualquiera de sus versiones, la 4.5 la tienes en el CD 3 de visual studio en español ("\common\tools\vb\spanish\reports\" creo).
Es muy sencillo de usar, mediante un asistente crearas el informe al estilo de los de access.
Para poder llamar a un informe tendrás que añadir un componente a tu proyecto "Crystal Report Control"
Lo básico para su uso es:
Destination ' Pantalla o impresora
ReportFileName 'Fichero crystal
SelectionFormula 'Para filtrar los datos al estilo de SQL crp.SelectionFormula = "{Clientes.Ciudad} = 'Madrid'"
PrintReport 'Metodo para lanzar el informe
Me he liado un poco pero como ya te he dicho tu pregunta da para un curso ;)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas