La Web del Programador: Comunidad de Programadores
https://www.lawebdelprogramador.com/foros/XBase/1262814-Guardar-en-Base-de-Datos-desde-un-Combobox.html

Guardar en Base de Datos desde un Combobox

Guardar en Base de Datos desde un Combobox

Publicado por Sandra Luna (1 intervención) el 18/06/2009 22:21:37
Buenas,,,.Tengo un combobox con varias opciones, como son Primaria, Bachillerato, Profesional,Técnico...entre otras y necesito que cuando alguien elija una opción del combo, al darle actualizar,se almacene en la base de datos el número correspondiente al item en que se encuentra dicha opción que fué elegida en el Combobox...He intentado hacerlo de la siguiente forma pero no cambia el numero.

//TABLA EDUCACION

* aqui define el numero de campos del combobox

STATIC teduca := { ;
{ " ",01}, ;
{ " ",02}, ;
{ " ",03}, ;
{ " ",04}, ;
{ " ",05}, ;
{ " ",06}, ;
{ " ",07} }

oXbp := XbpStatic():new( oStatic, , {5,230}, {60,20} )
oXbp:caption := "Educacion:"
oXbp:clipSiblings := .T.
oXbp:options := XBPSTATIC_TEXT_RIGHT
oXbp:create()

oXbp := XbpCombobox():new( oStatic, , {80,183}, {95,70} )
oXbp:bufferLength := 10
oXbp:clipSiblings := .T.
oXbp:type := XBPCOMBO_DROPDOWNLIST
oXbp:create()

Eval ({|i| i:=ACADEMIA})
AEval( teduca, {|a,i| oXbp:xbpListBox:addItem( teduca[1] ) } )
oXbp:xbpListbox:setData( {i,1}, .T. )
oXbp:xbpSle:setData( teduca[1,1] )

//LLENA TABLA EDUCACION

KK=27
CC=0
DO WHILE .NOT. EOF()
CC=CC+1
SEEK STR(KK,3) + STR(CC,2)
IF FOUND()
afill( teduca[CC],nombre)
ENDIF
ENDDO

aSize( teduca, CC)

Agradezco a quien pueda ayudarme.....

Guardar en Base de Datos desde un Combobox

Publicado por Fer (2 intervenciones) el 23/04/2011 03:04:03
procedure xxxx
LOCAL nFila:=340,nAlt_Cmb:=100,nAlt_Sta:=20
PRIVATE aTD:={ {"NI-Numero de Identificaci¢n tributaria","NI"},{"CC-C‚dula de ciudadania","CC"} }

FM_STATIC( drawingArea, {10,nFila},{150,21},"Tipo Documento Aportante:")
oTD:=FM_COMBOBOX(DrawingArea,{170,nFila-(nAlt_Cmb-nAlt_Sta)},{200,100},.T.,{|x|Deme_Actual (aTD,REG_TP1->TP_DOC_AP)},NIL,NIL,aTD)

FM_BOTON (DrawingArea,{460,4},{100,24},EXITPSW,.T.,{||Grabar_TP1(oTD),oCtrl:killRead()} )

oCtrl:=XbpGetController():new( oDlg )
oCtrl:create()
oDlg:close := {|| oCtrl:killRead() }
oCtrl:read( 1 )

return

PROCEDURE Grabar_TP1(oTD,oCA,oNJ,oTP,oFP,oTA,oTDRL,oTAC)

If ! Empty( oTD:GetData() )
Replace TP_DOC_AP With aTD[Ascan(aTD,oTD:GetData()),2]
EndIf

RETURN