Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-03-2011
Yulka Yulka is offline
Miembro
 
Registrado: ago 2008
Posts: 13
Poder: 0
Yulka Va por buen camino
Exclamation modificacion de resultado Consulta multiple

Hola, tengo un problema, cree una consulta utilizando varias tablas ( BD interbase) me muestra bien los datos en un formulario pero no me deja modificarlo,
Tengo un dataset donde esta guardada la siguiente consulta :

Código SQL [-]
select historiaclinica.hcnombre, historiaclinica.hcnro, historiaclinica.hcdni,
             historiaclinica.hcapellido, siniestro.strnro, siniestro.strfechaacc, siniestro.strart, observaciones.obsnrosin, observaciones.obsfecha, observaciones.obsprofesional, observaciones.obsobservacion,
observaciones.obsfechapc, observaciones.obsadmin,observaciones.obsfechaenv
from (historiaclinica inner join siniestro on historiaclinica.hcnro=siniestro.strhc) inner join observaciones on siniestro.strnro = observaciones.obsnrosin
where observaciones.obsfechaenv is NULL
order by historiaclinica.hcapellido;

Lo que tengo que me debe dejar modificar es todo lo de la tabla observaciones pero no me lo permite
Desde ya muchas gracias

Última edición por Casimiro Notevi fecha: 16-03-2011 a las 15:37:13. Razón: Poner etiquetas [sql] [/sql]
Responder Con Cita
  #2  
Antiguo 16-03-2011
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola Yulka, no te deja hacer el update porque en tu consulta estas interactuando con 3 tablas, por lo cual tu manejador de BD no sabe sobre cual de las tablas va hacer el update. Tienes que hacer un update solo sobre la tabla observaciones tomando el obsnrosin de tu consulta.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #3  
Antiguo 16-03-2011
Yulka Yulka is offline
Miembro
 
Registrado: ago 2008
Posts: 13
Poder: 0
Yulka Va por buen camino
Tengo un IBDataset en donde en la propiedad Modifysql tengo lo siguiente:

Código SQL [-]
update OBSERVACIONES
set
  OBSNROSIN = :OBSNROSIN,
  OBSFECHA = :OBSFECHA,
  OBSPROFESIONAL = :OBSPROFESIONAL,
  OBSOBSERVACION = :OBSOBSERVACION,
  OBSFECHAPC = :OBSFECHAPC,
  OBSADMIN = :OBSADMIN,
  OBSFECHAENV = :OBSFECHAENV
where
  OBSNROSIN = :OLD_OBSNROSIN and
  OBSFECHA = :OLD_OBSFECHA and
  OBSPROFESIONAL = :OLD_OBSPROFESIONAL and
  OBSOBSERVACION = :OLD_OBSOBSERVACION and
  OBSFECHAPC = :OLD_OBSFECHAPC and
  OBSADMIN = :OLD_OBSADMIN and
  OBSFECHAENV = :OLD_OBSFECHAENV
pero aun así no funciona, sabes como lo tendría que hacer
Gracias

Última edición por Casimiro Notevi fecha: 16-03-2011 a las 16:43:30. Razón: Poner etiquetas [sql] el código [/sql] ;)
Responder Con Cita
  #4  
Antiguo 16-03-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Yulka Ver Mensaje
[..] pero aun así no funciona, sabes como lo tendría que hacer
¿Y por qué no funciona?, ¿qué hace?, ¿qué error sale?, ¿qué estás haciendo?, ¿cómo lo llamas?, ¿qué código estás usando?

Por cierto, bienvenido a clubdelphi, no olvides leer las normas básicas del club.
Responder Con Cita
  #5  
Antiguo 16-03-2011
Yulka Yulka is offline
Miembro
 
Registrado: ago 2008
Posts: 13
Poder: 0
Yulka Va por buen camino
Gracias por la bienvenida,
no sale ningún error, solo no me deja ni agregar ni modificar
lo que hace es que se pueda ver las observaciones que escribió el medico y que el usuario pueda arreglarla para pasarla a una ART
¿cómo lo llamas? ahi tal vez este el problema ,no lo llamo en el código dentro del formulario, solo asigno cada campo del IB a cada campo del formulario.
Responder Con Cita
  #6  
Antiguo 17-03-2011
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
resp

Hermanito esto es mas facilq ue pelar mandarinas. Crea una vista con la consulta y le creas los disparadores a la vista y hay madas a actualizar en la tabla que quieras hacer las insercione smodificciono borrados.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #7  
Antiguo 17-03-2011
Yulka Yulka is offline
Miembro
 
