Pregunta: | 17485 - VISUAL BASIC 6.0, ACCESS 2000, ADO Y CRYSTAL REPORT 6.0 |
Autor: | Miguel Peredo |
Hola, estoy creando un programa en Visual Basic 6.0 usando el motor ADO y bases de datos Access 2000...
Mi problema lo encontre al intentar usar Crystal Reports 6.0, debido a que este no me reconoce las BD de Access 2000... y el otro problema es que trabajo con ADO sin (obviamente) usar Controles Data. Como lo hago? hay alguna solución? que me recomiendas? ¿sugerencias? Adios y Saludos gracias. |
Respuesta: | ilp ilp |
conexiona crystal por dsn a la bd luego create una funcion a la q mandar los procedimientos de filtrado del tipo:
Public Sub LanzaInforme(ByVal r As String, ByVal p1 As Variant, ByVal p2 As Variant) Dim p As Variant Dim n As Integer 'Conexión con el servidor On Error GoTo ErrorLanzandoInforme Screen.MousePointer = vbHourglass If frmMain.cryInforme.Connect = "" Then frmMain.cryInforme.Connect = "ODBC;DSN=ASIGNA;usr=guest" End If frmMain.cryInforme.ReportFileName = DirReport & r 'Comprobar y liberar parámetros frmMain.cryInforme.RetrieveStoredProcParams If InStr(p1, "¬") Then For n = 1 To CountVar(p1, "¬") p = LoadVar(p1, n, "¬") If IsDate(p) Then p = Format(p, FECHA_CRYSTAL) If Not IsNull(p) Then frmMain.cryInforme.StoredProcParam(n - 1) = p Next n Else If IsDate(p1) Then p1 = Format(p1, FECHA_CRYSTAL) If IsDate(p2) Then p2 = Format(p2, FECHA_CRYSTAL) If Not IsNull(p1) Then frmMain.cryInforme.StoredProcParam(0) = p1 If Not IsNull(p2) Then frmMain.cryInforme.StoredProcParam(1) = p2 End If frmMain.cryInforme.WindowTitle = LoadVar(r, 1, ".") frmMain.cryInforme.PrintReport FinInforme: Screen.MousePointer = vbDefault Exit Sub ErrorLanzandoInforme: Screen.MousePointer = vbDefault MsgBox frmMain.cryInforme.LastErrorString & vbCrLf & error, vbCritical End Sub |