Fallo al cargar un datarecor... AYuda!
Hola al ejecutar esta parte del código
Me sale el error '91' en tiempo de ejecución Variable de tipo objeto o l variable de tipo with no está establecida y se sitúa en la línea
If .EOF And .BOF Then del DataAux del recordset
¿Qué demonios pasa?.. No veo dónde estoy metiendo la pata.
Private Sub DBComboProveedor_Click(Area As Integer)
MSFlexGrid1.Visible = False
MSFlexGrid1.AllowUserResizing = flexResizeBoth
If DataProveedor.Recordset.BOF And DataProveedor.Recordset.EOF Then
FormErrorProveedor.Visible = True
Else
' Cargo el dbGrid
If Area = dbcAreaList Then
DataProveedor.Recordset.Bookmark = DBComboProveedor.SelectedItem
DataAlbaranes.RecordSource = "SELECT * FROM [Albaranes] WHERE [Proveedor] = '" & DataProveedor.Recordset("Proveedor") & "'"
DataAlbaranes.Refresh
DataAux.RecordSource = "SELECT * FROM [Albaranes] WHERE [Proveedor] = '" & DataProveedor.Recordset("Proveedor") & "'" & "AND [Cobrada]='NO'"
DataAux.Refresh
End If
With DataAux.Recordset
If .EOF And .BOF Then
FormErrorAlbaranes.Visible = True
Else
'Calculo filas y columnas
.MoveLast
MSFlexGrid1.Rows = .RecordCount + 1
MSFlexGrid1.Cols = .Fields.Count
.MoveFirst
MSFlexGrid1.TextMatrix(0, 0) = "Pagar"
'Recorro fila 0 del MSFlexgrid y pongo los Títulos
For Colu = 1 To .Fields.Count - 1
MSFlexGrid1.TextMatrix(0, Colu) = .Fields(Colu).Name
Next
'Inserto los checkbox
For fila = 1 To MSFlexGrid1.Rows - 1
MSFlexGrid1.Row = fila
MSFlexGrid1.Col = 0
MSFlexGrid1.CellFontName = "Wingdings"
MSFlexGrid1.CellFontSize = 14
MSFlexGrid1.CellAlignment = flexAlignCenterCenter
MSFlexGrid1.Text = strUnChecked
Next fila
'Recorro los campos de una calumna metiéndolos en el MSFlexgid
fila = 1
Do While Not .EOF
For Colu = 1 To .Fields.Count - 1
MSFlexGrid1.ColAlignment(Colu) = vbCenter
MSFlexGrid1.TextMatrix(fila, Colu) = .Fields(Colu).Value
Next
fila = fila + 1
.MoveNext
Loop
.MoveFirst
End If
End With
End If
MSFlexGrid1.Visible = True
End Sub
Me sale el error '91' en tiempo de ejecución Variable de tipo objeto o l variable de tipo with no está establecida y se sitúa en la línea
If .EOF And .BOF Then del DataAux del recordset
¿Qué demonios pasa?.. No veo dónde estoy metiendo la pata.
Private Sub DBComboProveedor_Click(Area As Integer)
MSFlexGrid1.Visible = False
MSFlexGrid1.AllowUserResizing = flexResizeBoth
If DataProveedor.Recordset.BOF And DataProveedor.Recordset.EOF Then
FormErrorProveedor.Visible = True
Else
' Cargo el dbGrid
If Area = dbcAreaList Then
DataProveedor.Recordset.Bookmark = DBComboProveedor.SelectedItem
DataAlbaranes.RecordSource = "SELECT * FROM [Albaranes] WHERE [Proveedor] = '" & DataProveedor.Recordset("Proveedor") & "'"
DataAlbaranes.Refresh
DataAux.RecordSource = "SELECT * FROM [Albaranes] WHERE [Proveedor] = '" & DataProveedor.Recordset("Proveedor") & "'" & "AND [Cobrada]='NO'"
DataAux.Refresh
End If
With DataAux.Recordset
If .EOF And .BOF Then
FormErrorAlbaranes.Visible = True
Else
'Calculo filas y columnas
.MoveLast
MSFlexGrid1.Rows = .RecordCount + 1
MSFlexGrid1.Cols = .Fields.Count
.MoveFirst
MSFlexGrid1.TextMatrix(0, 0) = "Pagar"
'Recorro fila 0 del MSFlexgrid y pongo los Títulos
For Colu = 1 To .Fields.Count - 1
MSFlexGrid1.TextMatrix(0, Colu) = .Fields(Colu).Name
Next
'Inserto los checkbox
For fila = 1 To MSFlexGrid1.Rows - 1
MSFlexGrid1.Row = fila
MSFlexGrid1.Col = 0
MSFlexGrid1.CellFontName = "Wingdings"
MSFlexGrid1.CellFontSize = 14
MSFlexGrid1.CellAlignment = flexAlignCenterCenter
MSFlexGrid1.Text = strUnChecked
Next fila
'Recorro los campos de una calumna metiéndolos en el MSFlexgid
fila = 1
Do While Not .EOF
For Colu = 1 To .Fields.Count - 1
MSFlexGrid1.ColAlignment(Colu) = vbCenter
MSFlexGrid1.TextMatrix(fila, Colu) = .Fields(Colu).Value
Next
fila = fila + 1
.MoveNext
Loop
.MoveFirst
End If
End With
End If
MSFlexGrid1.Visible = True
End Sub
1 Respuesta
Respuesta de jclaveria
1