Tema: Data Report
Ver Mensaje Individual
  #10 (permalink)  
Antiguo 29/10/2007, 22:36
Avatar de shadowGT
shadowGT
 
Fecha de Ingreso: octubre-2007
Mensajes: 11
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Data Report

Bueno todas sus repuestas son muy buenas pero prueba con este

Pones esto en un MODULO.

Option Explicit
Public conex As ADODB.Connection
Public record As ADODB.Recordset

Luego en los comentarios del FORM_LOAD pones lo siguiente
'LAS VARIABLES CONEX Y RECORD ESTAN DECLARADAS EN EL MODULO
'COMO VARIABLES PUBLICAS
Private Sub obtener_reporte()
Dim cadena, sql, path As String
path = App.path & "\Inventario.mdb"
'LA VARIABLE PATH ES LA DIRECCION FISICA DE LA BASE DE DATOS
'DE ACCESS O SEA KE DEBERAS CAMBIARLA SI TIENES OTRA BASE DE
'DATOS O DIRECCION FISICA DE LA MISMA
Set conex = New ADODB.Connection
Set record = New ADODB.Recordset
cadena = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & path & ";Persist Security Info=False"
conex.ConnectionString = cadena
conex.Open cadena
sql = "Select codigo,descripcion,precio,marca,fecha From Productos"
'SI DESEAS OBTENER UN REGISTRO EN ESPECIAL DEBES CAMBIAR EL COMANDO SQL
record.LockType = adLockOptimistic
record.CursorLocation = adUseClient
record.CursorType = adOpenDynamic
record.Open sql, conex
'AQUI SE ASIGNA EL DATA SOURCE DEL RECORDSET AL DATA SOURCE DEL DATAREPORT
With DataReport2
Set .DataSource = Nothing
.DataMember = ""
Set .DataSource = record.DataSource
'AQUI SE HACE REFERENCIA A LAS CASILLAS DE TEXTO DEL DATAREPORT
'Y SE LES ASIGNA UN CAMPO A CADA UNA PROVENIENTE DEL RECORDSET
For i = 1 To 5
.Sections("Sección1").Controls.Item(i).DataMember = ""
.Sections("Sección1").Controls.Item(i).DataField = record.Fields(i - 1).Name
Next i
End With
DataReport2.Show

End Sub


Luego en el boton imprimir lo siguiente

Private Sub Command1_Click()
obtener_reporte
End Sub

solo tienes que asegurarate que i = al numero de columnas de tu tabla y que en el diseño del data report haya un numero igual te etiquetas no enlazadas