amp-web-push-widget button.amp-subscribe { display: inline-flex; align-items: center; border-radius: 5px; border: 0; box-sizing: border-box; margin: 0; padding: 10px 15px; cursor: pointer; outline: none; font-size: 15px; font-weight: 500; background: #4A90E2; margin-top: 7px; color: white; box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.5); -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } .amp-logo amp-img{width:190px} .amp-menu input{display:none;}.amp-menu li.menu-item-has-children ul{display:none;}.amp-menu li{position:relative;display:block;}.amp-menu > li a{display:block;} /* Inline styles */ div.acss138d7{clear:both;}div.acssf5b84{--relposth-columns:3;--relposth-columns_m:2;--relposth-columns_t:2;}div.acssa8a3d{aspect-ratio:1/1;background:transparent no-repeat scroll 0% 0%;height:300px;max-width:300px;}div.acss13836{color:#333333;font-family:Arial;font-size:14px;height:75px;}span.acss47fcd{background:#FFFFFF;color:#000000;}div.acss0f1bf{display:none;}a.acssf23c5{font-size:8pt;}a.acss24ea4{font-size:16.4pt;}a.acss066f0{font-size:22pt;} .ampforwp_wc_shortcode{margin-top: 0;padding:0;display:inline-block;width: 100%;} .ampforwp_wc_shortcode li{position: relative;width:29%; font-size:12px; line-height: 1; float: left;list-style-type: none;margin:2%;} .ampforwp_wc_shortcode .onsale{position: absolute;top: 0;right: 0;background: #ddd;padding: 7px;font-size: 12px;} .single-post .ampforwp_wc_shortcode li amp-img{margin:0} .ampforwp-wc-title{margin: 8px 0px 10px 0px;font-size: 13px;} .ampforwp-wc-price{color:#444} .wc_widgettitle{text-align:center;margin-bottom: 0px;} .ampforwp-wc-price, .ampforwp_wc_star_rating{float:left;margin-right: 10px;} .icon-widgets:before {content: "\e1bd";}.icon-search:before {content: "\e8b6";}.icon-shopping-cart:after {content: "\e8cc";} /******* Paste your Custom CSS in this Editor *******/
En este vídeo creamos la Ventana de Tipos de Usuario y enseño el uso del control MSHFlexGrid (Microsoft Hierarchical Flexgrid) este control se usa para mostrar información en forma de tabla de Datos, su uso es muy fácil solo se conecta por la propiedades DataMember y DataSource usando un Recorset.
En Nuestro ejemplo conectamos a una tabla Llamada tiposUsuario de la siguiente manera.
Dim RecorsetTemp As New ADODB.Recordset Sql = "Select IdNivelUsuario, nombre_tipo From TiposUsuario Order By nombre_tipo ASC " RecorsetTemp.Open Sql, ConexionADO, adOpenStatic, adLockReadOnly Grid.DataMember = RecorsetTemp.DataMember Set Grid.DataSource = RecorsetTemp.DataSource
La ventana que estamos trabajando es para administra los tipos de usuario que manejara el software. Cada usuario dependiendo de tipo puede acceder a opciones del software que otro no podrán ejemplo:
El Administrador tiene acceso a todo, pero el caso del vendedor solo tiene acceso a hacer ventas, entonces en esta ventana configuraremos los accesos para cada usuario.
Siguiente con el desarrollo del software se crearon los siguientes sub procedimientos:
Sub LlenarGridTiposUs()
Dim Sql As String
Dim Columnas As Integer
Columnas = 2
Sql = "Select IdNivelUsuario, nombre_tipo From TiposUsuario Order By nombre_tipo ASC "
Call LlenarGrid(msGrid, Sql, Columnas)
msGrid.ColWidth(0) = 0
msGrid.ColWidth(1) = 1100
msGrid.ColWidth(2) = 4000
msGrid.TextMatrix(0, 1) = "ID"
msGrid.TextMatrix(0, 2) = "Nombre Tipo"
End Sub El llenarGrisTiposUs se usa para hacer la consulta a la tabla y pasar esa consulta al sub procedimiento de llenar LlenarGrid que recibe 3 parámetros:
Este sub procedimiento se coloco en el modulo mod_consultas. El código del sub procedimiento LlenarGrid() es este:
Sub LlenarGrid(Grid As MSHFlexGrid, Sql As String, TotalColum As Integer)
Dim RecorsetTemp As New ADODB.Recordset
RecorsetTemp.Open Sql, ConexionADO, adOpenStatic, adLockReadOnly
Grid.Redraw = False 'desactivamos el repintado en pantalla
Grid.FixedRows = 0
Grid.Rows = 0
Grid.DataMember = RecorsetTemp.DataMember
Set Grid.DataSource = RecorsetTemp.DataSource 'vinculamos con el recorset
Grid.AddItem "", 0 'se agrega una fila al grid
If Grid.Row > 1 Then Grid.FixedRows = 1 'si hay mas de un registro se habilita el titulo
'recorre las celdas del titulo del grid y le da color
For I = 1 To TotalColum
Grid.Row = 0
Grid.Col = I 'va recorriendo las celdas de la primera fila
Grid.CellBackColor = &H8C5828 'color azul para el fondo
Grid.CellAlignment = flexAlignCenterCenter 'texto centrado
Grid.CellForeColor = vbWhite 'color blanco para el texto
Grid.CellFontBold = True 'Negrita
Next I
'este recorrido es para colorear filas pares en el grid para darle una mejor vista al usuario
For fila = 1 To Grid.Rows - 1
Grid.Row = fila
If fila Mod 2 = 0 Then 'si la fila tiene como modulo 2 entonces es un numero par
For I = 1 To TotalColum
Grid.Col = I
Grid.CellBackColor = &HFEEEDD 'color de fondo para la celda
Next I
End If
Next fila
Grid.Redraw = True 'se habilita el repintado
End Sub Se vería de la siguiente manera:
Se quiere que al dar doble clic sobre una de las filas del grid se puede editar el tipo de usuario para eso se creo un sub procedimiento:
Dim IdTipoUsuario
Sub EditarTipo()
If msGrid.Row > 0 Then
IdTipoUsuario = msGrid.TextMatrix(msGrid.Row, 1)
txtNombreTipo = msGrid.TextMatrix(msGrid.Row, 2)
End If
End Sub
Private Sub msGrid_DblClick()
Call EditarTipo
End Sub Para guardar el Tipo de Usuario se tiene en cuenta el valor de la variable IdTipoUsuario si es = 0 quiere decir que es un nuevo registro y es mayo a cero quiere decir que se va a actualizar.
Después de guardar se llama al evento Clic del botón nuevo que lo que hace es limpiar el textbox y llamar al sub procedimiento de LlenarGridTiposUs
Sub GuardarTipoUsuario()
If txtNombreTipo = "" Then
MsgBox "Debe llenar el nombre del tipo de usuario", vbExclamation, "Error"
Exit Sub
End If
If IdTipoUsuario = 0 Then
IdTipoUsuario = UltimoIdUsuario("TiposUsuario", "IdNivelUsuario")
Sql = "Insert Into TiposUsuario (IdNivelUsuario, nombre_tipo) Values (" & IdTipoUsuario & ",'" & txtNombreTipo & "') "
Else
Sql = "Update TiposUsuario SET nombre_tipo = '" & txtNombreTipo & "' Where IdNivelUsuario = " & IdTipoUsuario
End If
ConexionADO.Execute Sql
Call LlenarGridTiposUs
End Sub
Private Sub cmdGuardar_Click()
Call GuardarTipoUsuario
Call cmdNuevo_Click
End Sub
Private Sub cmdNuevo_Click()
IdTipoUsuario = 0
txtNombreTipo.Text = ""
txtNombreTipo.SetFocus
End Sub
En El Evento Load del formulario se llama al LlenarGridTiposUs para que al abrir el formulario nos muestre la lista de tipos de usuario:
Private Sub Form_Load() Call LlenarGridTiposUs IdTipoUsuario = 0 End Sub
Al MSHFlexGrid se le cambiaron varias propiedades que fueron las siguientes:
BackColorFixed: &H009A620E&
SelectionMode: 1-flexSelectionByRow
Fond: Verdana 9pt
Saludos, en este tutorial aprenderás a integrar tu aplicación de Visual Basic 6 con un…
Recientemente, muchos usuarios de Hotmail (ahora Outlook.com) han reportado un error al intentar iniciar sesión…
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…
Este sitio utiliza cookies desea activarlas
Leave a Comment