Página 1 de 1

DBComboBox en MySQL para PEDRO DE LEON RODAS

Publicado: Lun Feb 16, 2009 10:58 pm
por Martin Del Angel
Juan Castañeda wrote:
> Pedro te respondo por aca porque no tengo acceso al PRO.
> Yo lo hago asi. Fijate si lo podes mejorar y me contas.
>
> METHOD DBComboBoxCondicionDeIvaCreate( oSender ) CLASS TFormABMclientes
> Local aData, nI
> Local aTempDeta := {}
> Local aTempCodi := {}
>
> AppData:oBase:Execute( "select detalle,codigo from codigosdeiva",, @aData )
> For nI:= 1 to Len( aData )
> Aadd( aTempDeta, aData[nI][1] )
> Aadd( aTempCodi, aData[nI][2] )
> Next
> ::oDBComboBoxCondiciondeIva:aItems := aTempDeta
> ::oDBComboBoxCondiciondeIva:aItemsBound := aTempCodi
>
>
> "PEDRO DE LEON RODAS" <7773613810@prodigy.net.mx> escribió en el mensaje
> news:[email=4997b870@svctag-j7w3v3j....]4997b870@svctag-j7w3v3j....[/email]
>> Estimados amigos, saludos.
>> Como puedo hacer que los datos de un campo de una tabla se carguen en un
>> TdbCombox.
>>
>> Esto se puede hacer con Dbfs de la siguiente manera
>>
>> METHOD usuarioCreate( oSender ) CLASS entrada
>> oSender:aItems := ::dbf:SaveToArray( "nombre" )
>> RETURN Nil
>>
>> Pero esto no funciona con tablas de Mysql.
>>
>> He visto un ejemplo que tiene xailer con sqlite parecido a esto.
>>
>> IF ::oDB:Execute( "select nombre from tipo_prestamo order by nombre",,
>> @aData )
>> oSender:aItems := aData[1 ]
>> ENDIF
>>
>> Pero aqui solo me da el valor de un solo registro.
>>
>> De antemano mil gracias.
>>
>>
>>
>
>
>
Buen Dia Pedro
Te pongo un pedazo de codigo de como lo hago cuando leeo los usuarios de
una tabla de MySql
METHOD LlenaCombo() CLASS TEntrada
WITH OBJECT ::oComboUsuarios //<=== TComboBox
IF LEN (:aITEMS) >0
RETURN NIL
ELSE
AppData:USUARIOS:GoTop() //<=== Apunta a SQLQuery de Usuarios
DO WHILE !(AppData:USUARIOS:EOF())
//Extraigo nombre de Usuario y lo pongo en el Array aItems con
el // metodo AddItem()
:ADDITEM(AppData:USUARIOS:FIELDGETBYNAME('USUARIO'))
AppData:USUARIOS:SKIP()
ENDDO
:nIndex:=1
:REFRESH()
ENDIF
END
RETURN NIL
Me funciona perfecto y rapido
hay mas maneras de hacerlo , pero lo hago a la antiguita
Saludos...

DBComboBox en MySQL para PEDRO DE LEON RODAS

Publicado: Mar Feb 17, 2009 6:56 am
por Carlos Ortiz
y por que no com un query en lugar de un execute, el query() te retorna
directamente una tabla temporal que se lo podes asociar creando un dataset
en memoria y luego savetoarray()
oDBCombo:aItems := ::oDSTipProd:SaveToArray( { "CNOMTIPO" } )
oDBCombo:aItemsBound := ::oDSTipProd:SaveToArray( { "(str(NIDTIPO))" } )
Atte. Carlos Ortiz.
"Martin Del Angel" <mdangel@dymsasistemas.com> escribió en el mensaje
news:4999e16b$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Juan Castañeda wrote:
>> Pedro te respondo por aca porque no tengo acceso al PRO.
>> Yo lo hago asi. Fijate si lo podes mejorar y me contas.
>>
>> METHOD DBComboBoxCondicionDeIvaCreate( oSender ) CLASS TFormABMclientes
>> Local aData, nI
>> Local aTempDeta := {}
>> Local aTempCodi := {}
>>
>> AppData:oBase:Execute( "select detalle,codigo from codigosdeiva",,
>> @aData )
>> For nI:= 1 to Len( aData )
>> Aadd( aTempDeta, aData[nI][1] )
>> Aadd( aTempCodi, aData[nI][2] )
>> Next
>> ::oDBComboBoxCondiciondeIva:aItems := aTempDeta
>> ::oDBComboBoxCondiciondeIva:aItemsBound := aTempCodi
>>
>>
>> "PEDRO DE LEON RODAS" <7773613810@prodigy.net.mx> escribió en el mensaje
>> news:[email=4997b870@svctag-j7w3v3j....]4997b870@svctag-j7w3v3j....[/email]
>>> Estimados amigos, saludos.
>>> Como puedo hacer que los datos de un campo de una tabla se carguen en un
>>> TdbCombox.
>>>
>>> Esto se puede hacer con Dbfs de la siguiente manera
>>>
>>> METHOD usuarioCreate( oSender ) CLASS entrada
>>> oSender:aItems := ::dbf:SaveToArray( "nombre" )
>>> RETURN Nil
>>>
>>> Pero esto no funciona con tablas de Mysql.
>>>
>>> He visto un ejemplo que tiene xailer con sqlite parecido a esto.
>>>
>>> IF ::oDB:Execute( "select nombre from tipo_prestamo order by nombre",,
>>> @aData )
>>> oSender:aItems := aData[1 ]
>>> ENDIF
>>>
>>> Pero aqui solo me da el valor de un solo registro.
>>>
>>> De antemano mil gracias.
>>>
>>>
>>>
>>
>>
>>
>
>
> Buen Dia Pedro
>
> Te pongo un pedazo de codigo de como lo hago cuando leeo los usuarios de
> una tabla de MySql
>
>
> METHOD LlenaCombo() CLASS TEntrada
> WITH OBJECT ::oComboUsuarios //<=== TComboBox
> IF LEN (:aITEMS) >0
> RETURN NIL
> ELSE
> AppData:USUARIOS:GoTop() //<=== Apunta a SQLQuery de Usuarios
> DO WHILE !(AppData:USUARIOS:EOF())
> //Extraigo nombre de Usuario y lo pongo en el Array aItems con el
> // metodo AddItem()
> :ADDITEM(AppData:USUARIOS:FIELDGETBYNAME('USUARIO'))
> AppData:USUARIOS:SKIP()
> ENDDO
> :nIndex:=1
> :REFRESH()
> ENDIF
> END
> RETURN NIL
>
>
> Me funciona perfecto y rapido
>
> hay mas maneras de hacerlo , pero lo hago a la antiguita
>
> Saludos...
>
>