Tabla MySql en Array y xBrowse (RESUELTO)
- Compuin
- Posts: 1250
- Joined: Tue Dec 28, 2010 1:29 pm
- Location: Quebec, Canada
- Has thanked: 7 times
- Been thanked: 3 times
Tabla MySql en Array y xBrowse (RESUELTO)
Buenas foro,
Alguien podria indicarme como abrir una tabla Mysql y llevarlo a un array para luego usarlo con la funcion o metdo setarray de xBrowse ?
Atento a sus comentarios
Alguien podria indicarme como abrir una tabla Mysql y llevarlo a un array para luego usarlo con la funcion o metdo setarray de xBrowse ?
Atento a sus comentarios
Last edited by Compuin on Wed Jun 07, 2017 4:35 pm, edited 1 time in total.
FWH 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
- leandro
- Posts: 1744
- Joined: Wed Oct 26, 2005 2:49 pm
- Location: Colombia
- Has thanked: 34 times
- Been thanked: 10 times
- Contact:
Re: Tabla MySql en Array y xBrowse
Pues no se si necesitas pasarlo a un array.... pero este código muestra una consulta en un xbrowse directamente.
Code: Select all | Expand
***********************
*Catalogo de Documentos
***********************
PROC pDocFactu()
LOCAL aCol:={0,0,0},oCuadro,nWidth:=0
oC1vg1:=space(100)
vOrden:="ee_codigo"
oTimpr:=1
oVar := "SELECT * from lyma_docontrol ORDER BY "+alltrim(vOrden)
TRY
oRsDocfac:=tOleAuto():New("ADODB.RecordSet")
CATCH oError
FW_ShowAdoError(oLamcla:oCon)
END
oRsDocfac:CursorLocation := adUseClient //adUseServer
oRsDocfac:LockType := adLockOptimistic
oRsDocfac:CursorType := adOpenKeyset
oRsDocfac:Source := oVar
//oRsDocfac:ActiveConnection( oLamcla:oCon )
TRY
oRsDocfac:Open(oRsDocfac:Source,oLamcla:oCon)
CATCH oError
FW_ShowAdoError(oLamcla:oCon)
END
DEFINE BRUSH oFondo FILE ".\res\res_403.BMP"
DEFINE DIALOG oCuadro RESOURCE "orMedida" ICON "#8001" TRANSPARENT BRUSH oFondo
REDEFINE BUTTONBMP Btn_Limp ID 4003 OF oCuadro BITMAP "Blimpi2" TOOLTIP oLamcla:mTfil ACTION pBusDfa(oC1vg1:=space(100))
REDEFINE GET oC1og1 VAR oC1vg1 ID 4002 OF oCuadro UPDATE VALID(pBusDfa(),.T.)
// Btn_Limp= { cTexto, cTitulo, nClrTexto, nClrFondo }
// Btn_Limp:aTooltip = { "prueba jejeje", "Titulo", oLamcla:cClr2, oLamcla:cClr1 }
oBrwDofa := TXBrowse():New( oCuadro )
oBrwDofa:nMarqueeStyle := MARQSTYLE_HIGHLWIN7
oBrwDofa:nColDividerStyle := LINESTYLE_LIGHTGRAY
oBrwDofa:nHeaderLines := 1
oBrwDofa:lColDividerComplete := .t.
oBrwDofa:lRecordSelector := .t.
oBrwDofa:bClrSel := {|| { CLR_BLACK,oLamcla:cClr7 } }
oBrwDofa:bClrStd := {|| IF( (oRsDocfac:AbsolutePosition()%2)==0,{CLR_BLACK,oLamcla:cClr2},{CLR_BLACK,oLamcla:cClr1} ) }
oBrwDofa:bClrSelFocus := {|| { CLR_WHITE,oLamcla:cClr8 } }
oBrwDofa:nStretchCol := STRETCHCOL_LAST
aCol[ 1] := oBrwDofa:AddCol()
aCol[ 1]:bStrData := { || If( oRsDocfac:Eof, Space( nWidth ), cValtoChar( oRsDocfac:Fields( "ee_codigo" ):Value ) ) }
aCol[ 1]:cHeader := "Codigo"
aCol[ 1]:nHeadStrAlign := AL_LEFT
aCol[ 1]:nDataStrAlign := AL_LEFT
aCol[ 1]:nWidth := 80
aCol[ 2] := oBrwDofa:AddCol()
aCol[ 2]:bStrData := { || If( oRsDocfac:Eof, Space( nWidth ), cValtoChar( oRsDocfac:Fields( "ee_nombre" ):Value ) ) }
aCol[ 2]:cHeader := "Nombre"
aCol[ 2]:nHeadStrAlign := AL_LEFT
aCol[ 2]:nDataStrAlign := AL_LEFT
aCol[ 2]:nWidth := 225
oBrwDofa:SetADO( oRsDocfac )
oBrwDofa:CreateFromResource( 102 )
oCuadro:cTitle := "Tabla Control Documentos"
oCuadro:bKeyDown := {|nKey|iif(nKey == 114,(vgraba:=.t.,oLamcla:autoriza(108)),(iif(nKey == 115,(vgraba:=.f.,oLamcla:autoriza(109)),(iif(nKey == 116,(oLamcla:autoriza(110)),(""))))))}
ACTIVATE DIALOG oCuadro NOWAIT On Init (Centra( oCuadro ),oCuadro:refresh(),BarraDofa( oCuadro )) VALID (oRsDocfac:Close(),.t.) CENTERED
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com
[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 24.09 ] [ xHarbour 64 bits) ]
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com
[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 24.09 ] [ xHarbour 64 bits) ]
- Compuin
- Posts: 1250
- Joined: Tue Dec 28, 2010 1:29 pm
- Location: Quebec, Canada
- Has thanked: 7 times
- Been thanked: 3 times
Re: Tabla MySql en Array y xBrowse
Gracias Leandro,
Necesito pasarlo a un Array y utilizar en TxBrowse la funcion o metodo Setarray()
Necesito pasarlo a un Array y utilizar en TxBrowse la funcion o metodo Setarray()
FWH 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
- joseluisysturiz
- Posts: 2064
- Joined: Fri Jan 06, 2006 9:28 pm
- Location: Guatire - Caracas - Venezuela
- Contact:
Re: Tabla MySql en Array y xBrowse
Saludos, para mayor rapidez usa FILLARRAY, aca te coloco las formas en que lo uso, saludos...
luego haces tu oBr:SetArray(nue_array); oBrw:Refresh()
![Shocked :shock:](./images/smilies/icon_eek.gif)
Code: Select all | Expand
oQryVende:FillArray( {| aRow | AAdd( oBrwASi:aArrayData, { aRow[2], aRow[4] } ) } ) // CON POSICION CAMPO
oBrwASi:aArrayData := oQryVende:FillArray( , { "vende_cedula", "vendeapellidos" } ) // CON NOMBRE DE CAMPOS DE LA TABLA
oQry:FillArray( {| aRow | ( AAdd( Array1, cValToChar( aRow[1] ) ) ,; // PARA LOS COMBOBOX CON QRY
AAdd( Array2, aRow[2]) ) }, )
luego haces tu oBr:SetArray(nue_array); oBrw:Refresh()
Dios no está muerto...
Gracias a mi Dios ante todo!
Gracias a mi Dios ante todo!
- Compuin
- Posts: 1250
- Joined: Tue Dec 28, 2010 1:29 pm
- Location: Quebec, Canada
- Has thanked: 7 times
- Been thanked: 3 times
Re: Tabla MySql en Array y xBrowse
joseluisysturiz wrote:Saludos, para mayor rapidez usa FILLARRAY, aca te coloco las formas en que lo uso, saludos...![]()
Code: Select all | Expand
oQryVende:FillArray( {| aRow | AAdd( oBrwASi:aArrayData, { aRow[2], aRow[4] } ) } ) // CON POSICION CAMPO
oBrwASi:aArrayData := oQryVende:FillArray( , { "vende_cedula", "vendeapellidos" } ) // CON NOMBRE DE CAMPOS DE LA TABLA
oQry:FillArray( {| aRow | ( AAdd( Array1, cValToChar( aRow[1] ) ) ,; // PARA LOS COMBOBOX CON QRY
AAdd( Array2, aRow[2]) ) }, )
luego haces tu oBr:SetArray(nue_array); oBrw:Refresh()
Jose Luis,
Gracas. Probare
FWH 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
- Compuin
- Posts: 1250
- Joined: Tue Dec 28, 2010 1:29 pm
- Location: Quebec, Canada
- Has thanked: 7 times
- Been thanked: 3 times
Re: Tabla MySql en Array y xBrowse
No me queda muy claro como llenar el Array con una Tabla MySql
Alguien tendra un ejemplo de hacerlo ?
Alguien tendra un ejemplo de hacerlo ?
FWH 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
- joseluisysturiz
- Posts: 2064
- Joined: Fri Jan 06, 2006 9:28 pm
- Location: Guatire - Caracas - Venezuela
- Contact:
Re: Tabla MySql en Array y xBrowse
Compuin wrote:No me queda muy claro como llenar el Array con una Tabla MySql
Alguien tendra un ejemplo de hacerlo ?
Coloque 3 formas de como lo hago y que es lo que se carga y como...que es lo que no entiendes..?
1- debes crear tu consulta con los campos que quieras alimenten el array, llamese una o varias tablas relacionadas.
2- dicha consulta lo asignas a un oQry.
3- usas en este oQry el methodo FillArray de la forma que te coloque, como es para un solo array, te recomiendo el que dice con los nombres de los campos, estos deben ir en el orden que quieres se llene tu ARRAY el cual debe estar previamente creado.
Code: Select all | Expand
tu_array := oQry:FillArray( , { "campo1", "campo2", etc } ) // CON NOMBRE DE CAMPOS DE LA TABLA
4.- luego usas oBrw:SetArray(tu_array_usado_en_fillarray) y oBrw:Refresh()
y listo...espero haber aclarado algunas dudas, si no, di claramente que es lo que no entiendes para tratar ayudarte, gracias, saludos...
![Shocked :shock:](./images/smilies/icon_eek.gif)
Dios no está muerto...
Gracias a mi Dios ante todo!
Gracias a mi Dios ante todo!
- Armando
- Posts: 3271
- Joined: Fri Oct 07, 2005 8:20 pm
- Location: Toluca, México
- Been thanked: 2 times
- Contact:
Re: Tabla MySql en Array y xBrowse
Amigos del foro:
Podría servirles el método GetRows()?
array := recordset.GetRows(Rows, Start, Fields )
Saludos
Podría servirles el método GetRows()?
array := recordset.GetRows(Rows, Start, Fields )
Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Re: Tabla MySql en Array y xBrowse
Friends,
IF you are using FWHMYSQL it´s easy:
IF you are using FWHMYSQL it´s easy:
Code: Select all | Expand
aDados := oCn:QueryResult("SELECT * FROM customers")
...
...
oXbr:SetArray( aDados )
-
- Posts: 768
- Joined: Sun Jun 15, 2008 7:47 pm
- Location: Sevilla
- Been thanked: 5 times
- Contact:
Re: Tabla MySql en Array y xBrowse
En Eagle v3.03 o sea de fecha 10/05/2005:
o directamente
![Very Happy :D](./images/smilies/icon_biggrin.gif)
![Twisted Evil :twisted:](./images/smilies/icon_twisted.gif)
![Rolling Eyes :roll:](./images/smilies/icon_rolleyes.gif)
Code: Select all | Expand
...
aDados := oCur:Cursor // oCur es un objeto de tipo TACursor
...
oXbr:SetArray( aDados )
o directamente
Code: Select all | Expand
oXbr:SetArray( oCur:Cursor)
______________________________________________________________________________
Sevilla - Andalucía
Sevilla - Andalucía
- Compuin
- Posts: 1250
- Joined: Tue Dec 28, 2010 1:29 pm
- Location: Quebec, Canada
- Has thanked: 7 times
- Been thanked: 3 times
Re: Tabla MySql en Array y xBrowse
xmanuel wrote:En Eagle v3.03 o sea de fecha 10/05/2005:
![]()
![]()
![]()
Code: Select all | Expand
...
aDados := oCur:Cursor // oCur es un objeto de tipo TACursor
...
oXbr:SetArray( aDados )
o directamenteCode: Select all | Expand
oXbr:SetArray( oCur:Cursor)
Lo estoy haciendo asi
LOCAL aFields:={}
aFields:=oCursor
obrw := TXBrowse():New( ownd )
obrw:SetArray( aFields, .t. )
oCursor lo llamo asi
oTb := TMsTable( cTabla ):New( oDatabase, cTabla )
// Abrimos la tabla, traemos el resultado a nuestro cliente
if !oTb:Open()
MsgInfo( "No se puede abrir la tabla: " + cTabla, "Operacin Cancelada" )
endif
oCursor := TMSACursor():New( oTb ) // Para la segunda
El error que me lanza es
Time from start: 0 hours 0 mins 1 secs
Error occurred at: 06/06/2017, 16:51:42
Error description: Error BASE/1068 Error de argumento: acceso al array
Args:
[ 1] = A { ... } length: 3
[ 2] = U
FWH 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
-
- Posts: 768
- Joined: Sun Jun 15, 2008 7:47 pm
- Location: Sevilla
- Been thanked: 5 times
- Contact:
Re: Tabla MySql en Array y xBrowse
Te falta la apertura:
oCursor := TMSACursor():New( oTb ) // Para la segunda
oCursor:open() // <------------------------------------------
oCursor := TMSACursor():New( oTb ) // Para la segunda
oCursor:open() // <------------------------------------------
______________________________________________________________________________
Sevilla - Andalucía
Sevilla - Andalucía
-
- Posts: 768
- Joined: Sun Jun 15, 2008 7:47 pm
- Location: Sevilla
- Been thanked: 5 times
- Contact:
Re: Tabla MySql en Array y xBrowse
El código completo para que funcione:
Comprobado![Very Happy :D](./images/smilies/icon_biggrin.gif)
Code: Select all | Expand
#include "xbrowse.ch"
#include "fivewin.ch"
PROCEDURE main()
local oWnd, oBrw, oCol
local oCon, oTb, oCur, oDataBase // Objetos de Eagle1
local cHost := "127.0.0.1"
local cUser := "root"
local cPassword := "root"
local cDbName := "PRUEBA"
local cTabla := "test"
local n, aCabecera := {}
// Creamos el objeto "connexion"
oCon := TMSConnect():New()
// Nos conectamos al servidor
if !oCon:Connect( cHost, cUser, cPassword )
MsgInfo( "No hay conexion con el servidor", "Operacin Cancelada" )
oCon:Free()
return
endif
// Creamos un objeto DataBase y lo ponemos en uso
oDataBase := TMSDataBase():New( oCon, cDbName, .t. )
// Interrogamos si se logr poner la DataBase por defecto en el sistema
if !oDataBase:Used()
MsgInfo( "No se puede conectar a la BD: " + cDbName, "Operacin Cancelada" )
oCon:Free()
return
endif
// Creamos un objeto Table con DataFields
oTb := TMsTable( cTabla ):New( oDataBase, cTabla )
// Abrimos la tabla, traemos el resultado a nuestro cliente
if !oTb:Open()
MsgInfo( "No se puede abrir la tabla: " + cTabla, "Operacin Cancelada" )
return
endif
oCur := TMSACursor():new( oTb ) // Creo el cursor basado en ARRAY
oCur:open() // Abro el cursor
DEFINE WINDOW oWnd TITLE "Testing Eagle1 - Fivewin"
oBrw := TXBrowse():New( oWnd ) // Creamos xbrowse
oBrw:nRowHeight := 35
oBrw:nColDividerStyle := LINESTYLE_BLACK
oBrw:nRowDividerStyle := LINESTYLE_BLACK
oBrw:nMarqueeStyle := 6
oBrw:nStretchCol := STRETCHCOL_LAST
oBrw:SetArray( oCur:cursor )
// Ponemos los nombre a las columnas
AEval( oBrw:aCols, {| oCol, i | oCol:cHeader := oCur:fieldName( i ), ;
oCol:nHeadStrAlign := AL_CENTER } )
oBrw:CreateFromCode()
oWnd:oClient = oBrw
ACTIVATE WINDOW oWnd MAXIMIZED
oCur:free()
oTb:Free()
oCon:Free()
return
//----------------------------------------------------------------------------//
Comprobado
![Very Happy :D](./images/smilies/icon_biggrin.gif)
______________________________________________________________________________
Sevilla - Andalucía
Sevilla - Andalucía
- Compuin
- Posts: 1250
- Joined: Tue Dec 28, 2010 1:29 pm
- Location: Quebec, Canada
- Has thanked: 7 times
- Been thanked: 3 times
Re: Tabla MySql en Array y xBrowse
Ya funciona...probado con Harbour 3.2 / BCC 7.00 y va de muy bien
Excelente aporte de Manu con la migracion de Eagle1 a estas versiones mas actualizadas
![Image](http://i68.tinypic.com/2daezie.jpg)
//----------------------------------------------------------------------------//
// Soft4U Manu Exposito //
// Eagle1 Clases para manejo de MySQL desde xBase //
// //
// Tutor18 : Uso de Cursores locales / basados en MySQL y Array //
//----------------------------------------------------------------------------//
#include "xbrowse.ch"
#include "fivewin.ch"
PROCEDURE main()
local oWnd, oBrw, oCol
local oCon, oTb, oCur, oDataBase // Objetos de Eagle1
local cHost := "127.0.0.1"
local cUser := "root"
local cPassword := ""
local cDbName := "PRUEBA"
local cTabla := "test"
local n, aCabecera := {}
// Creamos el objeto "connexion"
oCon := TMSConnect():New()
// Nos conectamos al servidor
if !oCon:Connect( cHost, cUser, cPassword )
MsgInfo( "No hay conexion con el servidor", "Operacin Cancelada" )
oCon:Free()
return
endif
// Creamos un objeto DataBase y lo ponemos en uso
oDataBase := TMSDataBase():New( oCon, cDbName, .t. )
// Interrogamos si se logr poner la DataBase por defecto en el sistema
if !oDataBase:Used()
MsgInfo( "No se puede conectar a la BD: " + cDbName, "Operacin Cancelada" )
oCon:Free()
return
endif
// Creamos un objeto Table con DataFields
oTb := TMsTable( cTabla ):New( oDataBase, cTabla )
// Abrimos la tabla, traemos el resultado a nuestro cliente
if !oTb:Open()
MsgInfo( "No se puede abrir la tabla: " + cTabla, "Operacin Cancelada" )
return
endif
// Creo el cursor basado en ARRAY
oCur := TMSACursor():new( oTb )
// Abro el cursor
oCur:open()
DEFINE WINDOW oWnd FROM 1, 1 TO 32, 145 TITLE "Testing Eagle1 v303 para Harbour 3.2 y Borland BCC 7.00 for Win32 - Fivewin"
// Creamos xbrowse
oBrw := TXBrowse():New( oWnd )
oBrw:SetArray( oCur:cursor, .T. )
oBrw:lHeader :=.T.
oBrw:l2007 :=.F.
oBrw:lFooter :=.F.
oBrw:lHScroll :=.T.
//Aqui el Efecto Pijama
oBrw:bClrStd := { || If( oBrw:KeyNo() % 2 == 0, ;
{ CLR_BLACK, RGB( 224, 236, 255 ) }, ;
{ CLR_BLACK, RGB( 189, 211, 253 ) } ) }
// Ponemos los nombre a las columnas
AEval( oBrw:aCols, {| oCol, i | oCol:cHeader := oCur:fieldName( i ), oCol:nHeadStrAlign := AL_CENTER } )
oBrw:bClrHeader := {|| {0,14671839 }}
oBrw:CreateFromCode()
oWnd:oClient = oBrw
ACTIVATE WINDOW oWnd CENTERED
oCur:free()
oTb:Free()
oCon:Free()
return
//----------------------------------------------------------------------------//
Excelente aporte de Manu con la migracion de Eagle1 a estas versiones mas actualizadas
![Image](http://i68.tinypic.com/2daezie.jpg)
//----------------------------------------------------------------------------//
// Soft4U Manu Exposito //
// Eagle1 Clases para manejo de MySQL desde xBase //
// //
// Tutor18 : Uso de Cursores locales / basados en MySQL y Array //
//----------------------------------------------------------------------------//
#include "xbrowse.ch"
#include "fivewin.ch"
PROCEDURE main()
local oWnd, oBrw, oCol
local oCon, oTb, oCur, oDataBase // Objetos de Eagle1
local cHost := "127.0.0.1"
local cUser := "root"
local cPassword := ""
local cDbName := "PRUEBA"
local cTabla := "test"
local n, aCabecera := {}
// Creamos el objeto "connexion"
oCon := TMSConnect():New()
// Nos conectamos al servidor
if !oCon:Connect( cHost, cUser, cPassword )
MsgInfo( "No hay conexion con el servidor", "Operacin Cancelada" )
oCon:Free()
return
endif
// Creamos un objeto DataBase y lo ponemos en uso
oDataBase := TMSDataBase():New( oCon, cDbName, .t. )
// Interrogamos si se logr poner la DataBase por defecto en el sistema
if !oDataBase:Used()
MsgInfo( "No se puede conectar a la BD: " + cDbName, "Operacin Cancelada" )
oCon:Free()
return
endif
// Creamos un objeto Table con DataFields
oTb := TMsTable( cTabla ):New( oDataBase, cTabla )
// Abrimos la tabla, traemos el resultado a nuestro cliente
if !oTb:Open()
MsgInfo( "No se puede abrir la tabla: " + cTabla, "Operacin Cancelada" )
return
endif
// Creo el cursor basado en ARRAY
oCur := TMSACursor():new( oTb )
// Abro el cursor
oCur:open()
DEFINE WINDOW oWnd FROM 1, 1 TO 32, 145 TITLE "Testing Eagle1 v303 para Harbour 3.2 y Borland BCC 7.00 for Win32 - Fivewin"
// Creamos xbrowse
oBrw := TXBrowse():New( oWnd )
oBrw:SetArray( oCur:cursor, .T. )
oBrw:lHeader :=.T.
oBrw:l2007 :=.F.
oBrw:lFooter :=.F.
oBrw:lHScroll :=.T.
//Aqui el Efecto Pijama
oBrw:bClrStd := { || If( oBrw:KeyNo() % 2 == 0, ;
{ CLR_BLACK, RGB( 224, 236, 255 ) }, ;
{ CLR_BLACK, RGB( 189, 211, 253 ) } ) }
// Ponemos los nombre a las columnas
AEval( oBrw:aCols, {| oCol, i | oCol:cHeader := oCur:fieldName( i ), oCol:nHeadStrAlign := AL_CENTER } )
oBrw:bClrHeader := {|| {0,14671839 }}
oBrw:CreateFromCode()
oWnd:oClient = oBrw
ACTIVATE WINDOW oWnd CENTERED
oCur:free()
oTb:Free()
oCon:Free()
return
//----------------------------------------------------------------------------//
FWH 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code