DBComboBox en MySQL para PEDRO DE LEON RODAS
Publicado: Lun Feb 16, 2009 10:58 pm
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...
> 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...