como generar un dialog desde una base de datos
Posted: Thu Jan 10, 2013 2:50 pm
Hola amigos,
mi problema es el siguiente
Necesito generar,cuando quiero agregar un registro en un twbrowse, un cuadro de dialogo que contenga todos _ de la base de datos con sus respectivos get's.
Como la base de datos seleccionada en el twbrowse es elegida por el usuario este dialogo va a cambiar segun _ que contenga dicha base.
El problema mayor es como asignarle las variables a los get para que actualicen _ de la base.
Intente con macros pero no me anda.
Les mando algo del codigo de lo que estoy tratando de hacer a ver si pueden ayudarme
muchas gracias a todos
//--------------------------------------
Function NewReg()
local oGet,oDlgnew,n,cFile:=alias()
local aStru:=DbStruct()
local aDatos:=array(len(aStru))
local nLine:=0,nCol:=1,nLing:=0,nColg:=6,nSize
local nLeft:=if(len(aStru) > 17,88,44)
Aeval(aDatos,{|x,y| aDatos[y] := aStru[y][1]})
DEFINE DIALOG oDlgnew FROM 1,1 TO 40,nLeft TITLE " NUEVO REGISTRO"
for n := 1 to Len( aStru )
nLine += 1.05
nLing += 1.2
nSize:=if(aStru[n][2] = "C",aStru[n][3] * 4,;
if(aStru[n][2] = "N",aStru[n][3] * 7,;
if(aStru[n][2] = "D",40 , 3)))
if((n=10 .OR. n=20),nLine -= 0.2, ;
if(n = 18,(nLine:=1.05, nLing:=1.2, nCol:=28, nColg:=26),nil))
@ nline,nCol SAY aStru[n][1]
@ nLing,nColg GET ...aqui es donde no se como usar variables o campos de la base... OF oDlgnew SIZE nSize,12
// intente esto pero no anda @ nLing,nColg GET aDatos[n] OF oDlgnew SIZE nSize,12
// los datos del dialog deben actualizar los valores de un registro nuevo
next
ACTIVATE DIALOG oDlgnew CENTERED
return NIL
mi problema es el siguiente
Necesito generar,cuando quiero agregar un registro en un twbrowse, un cuadro de dialogo que contenga todos _ de la base de datos con sus respectivos get's.
Como la base de datos seleccionada en el twbrowse es elegida por el usuario este dialogo va a cambiar segun _ que contenga dicha base.
El problema mayor es como asignarle las variables a los get para que actualicen _ de la base.
Intente con macros pero no me anda.
Les mando algo del codigo de lo que estoy tratando de hacer a ver si pueden ayudarme
muchas gracias a todos
//--------------------------------------
Function NewReg()
local oGet,oDlgnew,n,cFile:=alias()
local aStru:=DbStruct()
local aDatos:=array(len(aStru))
local nLine:=0,nCol:=1,nLing:=0,nColg:=6,nSize
local nLeft:=if(len(aStru) > 17,88,44)
Aeval(aDatos,{|x,y| aDatos[y] := aStru[y][1]})
DEFINE DIALOG oDlgnew FROM 1,1 TO 40,nLeft TITLE " NUEVO REGISTRO"
for n := 1 to Len( aStru )
nLine += 1.05
nLing += 1.2
nSize:=if(aStru[n][2] = "C",aStru[n][3] * 4,;
if(aStru[n][2] = "N",aStru[n][3] * 7,;
if(aStru[n][2] = "D",40 , 3)))
if((n=10 .OR. n=20),nLine -= 0.2, ;
if(n = 18,(nLine:=1.05, nLing:=1.2, nCol:=28, nColg:=26),nil))
@ nline,nCol SAY aStru[n][1]
@ nLing,nColg GET ...aqui es donde no se como usar variables o campos de la base... OF oDlgnew SIZE nSize,12
// intente esto pero no anda @ nLing,nColg GET aDatos[n] OF oDlgnew SIZE nSize,12
// los datos del dialog deben actualizar los valores de un registro nuevo
next
ACTIVATE DIALOG oDlgnew CENTERED
return NIL