Tengo un problema con un ListView, que tiene checkBox, ya que tengo segun los datos del ListView algunos aparecen Tildados y otros no, y cuando preciono en el Boton Enviar, tendria que desaparecer los tildados
Este es el Codigo que Uso
Código:
Hola a todos
Tengo un ListView con checkbox y estos reciben si el tilde automaticamente segun un campo de access, o bien puedo tildarlos manualmente
Codigo:
Private Sub PreparaCabeceraLV(Lv As ListView)
Dim i As Integer
Lv.ColumnHeaders.Add , , "x", 310
Lv.ColumnHeaders.Add , , "D.C.", 900, , "ud"
Lv.ColumnHeaders.Add , , "Fecha", 1000, , "ud"
Lv.ColumnHeaders.Add , , "Paciente", 2000, , "ud"
Lv.ColumnHeaders.Add , , "Obra Social", 1440, , "ud"
End Sub
Sub Actualizar_ListView(Item As ListItem)
Dim rs As New ADODB.Recordset
Dim SQL As String
SQL = "UPDATE contratos set paso1 = " & IIf(Item.Checked, 1, 0) & _
" where id_contratos = " & CLng(Item.Tag) & ""
Set rs = Crear_Recordset(cnn, SQL)
Set rs = Nothing
End Sub
Sub Cargar_ListView(Lv As ListView, rs As ADODB.Recordset)
Dim Item As ListItem
Dim i As Integer
Lv.ListItems.Clear
Lv.ColumnHeaders.Clear
'CABECERAS
Call PreparaCabeceraLV(Lv)
Me.MousePointer = vbHourglass
If rs.RecordCount > 0 Then
rs.MoveFirst
While Not rs.EOF
Set Item = LV_Prestaciones.ListItems.Add(, , rs(0))
' almacen el id que luego se usa para el update
Item.Tag = rs("id_contratos").Value
'
If rs.Fields("documentacion") = True Then
If rs.Fields("paso1") = False Then
Item.Checked = True
End If
End If
If rs.Fields("documentacion") = True Then
Item.SubItems(1) = "Si"
Else
Item.SubItems(1) = vbNullString
End If
Item.SubItems(2) = rs.Fields("fecha_carga")
Item.SubItems(3) = rs.Fields("nombre")
Item.SubItems(4) = rs.Fields("obra")
End If
rs.MoveNext
Wend
End If
Set rs = Nothing
Me.MousePointer = vbDefault
Exit Sub
errSub:
MsgBox Err.Description, vbCritical, "Error"
Me.MousePointer = vbDefault
End Sub
Function Crear_Recordset(con As ADODB.Connection, SQL As String) As ADODB.Recordset
Dim rs As ADODB.Recordset
If con Is Nothing Then
Set Crear_Recordset = Nothing
Exit Function
End If
If cnn.State <> adStateOpen Then
MsgBox "La conexión está cerrada", vbCritical
Set Crear_Recordset = Nothing
Exit Function
End If
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.Open SQL, con, adOpenStatic, adLockOptimistic, adCmdText
Set Crear_Recordset = rs
Set rs = Nothing
End Function
y lo que quisiera es poder llamar a la Funcion Actualizar por medio de un Boton
ejemplo:
Private Sub cmdEnviar_Click()
Call Actualizar_ListView
Form1.Refresh
End Sub
Pero me da el error que el argumento no es opcional
Alguna idea de como poder crear ese boton