XBase - Guardar en Base de Datos desde un Combobox

 
Vista:

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.....
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

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
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar