Continuando con el Curso Software de Ventas en Visual Basic en este vídeo 20 Parte 20 explico como borrar un producto en la ventana de inventario, y como exportar los productos a un archivo de MS Excel.
La finalidad de este vídeo es enseñarte como el cliente puede borrar una producto que ya a buscado con anterioridad, el cliente selecciona el producto del msGrid y luego da clic al botón Borrar este a su ves ejecuta el código que se encargada del borrado. Como medida de seguridad y para evitar borrados erróneos se le pregunta antes si esta seguro de borrar el articulo seleccionado.
En la segunda parte del vídeo te enseño como exportar todos los productos listados en el control msGrid (MSHFlexGrid), a una hoja de Microsoft Excel.
Te invito a que sigas este Curso Software de Ventas.
Para borrar un producto se debe seleccionar uno del La lista de productos en el msGrid , luego se toma el ID de ese producto que esta ubicado en la columna de indice 1, y también se toma el nombre del producto para poder mostrarle al usuario que producto va a borrar, el código es el siguiente:
Sub BorrarProducto() If msGrid.Row > 0 Then IdProducto = msGrid.TextMatrix(msGrid.Row, 1) CodProducto = msGrid.TextMatrix(msGrid.Row, 2) NombreProducto = msGrid.TextMatrix(msGrid.Row, 3) If IdProducto <> "" Then Res = MsgBox("¿Esta segúro de borrar el producto, " & CodProducto & " - " & NombreProducto & " ? ", vbYesNo, "Borrar Producto") If Res = vbYes Then Sql = "Delete from tblProductos Where IdProducto = " & IdProducto ConexionADO.Execute Sql Call LlenarProductosGrid End If End If End If End Sub
El exportar funciona de la siguiente manera: El exportar toma los productos listados en el msGrid recorriendo fila a fila y escribiendo en cada celda del archivo de MS Excel por eso es importar tener claro que si queremos exportar todo los productos debemos listarlos todos:
Estos son los códigos para exportar Productos
'Exportar Private Sub FlexToExcel() Dim XcLApp As Object 'used for excel application' Dim XcLWB As Object 'used for excel work book' Dim XcLWS As Object 'used for excel work sheet' Dim I As Integer ' counter for the rows of the flexgrid' 'On Error GoTo error Set XcLApp = CreateObject("Excel.Application") 'creating new excel application' Set XcLWB = XcLApp.Workbooks.Add 'opening new excel work book' Set XcLWS = XcLWB.Worksheets.Add 'opening new excel worksheet' 'taking data from flexgrid and sendting it to excel' XcLWS.Range(Addres_Excel(1, 1)).Value = "ID" XcLWS.Range(Addres_Excel(1, 2)).Value = "Código" XcLWS.Range(Addres_Excel(1, 3)).Value = "Nombre Artículo" XcLWS.Range(Addres_Excel(1, 4)).Value = "Exist" XcLWS.Range(Addres_Excel(1, 4)).Value = "Exis Min" XcLWS.Range(Addres_Excel(1, 6)).Value = "Precio Cost" XcLWS.Range(Addres_Excel(1, 7)).Value = "Precio V1" XcLWS.Range(Addres_Excel(1, 8)).Value = "Precio V2" XcLWS.Range(Addres_Excel(1, 9)).Value = "Precio V3" XcLWS.Range(Addres_Excel(1, 10)).Value = "Precio Min" XcLWS.Range(Addres_Excel(1, 11)).Value = "Categoria" XcLWS.Range(Addres_Excel(1, 12)).Value = "Proveedor" ProgressBar1.Visible = True lblprogreso.Visible = True If msGrid.Rows > 2 Then ProgressBar1.Max = msGrid.Rows - 1 End If With msGrid For I = 1 To .Rows - 1 For Columna = 1 To .Cols - 1 Select Case Columna Case 4 XcLWS.Range(Addres_Excel(I + 1, Columna)).Value = .TextMatrix(I, Columna) Case 5 To 8 XcLWS.Range(Addres_Excel(I + 1, Columna)).Value = Format(.TextMatrix(I, Columna), "currency") Case Else XcLWS.Range(Addres_Excel(I + 1, Columna)).Value = .TextMatrix(I, Columna) End Select Next DoEvents ProgressBar1.Value = I Next I End With XcLApp.Visible = True lblprogreso.Visible = False ProgressBar1.Visible = False Exit Sub error: MsgBox "ExportarExcel " & Err.Description, vbCritical, "Error al exportar" End Sub Public Function Addres_Excel(ByVal lng_row As Long, ByVal lng_col As Long) As String 'this function is used to send the columns from grid to excel' 'make column header to look like the letters used in excel' 'for example for col 1 the first column we will send "1" and will return "A"' Dim modval As Long 'used to get the reminder' Dim strval As String 'get the transferd letter' modval = (lng_col - 1) Mod 26 'using mode we get the reminder. 26 is for the letters in engl.' strval = Chr$(Asc("A") + modval) 'using the reminder we get the letter' modval = ((lng_col - 1) \ 26) - 1 'check to see if it is not addres like "AA"' If modval >= 0 Then strval = Chr$(Asc("A") + modval) & strval 'if we have more then we add the letter' Addres_Excel = strval & lng_row 'return the value to the function' End Function
Lección Anterior Ventana de Inventario del Curso Software de Ventas Parte
El código de exportar lo tome del foro de VB6Forums
En este proyecto, vamos a desarrollar una calculadora sencilla usando Visual Basic 6, que permite…
6 de septiembre de 2024 - La demanda de desarrolladores de software sigue en aumento,…
En un movimiento histórico, la Unión Europea ha aprobado la primera ley de inteligencia artificial…
¿Sigues trabajando con Visual Basic 6 y necesitas una forma eficiente de acceder a tus…
OpenAI revoluciona la interacción con IA: ChatGPT ahora interpreta imágenes En un avance significativo para la…
Bienvenido al Curso Básico de Visual Basic 6! Este curso está diseñado para llevarte a…
Este sitio utiliza cookies desea activarlas
Deja un comentario