Freddy me detuve a leer tú post y revise tú codigo... Fijate, detalles importantes...!
En la BD almacenas el campo Mer_ID contiene 9 caracteres... Pero cuando los muestras, al hacer el formato lo cambias a 10... Por favor edita esto en tú source...
Private Sub Cargar_Mercancia()
Dim iCol As Integer
Dim cItem As ListItem
Dim rs As New ADODB.Recordset
Call lv.ListItems.Clear
rs.Open "SELECT * FROM Mercancia", nc, adOpenDynamic, adLockOptimistic
While Not rs.EOF
'Set cItem = lv.ListItems.Add(, , Format(rs!Mer_Id, "000000000#")) CAMBIALO
Set cItem = lv.ListItems.Add(, , Format(rs!Mer_Id, "000000000")) 'ASI
cItem.SubItems(1) = rs!Mer_Descripcion
cItem.SubItems(2) = rs!Mer_Genero
cItem.SubItems(3) = rs!Mer_Talla
cItem.SubItems(4) = rs!Mer_Color
cItem.SubItems(5) = rs!Mer_Marca
cItem.SubItems(6) = rs!Mer_Costo
cItem.SubItems(7) = rs!Mer_Iva
cItem.SubItems(8) = rs!Mer_Porcentaje
cItem.SubItems(9) = rs!Mer_Precio
cItem.SubItems(10) = rs!Mer_Fecha
DoEvents
rs.MoveNext
Wend
rs.Close
Set rs = Nothing
'Auto organiza las columnas
For iCol = 1 To lv.ColumnHeaders.Count
Call SendMessage(lv.hWnd, LVM_SETCOLUMNWIDTH, iCol - 1, ByVal -2)
DoEvents
Next iCol
End Sub
Luego para Editar, puedes usar esto:
Private Sub Editar_Registro()
'nc.Execute "UPDATE Mercancia SET Mer_Genero = '" & cboGenero.Text & "', Mer_Descripcion = '" & cboDetalle.Text & "', Mer_Talla = '" & cboTallas.Text & "', Mer_Color = '" & cboColor.Text & "', Mer_Marca = '" & cboMarca.Text & "', Mer_Iva = '" & cboIva.Text & "', Mer_Costo = '" & txCosto.Text & "', Mer_Porcentaje = '" & txVenta.Text & "', Mer_Precio = '" & TxPrecio.Text & "',Mer_Fecha = #" & CDate(lbFecha.Caption) & "# Where Mer_Id = '" & txCodigo.Text & "'"
Dim RsUpdate As New ADODB.Recordset
rs.Open "SELECT * FROM Mercancia Where Mer_Id = '" & txCodigo.Text & "'", nc, adOpenDynamic, adLockOptimistic
If rs.State = 1 Then
If rs.EOF = False Then
rs!Mer_Genero = cboGenero.Text
rs!Mer_Descripcion = cboDetalle.Text
rs!Mer_Talla = cboTallas.Text
rs!Mer_Color = cboColor.Text
rs!Mer_Marca = cboMarca.Text
rs!Mer_Costo = txCosto.Text
rs!Mer_Iva = cboIva.Text
rs!Mer_Porcentaje = txVenta.Text
rs!Mer_Precio = txPrecio.Text
rs!Mer_Rif = txRif.Text
rs!Mer_Proveedor = txProveedor.Text
rs!Mer_Telefono = txTlf.Text
rs!Mer_Fecha = cDate(lbFecha.Caption)
rs.Update
rs.Close
End If
End If
Set rs = Nothing
MsgBox "El registro ha sido modificado correctamente", vbInformation
Cargar_Mercancia
End Sub
Por ultimo...!!!
Tienes que mostraras la informacion al hacer Doble Click, cambialo por solo un Click...
Private Sub lv_DblClick()
Call MostrarDatos_Editar
cmBuscar.Visible = False
cmd(1).Enabled = False
cmd(3).Enabled = True
End Sub
Cambialo por esto...!
Private Sub lv_Click()
Call MostrarDatos_Editar
cmBuscar.Visible = False
cmd(1).Enabled = False
cmd(3).Enabled = True
End Sub
Saludos