Pasar Datos de un Datawindow a un SingleLineEdit.

Estoy realizando un sistema de eventos académicos(seminarios, congresos, etc), y necesito pasar los datos de un participante(DNI+Nombre) a un SingleLineEdit(caja de texto) buscado previamente en un Datawindow, agradecería mucho si me pudieran ayudar.

1 Respuesta

Respuesta

Puedes hacerlo con un closewithreturn enviándole una estructura

En el botón aceptar o en el dobleclic de tu dw debe de ir lo siguiente:

s_datos.s_dni = dw.getitemstring(dw.getrow(), 'dni')
s_datos.s_nombres = dw.getitemstring(dw.getrow(), 'nombres')
Closewithreturn(w_buscar, s_datos)

En tu ventana del registro de participantes en el clicked del botón para buscar al participante, tendrías esto:

open(w_buscar)
s_datos = message.powerobjectparm
sle_dni.text = s_datos.s_dni
sle_nombres.text = s_datos.s_nombres

Hola, hice esto y me salio:

If dw_listar.RowCount() < 1 Then Return // Nada para pasar
w_matricula.sle_dni.Text = dw_listar.Object.dni_par[dw_listar.GetRow()]
w_matricula.sle_nombres.Text = dw_listar.Object.nom_par[dw_listar.GetRow()]
Close( Parent )

Pero ahora quiero guardar solo el DNI en la base de datos, lo del nombre solo es algo referencial. Agradeceria mucho si me pudieras ayudar con eso.

Ayúdenme por favor.

Tendrías que hacer un max a tu tabla.

Para generar el código:

string ls_codigo
integer li_codigo
//capturas el código máximo, extrayendo sólo los números y convirtiéndolo en entero
select max(cast(right(codigo,4) as int)) into :li_codigo from matricula ;
// esto es para el primer registro, si no existen registros te arroja nulo y si es eso se inicializa con cero
if isnull(li_codigo) then li_codigo = 0
//convertes el correlativo al formato que deseas
ls_codigo = 'M' + string( (li_codigo + 1), '0000')

Para el caso de la fecha puedes hacerle un today(), pero el today recuperará la fecha y hora de la PC, es preferible que captures la fecha y hora del servidor. para eso haces esto:

select getdate() into :ldt_fechahora from tabla;
//tabla: es cualquier tabla pequeña que tengas
// ejemplo:
select getdate() into :ldt_fechahora from moneda ;
// la tabla moneda sólo tendrá 3 registros a lo mucho (Soles, Dólares y Euros)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas