Page 1 of 1

como generar un dialog desde una base de datos

PostPosted: Thu Jan 10, 2013 2:50 pm
by rterraz
Hola amigos,

mi problema es el siguiente
Necesito generar,cuando quiero agregar un registro en un twbrowse, un cuadro de dialogo que contenga todos los campos 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 los campos que contenga dicha base.
El problema mayor es como asignarle las variables a los get para que actualicen los campos 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

Re: como generar un dialog desde una base de datos

PostPosted: Sat Jan 12, 2013 4:28 pm
by FranciscoA
Hola, creo que puedes lograrlo utilizando FileldGet() o FieldPos(), algo asi: (no lo he probado)
@ nLing,nColg GET aDatos[n] VAR (cFile)->( FieldGet(n) ) OF oDlgnew SIZE nSize,12
Saludos.

Re: como generar un dialog desde una base de datos

PostPosted: Mon Jan 14, 2013 2:47 pm
by rterraz
hola Francisco
gracias por tu respuesta, lo probe y sigue sin funcionar...
voy a probar usando algunas variables temporaleds a ver que pasa
abrazo

Re: como generar un dialog desde una base de datos

PostPosted: Tue Jan 22, 2013 1:17 pm
by karinha

Re: como generar un dialog desde una base de datos

PostPosted: Wed May 13, 2015 1:34 am
by russimicro
oBrwTem:Edit() .. método de xbrowse... para edición rápida... funciona