Registrado: ago 2008
Posts: 13
Poder: 0
Yulka Va por buen camino
Rastafarey no se como se crea una vista con la consulta y tampoco los disparadores
Responder Con Cita
  #8  
Antiguo 17-03-2011
Yulka Yulka is offline
Miembro
 
Registrado: ago 2008
Posts: 13
Poder: 0
Yulka Va por buen camino
Gracias, estoy buscando algún buen ejemplo para entender mejor a lo que te referís rastafarey
Responder Con Cita
  #9  
Antiguo 22-03-2011
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
Resp

Si es con codigo que se entiende aqui hay codigo.

Código SQL [-]
CREATE TABLE "Variables" (
    "Id"                            BIGINT NOT NULL,
    "Id usuario que creo"           BIGINT DEFAULT -1 NOT NULL,
    "Fecha y hora de creacion"      TIMESTAMP DEFAULT Current_timestamp NOT NULL,
    "Id usuario que modifico"       BIGINT DEFAULT -1 NOT NULL,
    "Fecha y hora de modificacion"  TIMESTAMP DEFAULT Current_timestamp NOT NULL,
    "Id externo"                    BIGINT,
    "Nombre"                        VARCHAR(70) NOT NULL ,
    "Valor"                         DOUBLE PRECISION,
    "Memo"                          BLOB SUB_TYPE 1 SEGMENT SIZE 80,
    "Binario"                       BLOB SUB_TYPE 0 SEGMENT SIZE 2048,
    "Cadena"                        VARCHAR(120) 
);

INSERT INTO "Variables" ("Id", "Id usuario que creo", "Fecha y hora de creacion", "Id usuario que modifico", "Fecha y hora de modificacion", "Id externo", "Nombre", "Valor", "Cadena")
                 VALUES (1, -1, '2009-09-21 23:54:13', -1, '2009-09-21 23:54:13', NULL, 'MONEDA_LOCAL', NULL, 'Bolivar(es)');
INSERT INTO "Variables" ("Id", "Id usuario que creo", "Fecha y hora de creacion", "Id usuario que modifico", "Fecha y hora de modificacion", "Id externo", "Nombre", "Valor", "Cadena")
                 VALUES (2, -1, '2009-09-21 23:54:13', -1, '2009-09-21 23:54:13', NULL, 'SIGLAS_MONEDA_LOCAL', NULL, 'Bs');
INSERT INTO "Variables" ("Id", "Id usuario que creo", "Fecha y hora de creacion", "Id usuario que modifico", "Fecha y hora de modificacion", "Id externo", "Nombre", "Valor", "Cadena")
                 VALUES (3, -1, '2009-09-21 23:54:13', -1, '2009-09-21 23:54:13', NULL, 'MONEDA_DE_REFERENCIA', NULL, 'Dolar(es)');
INSERT INTO "Variables" ("Id", "Id usuario que creo", "Fecha y hora de creacion", "Id usuario que modifico", "Fecha y hora de modificacion", "Id externo", "Nombre", "Valor", "Cadena")
                 VALUES (4, -1, '2009-09-21 23:54:13', -1, '2009-09-21 23:54:13', NULL, 'SIGLAS_MONEDA_DE_REFERENCIA', NULL, '$');
INSERT INTO "Variables" ("Id", "Id usuario que creo", "Fecha y hora de creacion", "Id usuario que modifico", "Fecha y hora de modificacion", "Id externo", "Nombre", "Valor", "Cadena")
                 VALUES (5, -1, '2009-09-21 23:54:13', -1, '2009-09-22 01:13:18', NULL, 'FACTOR_DE_CAMBIO_MONEDA_DE_REFERENCIA', 7, NULL);
INSERT INTO "Variables" ("Id", "Id usuario que creo", "Fecha y hora de creacion", "Id usuario que modifico", "Fecha y hora de modificacion", "Id externo", "Nombre", "Valor", "Cadena")
                 VALUES (6, -1, '2009-09-21 23:54:13', -1, '2009-09-21 23:58:02', 1, 'DEPOSITO_POR_DEFECTO', NULL, NULL);
INSERT INTO "Variables" ("Id", "Id usuario que creo", "Fecha y hora de creacion", "Id usuario que modifico", "Fecha y hora de modificacion", "Id externo", "Nombre", "Valor", "Cadena")
                 VALUES (7, -1, '2009-09-21 23:54:13', -1, '2009-09-21 23:55:25', NULL, 'REPRESENTANTE_EMPRESA', NULL, 'Pedro perez');
