none
ListView RRS feed

  • 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.

    miércoles, 1 de julio de 2009 15:06

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

    jueves, 2 de julio de 2009 14:43
    Moderador
  • 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...
    viernes, 3 de julio de 2009 11:28