Usuario
ListView

Pregunta
-
Bueno te pasare el codigo al pasar los datos al ListView desde el MSHFlexgrid,todo lo hago desde una caja de texto:
Private Sub TxtTot_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If TxtTot = 12 Then
Dim num As Long
letras = "000"
If TPrimeros.RecordCount = 0 Then
num = 1
Form19.Text3 = Right(letras & num, 4)
Else
TPrimeros.MoveLast
num = Val(Right(TPrimeros!codigo, 4))
num = num + 1
fila = M1.Row
Form19.Text3 = Right(letras & num, 4)
'End If
For i = 1 To 12
Form19.Text1.Text = M1.TextMatrix(fila, 1) ' Codigo
Form19.Text2.Text = M1.TextMatrix(fila, 2) ' Numero
fila = fila + 1 ' Pasar a la Sgte Linea
Form19.Text3 = Right(letras & num, 4) ' Codigo Autogenerado
num = num + 1
Form19.click
Next
End If
Form19.Show
Unload Me
End If
End If
End Sub
Y este es el boton Grabar del Formulario donde se encuentra el ListView:
Case 1 'Grabar
For i = 1 To L1.ListItems.Count
Dim xcmd As New Command
With xcmd
.ActiveConnection = Cn
.CommandText = "GrabaPri"
.CommandType = adCmdStoredProc
.Parameters.Append .CreateParameter("P1", adChar, adParamInput, 4, L1.ListItems(i).Text)
.Parameters.Append .CreateParameter("P2", adVarChar, adParamInput, 50, L1.ListItems(i).SubItems(1))
.Parameters.Append .CreateParameter("P3", adInteger, adParamInput, , L1.ListItems(i).SubItems(2))
.Execute
End With
Set xcmd = Nothing
Next i
MsgBox "Registros Guardados"
TPrimeros.Requery
Form1.Show
Unload Me
Bueno espero poder tener una mejor ayuda gracias x las respuestas.- Editado Jose Luis Nani viernes, 3 de julio de 2009 13:39 Respuesta
Todas las respuestas
-
:-)
Hola Jose Luis,
Supongo que te refieres a que antes de agregar un auto debes buscar primero si ya existe en la lista, no?
Si es así, antes de agregar debes buscar en la propiedad ListItems si ya existe este elemento. Para cada elemento (ListItem) tienes la propiedad Text que es el texto de la primera columna, y luego la propiedad SubItems(n), dónde n es el índice de la columna que quieres examinar.
Saludos,No olvides marcar la respuesta como correcta si te ha sido de utilidad :-)
[MS-MVP-MCTS] Mi Perfil MVP en: https://mvp.support.microsoft.com/profile/Lluis
NUG: http://andorradotnet.com
Web: http://www.ordeeno.com
Blog: http://msmvps.com/blogs/lfranco
Geeks: http://geeks.ms/blogs/lfranco -
Si no he entendido mal tu duda, creo que lo más sencillo es que cuando vuelvas a generar las filas que cargas en el ListView, cuando des a grabar antes de guardar en la tabla consultes en BBDD si el codigo existe en la tabla, si ya existe haces un update aumentando la cantidad, sino lo insertas como hasta ahora.
Tambien lo puedes hacer antes de que se carguen las filas en el listview, que creo que es lo que quieres. Podrias añadir una nueva columna al listView que informe de la cantidad de la columna numero que hay si esta en BBDD, si no esta seria 0. Y finalmente sumas esa columna con lo nuevo que te viene del MSHFlexGrid.
Habría que ver como estás haciendo el traspaso de la filas del MSHFlexgrid al ListView o como estas guardando en la tabla.
Animo y Suerte.
PD: Que mal me explico...dios mio...