INSERT INTO "Variables" ("Id", "Id usuario que creo", "Fecha y hora de creacion", "Id usuario que modifico", "Fecha y hora de modificacion", "Id externo", "Nombre", "Valor", "Cadena")
                 VALUES (8, -1, '2009-09-21 23:54:13', -1, '2009-09-21 23:54:13', NULL, 'LOGO_EMPRESA', NULL, NULL);
INSERT INTO "Variables" ("Id", "Id usuario que creo", "Fecha y hora de creacion", "Id usuario que modifico", "Fecha y hora de modificacion", "Id externo", "Nombre", "Valor", "Cadena")
                 VALUES (9, -1, '2009-09-21 23:54:13', -1, '2009-09-21 23:54:13', NULL, 'DIRECCION_EMPRESA', NULL, NULL);
INSERT INTO "Variables" ("Id", "Id usuario que creo", "Fecha y hora de creacion", "Id usuario que modifico", "Fecha y hora de modificacion", "Id externo", "Nombre", "Valor", "Cadena")
                 VALUES (10, -1, '2009-09-21 23:54:13', -1, '2009-09-21 23:54:13', NULL, 'TELEFONOS_EMPRESA', NULL, NULL);
INSERT INTO "Variables" ("Id", "Id usuario que creo", "Fecha y hora de creacion", "Id usuario que modifico", "Fecha y hora de modificacion", "Id externo", "Nombre", "Valor", "Cadena")
                 VALUES (11, -1, '2009-09-21 23:54:13', -1, '2009-09-21 23:54:13', NULL, 'EMAILS_EMPRESA', NULL, NULL);
INSERT INTO "Variables" ("Id", "Id usuario que creo", "Fecha y hora de creacion", "Id usuario que modifico", "Fecha y hora de modificacion", "Id externo", "Nombre", "Valor", "Cadena")
                 VALUES (12, -1, '2009-09-21 23:54:13', -1, '2009-09-21 23:54:13', NULL, 'WEBS_EMPRESA', NULL, NULL);
INSERT INTO "Variables" ("Id", "Id usuario que creo", "Fecha y hora de creacion", "Id usuario que modifico", "Fecha y hora de modificacion", "Id externo", "Nombre", "Valor", "Cadena")
                 VALUES (13, -1, '2009-09-21 23:54:13', -1, '2009-09-21 23:54:13', NULL, 'NUMERO_DE_DECIMALES', 2, NULL);
INSERT INTO "Variables" ("Id", "Id usuario que creo", "Fecha y hora de creacion", "Id usuario que modifico", "Fecha y hora de modificacion", "Id externo", "Nombre", "Valor", "Cadena")
                 VALUES (14, -1, '2009-09-21 23:54:13', -1, '2009-09-21 23:54:13', NULL, 'MONEDA_COMPRA', 1, NULL);
INSERT INTO "Variables" ("Id", "Id usuario que creo", "Fecha y hora de creacion", "Id usuario que modifico", "Fecha y hora de modificacion", "Id externo", "Nombre", "Valor", "Cadena")
                 VALUES (15, -1, '2009-09-21 23:54:13', -1, '2009-09-22 00:15:54', NULL, 'ID_CLIENTE_POR_DEFECTO', 2, NULL);
INSERT INTO "Variables" ("Id", "Id usuario que creo", "Fecha y hora de creacion", "Id usuario que modifico", "Fecha y hora de modificacion", "Id externo", "Nombre", "Valor", "Cadena")
                 VALUES (16, -1, '2009-09-21 23:54:13', -1, '2009-09-21 23:54:13', NULL, 'IMPUESTO', 1, NULL);
INSERT INTO "Variables" ("Id", "Id usuario que creo", "Fecha y hora de creacion", "Id usuario que modifico", "Fecha y hora de modificacion", "Id externo", "Nombre", "Valor", "Cadena")
                 VALUES (17, -1, '2009-09-21 23:54:13', -1, '2009-09-21 23:54:13', NULL, 'PERMITIR_DESCUENTO_PARCIAL', 1, NULL);
INSERT INTO "Variables" ("Id", "Id usuario que creo", "Fecha y hora de creacion", "Id usuario que modifico", "Fecha y hora de modificacion", "Id externo", "Nombre", "Valor", "Cadena")
                 VALUES (18, -1, '2009-09-21 23:54:13', -1, '2009-09-21 23:58:04', 1, 'DEPOSITO_DE_VENTA', NULL, NULL);
