Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-02-2008
Jabi Jabi is offline
Miembro
 
Registrado: may 2004
Posts: 10
Poder: 0
Jabi Va por buen camino
Operation Not Applicable -fklookup

Hola a todos, a ver si alguien tiene tiempo como para echarle un vistazo a este hilo:

versión : delphi 7, BDE, base de datos ORACLE 8i

Situación:

Tengo un programa para realizar informes con un estadillo de campos para rellenar. Uno de estos campos hasta ahora lo tenía como editable, es un campo VARCHAR2(50) llamado "Registro".

A la hora de rellenar un informe lanzo la siguiente consulta para que me devuelva el registro correspondiente del informe:

select *
from informes
where referencia_informe= 'XXX'

la consulta la tengo en un Qry_Informe

(aquí tengo el campo "Registro")

Ahora necesito codificar este campo y guardar "Registro" de una manera concreta.

(voy a seguir guardando la información en el mismo campo "Registro")

Se me ha proporcionado una tabla llamada Registros con la siguiente estructura:

REGISTROS

cod_registro varchar2 (7) --> donde todos los valores serán numéricos:
Ejemplo: 3001245

Nombre_registro varchar2 (50)
Ejemplo: Valladolid 3

Esta tabla me permite cerrar el campo que hasta ahora tenía como editable, de tal manera que el usuario no tenga más que seleccionar de un desplegable.

El problema que los datos que tengo en mi aplicación cliente-servidor pueden venir de una web (1) directamente o pueden darse de alta en mi aplicación (2) internamente.


(1)Asi que cuando vienen de la web solo tengo que mostrarlo, pero de la web ya me viene el código y yo quiero mostrar la descripción:

para eso creo un camplo fklookup REGISTRO_WEB que es el que muestro ahora en el estadillo del informe

keyfield: registro
lookupkeyfield:cod_registro
lookupresultfield:nombre_registro

(2) Casos internos tengo un DBLookupComboBox y cuando entro aparece el listado y me permite seleccionar.

hasta aquí todo funciona perfecto pero tengo un (3) tercer caso que es el que me fastidia el chiringuito:

(3) si intento consultar un informe realizado antes de la implantación de este sistema donde en el campo registro tengo un valor alfanumérico que no aparece en la tabla REGISTROS obtengo el siguiente error:
OPERATION NOT APPLICABLE

quería saber si a alguien se le ocurre algo para resolver este tercer problema.
No se si se puede hacer algo para que no me salte el error con el campo lookup y poder mostrar lo que tengo en el campo

No se si me he sabido explicar, intentar lo he intentado, a ver si alguien puede darme alguna pista o se le ocurre algo.

Gracias por vuestro tiempo.
Responder Con Cita
  #2  
Antiguo 28-02-2008
Jabi Jabi is offline
Miembro
 
Registrado: may 2004
Posts: 10
Poder: 0
Jabi Va por buen camino
resolución-campo fklookup en tiempo ejecución

finalmente lo único que se me ha ocurrido es generar el campo fklookup en tiempo de ejecución, así pues, lo que hago es una consulta para ver el estado del campo y si no es un campo codificado lo trato de una manera, y cuando el campo es codificado entonces genero el campo flklookup de la siguiente manera:

with TStringField.Create(MiDataSet) do
begin
FieldName := 'FieldName';
FieldKind := fkLookup;
DataSet := MiDataSet;
Name := MiDataSet.Name + FieldName;
KeyFields := 'MiKeyFields';
LookupDataSet := MiLookupDataSet;
LookupKeyFields := 'MiLookupKeyFields';
LookupResultField := 'MiLookupResultField';

MiDataSet.FieldDefs.Add(FieldName, ftString, 50, False);
end;
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Operation Not Applicable koalko84 Conexión con bases de datos 2 29-03-2011 17:45:14
Error: "Operation not applicable" al activar un query karaoke Conexión con bases de datos 3 17-12-2007 12:26:32
Mensaje Operation no applicable zugazua2001 Varios 5 05-04-2006 10:01:30
Operation not applicable on filter jymy788 Conexión con bases de datos 2 26-05-2005 15:23:01


La franja horaria es GMT +2. Ahora son las 12:46:22.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi