Lotus Approach - campo calculado

 
Vista:

campo calculado

Publicado por ATILIO (4 intervenciones) el 21/10/2009 05:50:06
Hola a todos,a quien pueda ayudarme:
De los casi 20 campos calculados que creé solo se ven dos en el cuadro de asistente para busqueda y tan solo uno en el de asociar.
Recorri todas las opciones de preferencias y tambien el de recrearlos.Seguramente estoy cometiendo un error al generarlos.
Gracias por vuestra atencion

Atilio
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

RE:campo calculado

Publicado por Manolo (140 intervenciones) el 21/10/2009 08:51:20
Hola Atilio:
No se pueden asociar campos calculados con funciones "resumen" ni campos calculados que incluyan a otros "resumen" o "variables". Tampoco podrás hacer búsquedas por ninguno de éstos tipos de campos. Si lo piensas un poco es lógico. Un campo variable contiene un único valor. Y un campo resumen contiene
un valor (suma, media, cuenta,etc) que se calcula con un conjunto de registros. No tiene sentido buscar registros por un valor "constante" que además no está en ninguno de ellos, ni buscar registros por una condición que afecta a un conjunto o subconjunto de todos ellos. Ni por supuesto, asociar.
Probablemente los campos calculados a los que te refieres, están en alguno de éstos casos. Incluso puede haber algún caso más que ahora mismo no se me ocurre. Si alguno de tus campos "díscolos" no está dentro de éstas condiciones, nos lo cuentas y trataremos de buscarle una explicación.

Un saludo.

Manolo
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

RE:campo calculado

Publicado por atilio (14 intervenciones) el 21/10/2009 19:19:15
Hola Manolo,en este caso es un calculado con una formula de comparacion entre un campo de texto y un variable,justamente esta busqueda ya la hice funciona bien en otro calculado que sí me aparece en el cuadro de busqueda,en mi ultima respuesta a Pinki se lo comento donde armé una busqueda de registros que coinciden con el registro de la vista en ese momento en pantalla sin tener que escribir el NOMBRE.
Y abusando de tu buena predisposicion te comento que el otro problema que tengo pendiente es;como defino una instruccion en un panel que se debe ejecutar linea por linea.
Muchas gracias por tu atencion

Atilio
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

RE:campo calculado

Publicado por ATILIO p/Manolo (4 intervenciones) el 22/10/2009 17:45:28
escribiendo el anterior mensaje me dí cuenta que me estaba enrredando,ya tengo la solucion a mi busqueda y es usando el variable y el calculado que sí aparecen en el cuadro de busqueda.
Ahora bien,para otra parte del programa me sigue pendiente resolver la instruccion que se repite en cada linea de un panel.
Gracias por tu atencion.

atilio
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

RE:campo calculado

Publicado por Manolo (140 intervenciones) el 23/10/2009 09:21:26
Hola Atilio:
Con referencia a la instrucción que se ejecute linea por linea en un panel supongo que te referirás a que se ejecute tantas veces como registros tenga el panel y que tendrá que tomar algún/os dato/s de cada linea. También supongo que querrás hacerlo con macros. Hace tiempo que abandoné las macros y ahora mismo no tengo ni idea de como solucionarlo así. Pero si sé cómo resolverlo con lenguaje script.
Los registros que aparecen en un panel, tienen una relación con un registro de otro dbf "principal". Entonces también se pueden seleccionar con un SQL. Y cómo los datos también son accesibles a través de SQL, con un bucle se pueden tratar todos. Básicamente:

Dim QRY As Query
Dim RST As ResultSet
Dim CON As Connection
CD = Chr(34) '----- Comillas dobles

Path = "C:/Carpeta donde está el dbf/" 'Via completa al archivo
File="Archivo.dbf" 'Nombre del dbf"

Set CON = New Connection
Set QRY = New Query
Set RST = New ResultSet
CON.ConnectTo("dBASE IV")
Set QRY.Connection = CON
QRY.TableName = Path + File
Set RST.Query = QRY

La carga de variables con valores del formulario se hace con el método .Text de los campos del formulario:
El nombre de campo está en "nombre de campo" de la pestaña "Macros" del cuadro de propiedades del campo.

"Leer" el contenido de un campo del formulario:
ValorCampo = CurrentView.Body.NOMBREDECAMPO.Text

'--- Seleccionar los regitros
QRY.SQL = "SELECT * FROM " & CD & Table & CD & WHERE condiciones "
Set RST.Query = QRY
RST.Execute
NUMRECORDS = RST.NumRows 'Cuantos registros cumplen las "condiciones"

'Y ahora el bucle
WHILE NOT RST.IsEndOfData ' Hasta el último registro del ResultSet
'Almacena en la variable "VALOR" el contenido de "nombre de campo"
VALOR = RST.GetValue("nombre de campo")

'Cálculos o procesos que tengas que hacer

'Guarda en "nombre de campo" el contenido de VARIABLE
RESULT = RST.SetValue("nombre de campo",VARIABLE)
'Actualiza el registro
RESULT = RST.UpdateRow

IF RESULT <> -1 THEN
'La actualización no ha ido bien
END IF

RST.NextRow 'Siguiente registro
WEND

'Si has modificado datos que aparecen en el panel y quieres que que esas modificaciones se "actualizen" en el formulario (en el .dbf ya están"), se hace con el método Refresh.

CurrentWindow.Refresh 'Equivale a la opcion "Actualizar datos" del menú "Registro"

Creas un botón de "Actualización", por ejemplo, y en el evento "Click" del botón, escribes las instrucciones. Cuando hagas click en el botón, se ejecutarán las instrucciones. Tendrás que modificar las condiciones del SELECT,y los procesos dentro del bucle a tus necesidades. Si hay alguna cosa que no entiendes, me lo comentas. Si no estás familiarizado con ésta programación y se te hace un poco duro, puedo enviarte algún ejemplillo que tengo por ahí.

Un saludo.

Manolo.
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

RE:campo calculado

Publicado por atilio  (14 intervenciones) el 23/10/2009 12:46:24
Agradezco mucho tu ayuda,lamentablemente toda esta instruccion es como leer chino,bueno pero me diste una pista con el metodo de actualizar o refrezcar.
Con respecto al boton,sí lo tengo creado en el panel con la instruccion de actualizar(como macro) y lo que me falta es el bucle de salto de linea.
Voy a intentar grabar la instrucion como scrip para entender tu instruccion.
Con respecto a los ejemplos que me ofreces,me vendrian muy bien.

gracias

atilio
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