Como resuelvo el error: object variable or with block variable not set? En VB6
Option Explicit
Public Activo As New ClassActivo
Dim cantidad As Integer
Dim Descripcion As String
Dim numInventario As String
Dim EstadoE As String
Dim EstadoB As String
Dim Estado As String
Dim detalles As String
Dim folio As String
Dim k As Integer
Dim arrayActivos() As ClassActivo
Dim Aplicacion As CRAXDRT.Application
Dim Reporte As CRAXDRT.report
Dim parametros As CRAXDRT.ParameterFieldDefinitions
Dim CamposOrden As CRAXDRT.SortFields
Dim ObjUtil As CafUtil.DBUtil2
Dim bd As ClassParam
Dim rsSeeks As ADODB.Recordset
Dim Pagina As Boolean
Dim mvarSelecctionFormula As String
Dim mvarFiltro As String
Dim Valida As Boolean
Dim pBoolLoad As Boolean
Dim rsDetCia As ADODB.Recordset
Private Sub Form_Load()
Set ObjUtil = New CafUtil.DBUtil2
Set rsSeeks = New ADODB.Recordset
Set Aplicacion = CreateObject("CrystalRuntime.Application.10")
'Pagina = False
pBoolLoad = True
End Sub
Private Sub Form_Unload(Cancel As Integer)
Set Aplicacion = Nothing
Set Reporte = Nothing
Set parametros = Nothing
Set CamposOrden = Nothing
Set ObjUtil = Nothing
Set bd = Nothing
Set rsSeeks = Nothing
Set rsDetCia = Nothing
cantidad = 0
txtCant.Text = cantidad
txtDesc.Text = ""
txtInv.Text = ""
txtObs.Text = ""
txtNom.Text = ""
txtArea.Text = ""
txtEdif.Text = ""
txtPiso.Text = ""
txtExt.Text = ""
Option1.Value = False
Option2.Value = False
cmbDetalles.Clear
k = 0
End Sub
Private Sub Impresiones1_ClickConfig()
On Error GoTo Cancela
menuprin.Dialog1.Flags = cdlPDPrintSetup
menuprin.Dialog1.ShowPrinter
ParamSis.NombrePrint = Printer.DeviceName
ParamSis.PuertoPrint = Printer.Port
ParamSis.DriverPrint = Printer.DriverName
Exit Sub
Cancela:
Screen.MousePointer = 0
Exit Sub
End Sub
Private Sub Impresiones1_ClickDisco()
'Reporte.PaperOrientation = crLandscape
With Impresiones1
'RepDisco.reporta tmpDesCor & " " & Format(Date, "yymmdd")
'RepDisco.reporta "Resguardo " & Format(Date, "yymmdd")
RepDisco.reporta2 Reporte, repListado & " " & Format(Date, "yymmdd")
End With
End Sub
Private Sub Impresiones1_ClickImpresora()
On Error GoTo ErrHandler
Screen.MousePointer = vbHourglass
Call Reporte.SelectPrinter(ParamSis.DriverPrint, ParamSis.NombrePrint, ParamSis.PuertoPrint)
If Pagina Then
Reporte.PaperOrientation = crLandscape
Else
Reporte.PaperOrientation = crPortrait
End If
If Valida Then Reporte.PrintOut False
Screen.MousePointer = 0
Exit Sub
ErrHandler:
Screen.MousePointer = 0
MsgBox Err.Description & vbLf & Err.Source, vbCritical, App.ProductName & " error No. " & Err.Number
End Sub
Private Sub Impresiones1_ClickPantalla()
Call Reporte.SelectPrinter(ParamSis.DriverPrint, ParamSis.NombrePrint, ParamSis.PuertoPrint)
If Pagina Then
Reporte.PaperOrientation = crLandscape
Else
Reporte.PaperOrientation = crPortrait
End If
Screen.MousePointer = vbHourglass
Me.Enabled = False
'menuprin.Enabled = False
If Valida Then previo2.Previo Reporte
'menuprin.Enabled = True
'Me.Show vbModal, menuprin
Me.Enabled = True
Screen.MousePointer = 0
End Sub
Private Sub Impresiones1_ClickSalir()
Unload Me
End Sub
Private Sub Impresiones1_ClickTodo(Cancel As Boolean)
On Error GoTo ErrHandler
Dim i As Integer
Dim DBTable As CRAXDRT.DatabaseTable
Dim CPProperty As CRAXDRT.ConnectionProperty
Dim parametro As CRAXDRT.ParameterFieldDefinition
Set rsDetCia = New ADODB.Recordset
Set rsDetCia = ObjUtil.GetDbReadOnly(ParamCia.CnstrDB, "DETCIA")
Screen.MousePointer = vbHourglass
Set Reporte = Nothing
cmbCant.Text = ""
cmbDesc.Text = ""
cmbInv.Text = ""
cmbEdo.Text = ""
'----------------------------
Set Reporte = Aplicacion.OpenReport(RepDir & "asignacionEspecifica.rpt")
Reporte.DiscardSavedData
Set parametros = Reporte.ParameterFields
Valida = True
'If Obtiene_Formula Then
' Reporte.RecordSelectionFormula = mvarSelecctionFormula
'Else
' Reporte.RecordSelectionFormula = ""
' End If
If Not Valida Then
Screen.MousePointer = 0
Exit Sub
End If
folio = "00001"
'Carga_Recordset
For i = 1 To parametros.Count
Select Case parametros.Item(i).Name
Case "{?observaciones}"
Set parametro = parametros.Item(i)
parametro.SetCurrentValue txtObs.Text
Case "{?Folio}"
Set parametro = parametros.Item(i)
parametro.SetCurrentValue folio
'-------------ciclar-------------------------
Case "{?cantidad}"
' For k = 0 To cmbDetalles.ListCount - 1
Set parametro = parametros.Item(i)
parametro.SetCurrentValue txtCant.Text
' Next k
Case "{?descripcion}"
Set parametro = parametros.Item(i)
parametro.SetCurrentValue txtDesc.Text
Case "{?inventario}"
Set parametro = parametros.Item(i)
parametro.SetCurrentValue txtInv.Text
Case "{?estadoE}"
Set parametro = parametros.Item(i)
parametro.SetCurrentValue Estado
Case "{?estadoB}"
Set parametro = parametros.Item(i)
parametro.SetCurrentValue Estado
'------------------------------------------------------
Case "{?Edificio}"
Set parametro = parametros.Item(i)
parametro.SetCurrentValue txtEdif.Text
Case "{?PISO}"
Set parametro = parametros.Item(i)
parametro.SetCurrentValue txtPiso.Text
Case "{?EXT}"
Set parametro = parametros.Item(i)
parametro.SetCurrentValue txtExt.Text
End Select
Next
'Set parametro = Nothing
' Reporte.OpenSubreport("encabezadoV").DataBase.Tables.Item(1).SetPrivateData 3, rsDetCia
Screen.MousePointer = vbDefault
Exit Sub
'---------------
ErrHandler:
Screen.MousePointer = 0
MsgBox Err.Description & Chr(13) & Err.Source, vbCritical, "Erro No " & Err.Number
End Sub
Private Sub add_Click()
detalles = "" & cantidad & " "
detalles = detalles & txtDesc.Text & " "
detalles = detalles & txtInv & " "
detalles = detalles & Estado
cmbDetalles.AddItem (detalles)
cmbDetalles.ListIndex = cmbDetalles.NewIndex
cmbCant.AddItem (txtCant.Text)
cmbCant.ListIndex = cmbCant.NewIndex
cmbDesc.AddItem (txtDesc.Text)
cmbInv.AddItem (txtInv.Text)
cmbEdo.AddItem (Estado)
Activo.setCantidad = cantidad
Activo.setDescripcion = Trim(txtDesc.Text)
Activo.setInventario = Trim(txtInv)
Activo.setEstado = Estado
ReDim Preserve arrayActivos(0 + k)
' arrayActivos(k) = Activo
k = k + 1
arrayActivos(0) = Activo '<------JUSTO AQUI NO ME DEJA INSERTAR ESE ELEMENTO EN EL ARRAY
cantidad = 0
txtCant.Text = cantidad
txtDesc.Text = ""
txtInv.Text = ""
Option1.Value = False
Option2.Value = False
End Sub
Private Sub btnMas_Click()
cantidad = txtCant.Text
cantidad = cantidad + 1
txtCant.Text = cantidad
End Sub
Private Sub btnMenos_Click()
cantidad = txtCant.Text
If txtCant.Text = 0 Then
...