Página 1 de 1

Rellenar un TbComboBox, como se hace ??

Publicado: Mié Mar 18, 2009 5:45 pm
por Gabriel Ornelas
Hola,
Estoy haciendo el siguiente codigo para rellenar un ComboBox de una
tabla MySql
WITH OBJECT ::oCbxLines
:aItemsBound:= AppData:oMySqlDSMain:QueryArray( "SELECT id_linea
FROM lineas" )
:aItems := AppData:oMySqlDSMain:QueryArray( "SELECT
descripcion FROM lineas" )
:ndataType := dtBOUND
END
Uso xailer 1.9.8 Octubre
pero me marca el siguiente Error
----------------------- Información detallada del error
Subsistema: BASE
Código de error: 1101.000
Estado: .F.
Descripción: Error de argumento
Operación: LTRIM
Argumentos: [ 1] = Tipo: A Valor:
Fichero:
Código error SO: 0.000
Pila de llamadas:
LTRIM (0)
(b)TDBCOMBOBOX:_AITEMS (379)
AEVAL (0)
TDBCOMBOBOX:_AITEMS (379)
TFORMITEMS:FORMINITIALIZE (221)
TFORMITEMS:ONINITIALIZE (0)
TFORMITEMS:NEW (183)
TFORMMENU:MENUMAINITEM1_3CLICK (46)
TMENUITEM:ONCLICK (0)
TMENU:DOACTION (231)
TMENU:DOACTION (236)
TFORMMENU:WMCOMMAND (890)
RUNFORM (0)
TAPPLICATION:RUN (209)
MAIN (20)

Rellenar un TbComboBox, como se hace ??

Publicado: Mié Mar 18, 2009 6:22 pm
por jrcpoli-quitar
Gabriel:
Mira el mensaje de fecha 16/02/2009 con este titulo "DBComboBox en
MySQL para PEDRO DE LEON RODAS" te responde a tú pregunta.
José Ramón Castro.
Gabriel Ornelas escribió:
> Hola,
> Estoy haciendo el siguiente codigo para rellenar un ComboBox de una
> tabla MySql
> WITH OBJECT ::oCbxLines
> :aItemsBound:= AppData:oMySqlDSMain:QueryArray( "SELECT id_linea
> FROM lineas" )
> :aItems := AppData:oMySqlDSMain:QueryArray( "SELECT
> descripcion FROM lineas" )
> :ndataType := dtBOUND
> END
>
> Uso xailer 1.9.8 Octubre
>
> pero me marca el siguiente Error
> ----------------------- Información detallada del error
>
> Subsistema: BASE
> Código de error: 1101.000
> Estado: .F.
> Descripción: Error de argumento
> Operación: LTRIM
> Argumentos: [ 1] = Tipo: A Valor:
> Fichero:
> Código error SO: 0.000
>
> Pila de llamadas:
> LTRIM (0)
> (b)TDBCOMBOBOX:_AITEMS (379)
> AEVAL (0)
> TDBCOMBOBOX:_AITEMS (379)
> TFORMITEMS:FORMINITIALIZE (221)
> TFORMITEMS:ONINITIALIZE (0)
> TFORMITEMS:NEW (183)
> TFORMMENU:MENUMAINITEM1_3CLICK (46)
> TMENUITEM:ONCLICK (0)
> TMENU:DOACTION (231)
> TMENU:DOACTION (236)
> TFORMMENU:WMCOMMAND (890)
> RUNFORM (0)
> TAPPLICATION:RUN (209)
> MAIN (20)

Rellenar un TbComboBox, como se hace ??

Publicado: Mié Mar 18, 2009 6:30 pm
por PEDRO DE LEON RODAS[3]
En el metodo onCreate usa lo siguiente.
METHOD AHORROSCreate( oSender ) CLASS CAPTURAR_PRESTAMOS
Local aData, nI
Local var_array := {}
::DBcooperativas:Execute( "select mi_campo from mi_tabla order by
mi_campo",, @aData)
For nI:= 1 to Len( aData )
Aadd( var_array, aData[nI][1] )
Next
oSender:aItems := var_array
RETURN Nil
Con este ejemplo que me proporcionaron los compañeros y amigos de este foro
..
Funciona correctamente bien.

Rellenar un TbComboBox, como se hace ??

Publicado: Mié Mar 18, 2009 9:18 pm
por Gabriel Ornelas
Gabriel Ornelas escribió:
> Hola,
> Estoy haciendo el siguiente codigo para rellenar un ComboBox de una
> tabla MySql
> WITH OBJECT ::oCbxLines
> :aItemsBound:= AppData:oMySqlDSMain:QueryArray( "SELECT id_linea
> FROM lineas" )
> :aItems := AppData:oMySqlDSMain:QueryArray( "SELECT
> descripcion FROM lineas" )
> :ndataType := dtBOUND
> END
>
> Uso xailer 1.9.8 Octubre
>
> pero me marca el siguiente Error
> ----------------------- Información detallada del error
>
> Subsistema: BASE
> Código de error: 1101.000
> Estado: .F.
> Descripción: Error de argumento
> Operación: LTRIM
> Argumentos: [ 1] = Tipo: A Valor:
> Fichero:
> Código error SO: 0.000
>
> Pila de llamadas:
> LTRIM (0)
> (b)TDBCOMBOBOX:_AITEMS (379)
> AEVAL (0)
> TDBCOMBOBOX:_AITEMS (379)
> TFORMITEMS:FORMINITIALIZE (221)
> TFORMITEMS:ONINITIALIZE (0)
> TFORMITEMS:NEW (183)
> TFORMMENU:MENUMAINITEM1_3CLICK (46)
> TMENUITEM:ONCLICK (0)
> TMENU:DOACTION (231)
> TMENU:DOACTION (236)
> TFORMMENU:WMCOMMAND (890)
> RUNFORM (0)
> TAPPLICATION:RUN (209)
> MAIN (20)
Pedro, Jose. Muchas gracias! funciona perfecto!!
aCveLines:= {}
aNomLines:= {}
aLines := {}
AppData:oMySqlDSMain:Execute( "SELECT id_linea,descripcion FROM
lineas",,@aLines)
FOR EACH aCtrls IN aLines
AADD( aCveLines, aCtrls[1] )
AADD( aNomLines, aCtrls[2] )
NEXT
WITH OBJECT ::oCbxLines
:aItemsBound:= aCveLines
:aItems := aNomLines
:ndataType := dtBOUND
END
Saludos
GabO

Rellenar un TbComboBox, como se hace ??

Publicado: Jue Mar 19, 2009 1:24 am
por zeasoftware
Yo sobrecargue un metodo a la clase siguiente TSQLQuery, la use para ir
aprendiendo SQL, ya hace rato que no la he vuelto a probar, espero te sirva.
//---------------------------------------------------------- ----------------
METHOD SaveToArray( aFields, bFor, bWhile ) CLASS TSQLQuery
LOCAL aData := {}
LOCAL aTemp
LOCAL xValue, cValue := ""
LOCAL nFor, cTable
Local cSelect := "SELECT "
IF Valtype( aFields ) != "A"
aFields := { aFields }
ENDIF
cTable := zStrNoBorders(::cTable)
FOR nFor := 1 TO Len( aFields )
xValue := aFields[ nFor ]
IF Valtype( xValue ) == "C"
//aFields[ nFor ] := COMPILAR( ::cAlias + "->" + xValue )
cSelect += xValue + ","
If ( Empty(cValue) )
cValue := xValue
End
ENDIF
NEXT
cSelect := SubStr(cSelect, 1, Len(cSelect) - 1)
cSelect += " FROM " + cTable
cSelect += " GROUP BY " + cValue
cSelect += " ORDER BY " + cValue
aTemp := AppData:oDataSource:QueryArray(cSelect)
aEval(aTemp, {|r| aAdd(aData, r[1]) })
RETURN aData
--
Ramón Zea
01.993.231-62-29
http://www.paginasprodigy.com/zeasoftware/
zeasoftware@prodigy.net.mx
zeasoftware@hotmail.com
ramonzea@yahoo.com
zeasoft.movil@hotmail.com
dirza_com@hotmail.com