INSERT INTO "Variables" ("Id", "Id usuario que creo", "Fecha y hora de creacion", "Id usuario que modifico", "Fecha y hora de modificacion", "Id externo", "Nombre", "Valor", "Cadena")
                 VALUES (19, -1, '2009-09-21 23:54:13', -1, '2009-09-21 23:54:13', NULL, 'PORCENTAJE_UTILIDAD_PVP', 10, NULL);

CREATE VIEW "V empresa"(
    "Id",
    "Representante empresa",
    "Logo empresa",
    "Direccion empresa",
    "Telefono(s) empresa",
    "Email(s) empresa",
    "Web(s) empresa")
AS
Select 1
     , (Select "Cadena" From "Variables" Where "Nombre" = 'REPRESENTANTE_EMPRESA')
     , (Select "Binario" From "Variables" Where "Nombre" = 'LOGO_EMPRESA')
     , (Select "Memo" From "Variables" Where "Nombre" = 'DIRECCION_EMPRESA')
     , (Select "Memo" From "Variables" Where "Nombre" = 'TELEFONOS_EMPRESA')
     , (Select "Memo" From "Variables" Where "Nombre" = 'EMAILS_EMPRESA')
     , (Select "Memo" From "Variables" Where "Nombre" = 'WEBS_EMPRESA')
From RDb$DataBase;

CREATE OR ALTER TRIGGER "V empresa_AP" FOR "V empresa"
ACTIVE BEFORE INSERT OR UPDATE OR DELETE POSITION 0
AS
begin
  -- Insercion o Modificacion
  If (Inserting or Updating) Then Begin

   Update Or Insert Into "Variables"("Nombre", "Cadena") Values('REPRESENTANTE_EMPRESA', New."Representante empresa")   Matching ("Nombre");
   Update Or Insert Into "Variables"("Nombre", "Binario") Values('LOGO_EMPRESA', New."Logo empresa")   Matching ("Nombre");
   Update Or Insert Into "Variables"("Nombre", "Memo") Values('DIRECCION_EMPRESA', New."Direccion empresa")   Matching ("Nombre");
   Update Or Insert Into "Variables"("Nombre", "Memo") Values('TELEFONOS_EMPRESA', New."Telefono(s) empresa")   Matching ("Nombre");
   Update Or Insert Into "Variables"("Nombre", "Memo") Values('EMAILS_EMPRESA', New."Email(s) empresa")   Matching ("Nombre");
   Update Or Insert Into "Variables"("Nombre", "Memo") Values('WEBS_EMPRESA', New."Web(s) empresa")   Matching ("Nombre");

  End

  -- Borrado
  Else If (Deleting) Then Begin
    Delete From "Variables" Where "Nombre" = 'REPRESENTANTE_EMPRESA';
    Delete From "Variables" Where "Nombre" = 'LOGO_EMPRESA';
    Delete From "Variables" Where "Nombre" = 'DIRECCION_EMPRESA';
    Delete From "Variables" Where "Nombre" = 'TELEFONOS_EMPRESA';
    Delete From "Variables" Where "Nombre" = 'EMAILS_EMPRESA';
    Delete From "Variables" Where "Nombre" = 'WEBS_EMPRESA';
  End
end
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #10  
Antiguo 22-03-2011
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
Resp

Te puse el ejemplo mas lo mas raro que pude. Convirtiendo registros a campos y luego actualizando o insertanto sobre los registro dependiendo del nombre.

Crea uan bd y ejecuta todo este codigo.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #11  
Antiguo 25-03-2011
Yulka Yulka is offline
Miembro
 
Registrado: ago 2008
Posts: 13
Poder: 0
Yulka Va por buen camino
Gracias, ya lo pude solucionar
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
Consulta Multiple novato03 Conexión con bases de datos 4 02-12-2008 18:11:42
concatenar resultado de una consulta carlo_acp SQL 7 20-10-2008 21:10:00
Buscar en resultado de consulta SQL alvarocastillo SQL 6 06-11-2007 16:28:54
Acceso al resultado de una consulta SQL beatriz g SQL 2 16-08-2006 20:27:19
comprimir resultado de consulta cuscus Firebird e Interbase 3 29-04-2005 11:45:00


La franja horaria es GMT +2. Ahora son las 07:08:20.


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