informatica:lenguajes_de_programacion:vbasic:vb6_grid
Diferencias
Muestra las diferencias entre dos versiones de la página.
informatica:lenguajes_de_programacion:vbasic:vb6_grid [2025/04/08 00:45] – created admin | informatica:lenguajes_de_programacion:vbasic:vb6_grid [2025/04/08 00:46] (actual) – admin | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
- | ====== | + | ====== |
- | Formato par Bulk: | + | ===== DataGridView ====== |
- | * [[https:// | + | |
- | ubigeo inei | + | <code vb> |
+ | Con DataGrid1 | ||
- | | + | |
- | | + | Dim lcObjRcs |
- | | + | |
- | * [[https:// | + | Set lcObjRcs = New ADODB.Recordset |
+ | |||
+ | lcObjRcs.Fields.Append "Guia EER", adChar, 100 | ||
+ | | ||
+ | lcObjRcs.Fields.Append " | ||
+ | | ||
+ | | ||
+ | lcObjRcs.Open | ||
+ | '* Add your fabricated records here... | ||
+ | lcObjRcs.AddNew Array(" | ||
+ | |||
+ | lcObjRcs.Update | ||
+ | |||
+ | Set DataGrid1.DataSource | ||
+ | </ | ||
- | <code sql> | + | ===== Microsoft FlexGrids ===== |
- | CREATE TABLE # | + | Componente Microsoft FlexGrid Control 6.0 (MSFLXGRD.OCX) |
- | cod_dep_inei | + | |
- | desc_dep_inei VARCHAR(1000), | + | |
- | cod_prov_inei VARCHAR(1000), | + | |
- | desc_prov_inei VARCHAR(1000), | + | |
- | cod_ubigeo_inei VARCHAR(1000), | + | |
- | desc_ubigeo_inei VARCHAR(1000), | + | |
- | cod_dep_reniec VARCHAR(1000), | + | |
- | desc_dep_reniec VARCHAR(1000), | + | |
- | cod_prov_reniec VARCHAR(1000), | + | |
- | desc_prov_reniec VARCHAR(1000), | + | |
- | cod_ubigeo_reniec VARCHAR(1000), | + | |
- | desc_ubigeo_reniec VARCHAR(1000), | + | |
- | cod_dep_sunat VARCHAR(1000), | + | |
- | desc_dep_sunat VARCHAR(1000), | + | |
- | cod_prov_sunat VARCHAR(1000), | + | |
- | desc_prov_sunat VARCHAR(1000), | + | |
- | cod_ubigeo_sunat VARCHAR(1000), | + | |
- | desc_ubigeo_sunat VARCHAR(1000) | + | |
- | ) | + | |
- | BULK INSERT # | + | <code vb> |
- | FROM ' | + | |
- | WITH ( FIELDTERMINATOR =',', | + | |
- | -- Limpio comillas | + | ' Definiendo la cantidad de filas y columnas: |
- | SELECT * FROM # | + | |
- | --UPDATE # | + | |
- | SET cod_dep_inei | + | |
- | desc_dep_inei = REPLACE(desc_dep_inei,'"','' | + | ' |
- | cod_prov_inei = REPLACE(cod_prov_inei,'"','' | + | With Me.MSFlexGrid1 |
- | desc_prov_inei = REPLACE(desc_prov_inei,'"','' | + | |
- | cod_ubigeo_inei = REPLACE(cod_ubigeo_inei,'"','' | + | |
- | desc_ubigeo_inei = REPLACE(desc_ubigeo_inei,'"','' | + | |
- | cod_dep_reniec = REPLACE(cod_dep_reniec,'"','' | + | |
- | desc_dep_reniec = REPLACE(desc_dep_reniec, | + | |
- | cod_prov_reniec | + | |
- | desc_prov_reniec | + | |
- | cod_ubigeo_reniec | + | End With |
- | desc_ubigeo_reniec | + | |
- | cod_dep_sunat | + | ' |
- | desc_dep_sunat | + | |
- | cod_prov_sunat | + | |
- | desc_prov_sunat | + | |
- | cod_ubigeo_sunat | + | |
- | desc_ubigeo_sunat = REPLACE(desc_ubigeo_sunat,'"','' | + | |
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | </ | ||
+ | * [[https:// | ||
- | -- Maximo de columna | + | ===== SGrid 2 ===== |
- | SELECT | + | |
- | MAX(LEN(cod_dep_inei)), | + | |
- | MAX(LEN(desc_dep_inei)), | + | |
- | MAX(LEN(cod_prov_inei)), | + | |
- | MAX(LEN(desc_prov_inei)), | + | |
- | MAX(LEN(cod_ubigeo_inei)), | + | |
- | MAX(LEN(desc_ubigeo_inei)), | + | |
- | MAX(LEN(cod_dep_reniec)), | + | |
- | MAX(LEN(desc_dep_reniec)), | + | |
- | MAX(LEN(cod_prov_reniec)), | + | |
- | MAX(LEN(desc_prov_reniec)), | + | |
- | MAX(LEN(cod_ubigeo_reniec)), | + | |
- | MAX(LEN(desc_ubigeo_reniec)), | + | |
- | MAX(LEN(cod_dep_sunat)), | + | |
- | MAX(LEN(desc_dep_sunat)), | + | |
- | MAX(LEN(cod_prov_sunat)), | + | |
- | MAX(LEN(desc_prov_sunat)), | + | |
- | MAX(LEN(cod_ubigeo_sunat)), | + | |
- | MAX(LEN(desc_ubigeo_sunat)) | + | |
- | FROM # | + | |
- | -- segun su maximo de length modifico la pagina. | + | Componente vbAccelerator VB6 SGrid Control 2.0 (vbalSGrid.ocx) |
- | ALTER TABLE # | + | |
- | ALTER TABLE # | + | |
- | ALTER TABLE # | + | |
- | ALTER TABLE # | + | |
- | ALTER TABLE # | + | |
- | ALTER TABLE # | + | |
- | ALTER TABLE # | + | |
- | ALTER TABLE # | + | |
- | ALTER TABLE # | + | |
- | ALTER TABLE # | + | |
- | ALTER TABLE # | + | |
- | ALTER TABLE # | + | |
- | ALTER TABLE # | + | |
- | ALTER TABLE # | + | |
- | ALTER TABLE # | + | |
- | ALTER TABLE # | + | |
- | ALTER TABLE # | + | |
- | ALTER TABLE # | + | |
+ | * [[http:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | Documentación principal: | ||
- | -- Si es que se quiere crear( ojo con las comillas al insert desde csv) | + | * [[http:// |
- | CREATE TABLE # | + | |
- | cod_dep_inei | + | |
- | desc_dep_inei VARCHAR(13), | + | |
- | cod_prov_inei VARCHAR(4), | + | |
- | desc_prov_inei VARCHAR(25), | + | |
- | cod_ubigeo_inei VARCHAR(6), | + | |
- | desc_ubigeo_inei VARCHAR(36), | + | |
- | cod_dep_reniec VARCHAR(2), | + | |
- | desc_dep_reniec VARCHAR(23), | + | |
- | cod_prov_reniec VARCHAR(4), | + | |
- | desc_prov_reniec VARCHAR(25), | + | |
- | cod_ubigeo_reniec VARCHAR(6), | + | |
- | desc_ubigeo_reniec VARCHAR(30), | + | |
- | cod_dep_sunat VARCHAR(2), | + | |
- | desc_dep_sunat VARCHAR(23), | + | |
- | cod_prov_sunat VARCHAR(4), | + | |
- | desc_prov_sunat VARCHAR(25), | + | |
- | cod_ubigeo_sunat VARCHAR(6), | + | |
- | desc_ubigeo_sunat VARCHAR(36) | + | |
- | ) | + | |
+ | <code vb> | ||
+ | ' Definiendo los titulos | ||
- | </ | ||
- | Si no se define correctamente el CODEPAGE aparecerán errores | + | ' Codigo frmMatrixDemo de pTestSGrid |
- | < | + | |
- | LA UNIÊN - LA UNIÓN | + | With grdMatrix |
- | FERREÐAFE - FERREÑAFE | + | |
- | P+UCAR DEL SARA SARA | + | .ImageList = ilsIcons |
+ | .StretchLastColumnToFit = True | ||
+ | .GridLineColor = & | ||
+ | .GridLines = True | ||
+ | .Editable = True | ||
+ | .AddColumn " | ||
+ | .AddColumn " | ||
+ | .AddColumn " | ||
+ | .DefaultRowHeight = cboArticle.Height \ Screen.TwipsPerPixelY | ||
+ | |||
+ | pLoadInfo | ||
+ | |||
+ | .Redraw = True | ||
+ | End With | ||
</ | </ | ||
- | ===== Creando la tablas ===== | ||
- | Tomado como ejemplo de ubigeos que hice en postgresql | + | <code vb> |
- | <code sql> | + | With vbalGrid1 |
+ | ' | ||
+ | .AddColumn " | ||
+ | .AddColumn " | ||
+ | .AddColumn " | ||
+ | .AddColumn " | ||
+ | .AddColumn " | ||
+ | .AddColumn " | ||
+ | .AddColumn " | ||
- | --#### UBIGEOS DEPARTAMENTOS | + | ' |
- | CREATE TABLE ubigeos_dep( | + | |
- | cod_dep_inei CHAR(2) PRIMARY KEY, | + | |
- | desc_dep_inei VARCHAR(13) | + | |
- | ); | + | |
- | --INSERT INTO ubigeos_dep( cod_dep_inei, | + | |
- | SELECT RIGHT(' | + | |
- | WHERE desc_dep_inei <> ' | + | |
- | GROUP BY cod_dep_inei, | + | |
- | ORDER BY cod_dep_inei ASC | + | |
+ | ' | ||
+ | Dim lRow As Long | ||
+ | .Redraw = False | ||
+ | Randomize | ||
+ | For lRow = 1 To 100 | ||
+ | .AddRow | ||
+ | ' -- Agregar id de producto | ||
+ | Call .CellDetails(lRow, | ||
+ | ' -- Agregar nombres de productos | ||
+ | Call .CellDetails(lRow, | ||
+ | ' -- Agregar el precio de los productos | ||
+ | Call .CellDetails(lRow, | ||
+ | ' -- Agregar el precio de los productos | ||
+ | Call .CellDetails(lRow, | ||
+ | ' -- Agregar el Stock | ||
+ | Call .CellDetails(lRow, | ||
+ | ' -- Agregar fecha hora | ||
+ | Call .CellDetails(lRow, | ||
+ | | ||
+ | Next | ||
+ | | ||
+ | .Redraw = True | ||
+ | End With | ||
- | --#### UBIGEOS PROVINCIAS | + | </code> |
- | CREATE TABLE ubigeos_prov( | + | |
- | cod_prov_inei CHAR(4) PRIMARY KEY, | + | |
- | cod_dep_inei CHAR(2), | + | |
- | desc_prov_inei VARCHAR(25) | + | |
- | ); | + | |
- | --INSERT INTO ubigeos_prov(cod_prov_inei, | + | |
- | SELECT | + | |
- | RIGHT(' | + | |
- | RIGHT(' | + | |
- | desc_prov_inei | + | |
- | FROM # | + | |
- | WHERE desc_prov_inei | + | |
- | GROUP BY cod_prov_inei, | + | |
- | cod_dep_inei, | + | |
- | desc_prov_inei | + | |
- | ORDER BY cod_prov_inei ASC | + | |
+ | [[https:// | ||
- | --#### UBIGEOS DISTRITOS | + | <code vb> |
- | CREATE TABLE ubigeos_dist( | + | |
- | cod_ubigeo_inei CHAR(6) PRIMARY KEY, | + | |
- | cod_prov_inei CHAR(4), | + | |
- | cod_dep_inei CHAR(2), | + | |
- | desc_ubigeo_inei VARCHAR(36) | + | |
- | ); | + | |
- | INSERT INTO ubigeos_dist( | + | |
- | cod_ubigeo_inei, | + | |
- | cod_prov_inei, | + | |
- | cod_dep_inei, | + | |
- | desc_ubigeo_inei | + | |
- | ) | + | |
- | SELECT | + | |
- | RIGHT(' | + | |
- | RIGHT(' | + | |
- | RIGHT(' | + | |
- | desc_ubigeo_inei | + | |
- | FROM # | + | |
- | WHERE desc_ubigeo_inei | + | |
- | ORDER BY cod_ubigeo_inei ASC | + | |
+ | Call .AddRow | ||
+ | Call .CellDetails(.Rows, | ||
+ | Call .CellDetails(.Rows, | ||
+ | Call .CellDetails(.Rows, | ||
+ | Call .CellDetails(.Rows, | ||
+ | Call .CellDetails(.Rows, | ||
- | --## UBIGEOS VISTA | + | </ |
- | CREATE VIEW ubigeos AS | + | |
- | SELECT dis.cod_dep_inei, | + | <code vb> |
- | dep.desc_dep_inei, | + | |
- | dis.cod_prov_inei, | + | |
- | pro.desc_prov_inei, | + | |
- | dis.cod_ubigeo_inei, | + | |
- | dis.desc_ubigeo_inei | + | |
- | FROM ubigeos_dist AS dis | + | |
- | LEFT JOIN ubigeos_dep AS dep | + | |
- | ON dep.cod_dep_inei = dis.cod_dep_inei | + | |
- | LEFT JOIN ubigeos_prov AS pro | + | |
- | ON pro.cod_prov_inei = dis.cod_prov_inei | + | |
+ | With vbalGrid1 | ||
+ | Call .CellDetails(1, | ||
+ | 'Es lo mismo | ||
+ | .CellDetails 1, 2, " | ||
+ | End With | ||
</ | </ | ||
- | correción de Acentos del csv | + | ==== Parametros S Grid 2: ==== |
- | <code sql> | + | |
- | SELECT * FROM ubigeos_prov WHERE ( desc_prov_inei LIKE ' | + | |
- | ( desc_prov_inei LIKE ' | + | |
- | ( desc_prov_inei LIKE ' | + | |
- | ( desc_prov_inei LIKE ' | + | |
- | ( desc_prov_inei LIKE ' | + | |
+ | <code vb> | ||
+ | |||
+ | ' | ||
+ | | ||
+ | |||
+ | ' | ||
+ | | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Ejemplo MsFlexGrid ===== | ||
+ | |||
+ | <code vb> | ||
+ | |||
+ | |||
+ | Private Sub Btn_PegarExcel_Click() | ||
+ | |||
+ | | ||
+ | |||
+ | | ||
+ | |||
+ | For i = 0 To UBound(TxtClipboard) - 1 | ||
+ | fila = Split(TxtClipboard(i), | ||
+ | For ii = 0 To UBound(fila) | ||
+ | ' | ||
+ | If (ii < MSHFlexGrid1.Cols - 2) Then | ||
+ | With MSHFlexGrid1 | ||
+ | MSHFlexGrid1.RowHeight(i + 1) = 300 | ||
+ | .Row = i + 1 | ||
+ | .Col = ii + 1 | ||
+ | .Text = Trim(Replace(fila(ii), | ||
+ | | ||
+ | End With | ||
+ | End If | ||
+ | Next | ||
+ | Next | ||
+ | |||
+ | End Sub | ||
+ | |||
+ | Private Sub Btn_CargarExcel_Click() | ||
+ | Dim Ruta As String | ||
+ | Dim POS, ini As Integer | ||
+ | Dim Cadena As String | ||
+ | Dim Archivo As String | ||
+ | |||
+ | | ||
+ | |||
+ | On Error GoTo ErrHandler | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | POS = InStr(1, Cadena, " | ||
+ | While (POS <> 0) | ||
+ | ini = POS + 1 | ||
+ | POS = InStr(ini, Cadena, " | ||
+ | Wend | ||
+ | |||
+ | ' | ||
+ | | ||
+ | Ruta = Mid(Cadena, 1, ini - 1) | ||
+ | POS = InStr(1, Archivo, " | ||
+ | | ||
+ | | ||
+ | |||
+ | Call ImportarXls(Ruta, | ||
+ | Exit Sub | ||
+ | |||
+ | ErrHandler: | ||
+ | Exit Sub 'El usuario ha hecho clic en el botón Cancelar | ||
+ | End Sub | ||
+ | |||
+ | |||
+ | |||
+ | Private Sub ImportarXls(ByVal parRuta As String, ByVal parArchivo As String) | ||
+ | Dim fila As Long | ||
+ | Dim filaxls As Integer | ||
+ | Dim cant As Integer | ||
+ | Dim ObjExcel As EXCEL.Application | ||
+ | Dim ObjHoja As EXCEL.Worksheet | ||
+ | |||
+ | Dim sql As String | ||
+ | Dim col01 As String | ||
+ | Dim col02 As String | ||
+ | Dim col03 As String | ||
+ | |||
+ | On Error GoTo ControlError | ||
+ | |||
+ | Set ObjExcel = CreateObject(" | ||
+ | | ||
+ | Set ObjHoja = ObjExcel.Worksheets(1) | ||
+ | |||
+ | fila = 2 | ||
+ | |||
+ | | ||
+ | |||
+ | cant = 0 | ||
+ | |||
+ | | ||
+ | |||
+ | ' | ||
+ | |||
+ | Do While ObjExcel.Cells(fila, | ||
+ | | ||
+ | cant = cant + 1 | ||
+ | col01 = UCase(ObjExcel.Cells(fila, | ||
+ | col02 = UCase(ObjExcel.Cells(fila, | ||
+ | col03 = UCase(ObjExcel.Cells(fila, | ||
+ | ' | ||
+ | ' | ||
+ | MSHFlexGrid1.Rows = filaxls + 1 | ||
+ | '= fila + 1 | ||
+ | MSHFlexGrid1.Row = filaxls | ||
+ | MSHFlexGrid1.Col = 1 | ||
+ | MSHFlexGrid1.Text = Trim(Replace(col01, | ||
+ | MSHFlexGrid1.Col = 2 | ||
+ | MSHFlexGrid1.Text = Trim(Replace(col02, | ||
+ | MSHFlexGrid1.Col = 3 | ||
+ | MSHFlexGrid1.Text = Trim(Replace(col03, | ||
+ | |||
+ | | ||
+ | fila = fila + 1 | ||
+ | filaxls = filaxls + 1 | ||
+ | |||
+ | Loop | ||
+ | |||
+ | | ||
+ | |||
+ | ControlError: | ||
+ | ' | ||
+ | Set ObjHoja = Nothing | ||
+ | Set ObjExcel = Nothing | ||
+ | On Error GoTo 0 | ||
+ | |||
+ | End Sub | ||
+ | |||
+ | Private Sub AccionarDeMarcar() | ||
+ | |||
+ | If chk_MarcarComoRetiroAnticipado.Value Then | ||
+ | Btn_Procesar.Caption = " | ||
+ | Else | ||
+ | Btn_Procesar.Caption = " | ||
+ | End If | ||
+ | |||
+ | End Sub | ||
+ | |||
+ | Private Sub Btn_Procesar_Click() | ||
+ | | ||
+ | End Sub | ||
+ | |||
+ | Private Sub chk_MarcarComoRetiroAnticipado_Click() | ||
+ | Call AccionarDeMarcar | ||
+ | End Sub | ||
+ | |||
+ | Private Sub Form_Load() | ||
+ | | ||
+ | MSHFlexGrid1.Cols = 5 | ||
+ | MSHFlexGrid1.RowHeight(1) = 300 | ||
+ | | ||
+ | With MSHFlexGrid1 | ||
+ | ' | ||
+ | .ColWidth(0) = 10 | ||
+ | .ColWidth(1) = 1000 | ||
+ | .ColWidth(2) = 2000 | ||
+ | .ColWidth(3) = 2500 | ||
+ | .ColWidth(4) = 1000 | ||
+ | | ||
+ | .Row = 0 | ||
+ | .Col = 1 | ||
+ | .Text = "Nro Orden" | ||
+ | .Col = 2 | ||
+ | .Text = " | ||
+ | .Col = 3 | ||
+ | .Text = " | ||
+ | .Col = 4 | ||
+ | .Text = " | ||
+ | |||
+ | End With | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | End Sub | ||
+ | |||
+ | Private Sub Label_MarcarComoRetiroAnticipado_Click() | ||
+ | |||
+ | If chk_MarcarComoRetiroAnticipado.Value Then | ||
+ | chk_MarcarComoRetiroAnticipado.Value = 0 | ||
+ | Else | ||
+ | chk_MarcarComoRetiroAnticipado.Value = 1 | ||
+ | End If | ||
+ | |||
+ | Call AccionarDeMarcar | ||
+ | | ||
+ | End Sub | ||
- | SELECT * FROM ubigeos_prov | ||
- | -- UPDATE ubigeos_prov SET desc_prov_inei = ' | ||
- | WHERE desc_prov_inei = ' | ||
- | SELECT * FROM ubigeos_prov | ||
- | -- UPDATE ubigeos_prov SET desc_prov_inei = 'LA UNIÓN' | ||
- | WHERE desc_prov_inei = 'LA UNIÒN' | ||
</ | </ | ||
- | Busqueda con acentos insensible | + | ===== Error en MshFlexGrid ===== |
- | <code sql> | + | |
- | SELECT * FROM ubigeos_prov | + | solo carga 2000 filas: |
- | WHERE desc_prov_inei COLLATE Latin1_general_CI_AI LIKE ' | + | |
- | -- EL collate puede ir en cualquiera COLLATE Latin1_general_CI_AI | + | Ojo error en mshflexgrid |
- | --ALTER TABLE ubigeos_prov ALTER COLUMN desc_prov_inei VARCHAR(25) COLLATE Modern_Spanish_CI_AI | + | "This bug was fixed in Service Pack 3. |
+ | * [[http:// | ||
+ | * [[https:// | ||
+ | |||
+ | ====== Usando MSHFlexGrid ===== | ||
+ | |||
+ | * [[https:// | ||
+ | |||
+ | <code vb> | ||
+ | |||
+ | dtatgridview1.DataSource = GetData() | ||
+ | .. | ||
+ | Function GetData() As ICollection | ||
+ | Dim dt As DataTable, ds As DataSet | ||
+ | Try | ||
+ | ds = New DataSet() | ||
+ | dt = New DataTable() | ||
+ | dt = ds.Tables.Add(“Names”) | ||
+ | dt.Columns.Add(“FirstName”, | ||
+ | dt.Columns.Add(“LastName”, | ||
+ | dt.Rows.Add(“John”, | ||
+ | dt.Rows.Add(“Jane”, | ||
+ | Catch ex As Exception | ||
+ | System.Windows.Forms.MessageBox.Show(ex.Message) | ||
+ | End Try | ||
+ | Dim dv As DataView | ||
+ | dv = New DataView(dt) | ||
+ | Return dv | ||
+ | End Function | ||
</ | </ | ||
+ | <code vb> | ||
+ | Dim ds As New DataSet | ||
+ | Try | ||
+ | ds = GetDS() | ||
+ | DataGridView2.DataSource = ds | ||
+ | DataGridView2.DataMember = ds.Tables(0).TableName | ||
+ | Catch ex As Exception | ||
+ | System.Windows.Forms.MessageBox.Show(ex.Message) | ||
+ | End Try | ||
+ | End Sub | ||
+ | Function GetDS() As DataSet | ||
+ | Dim ds As DataSet = New DataSet() | ||
+ | Dim dt As DataTable | ||
+ | Dim dr As DataRow | ||
+ | Try | ||
+ | dt = ds.Tables.Add(“Names”) | ||
+ | dt.Columns.Add(“FirstName”, | ||
+ | dt.Columns.Add(“LastName”, | ||
+ | dr = dt.NewRow | ||
+ | dr.Item(0) = “John” | ||
+ | dr.Item(1) = “Doe” | ||
+ | ds.Tables(0).Rows.Add(dr) | ||
+ | Catch ex As Exception | ||
+ | MsgBox(ex.Message.ToString()) | ||
+ | End Try | ||
+ | Return ds | ||
+ | End Function | ||
+ | |||
+ | </ | ||
+ | ====== Prueba ====== |
informatica/lenguajes_de_programacion/vbasic/vb6_grid.1744073149.txt.gz · Última modificación: 2025/04/08 00:45 por admin