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 08-06-2015
alexglez1255 alexglez1255 is offline
Miembro
NULL
 
Registrado: jul 2013
Posts: 86
Poder: 11
alexglez1255 Va por buen camino
Error ´no corresponding master record found´

Cuando doy un Applyupdates(0) en datasets anidados me aparece este error....alguien sabe por que..?
el codigo es el siguiente


Código Delphi [-]
  With logicanegocio do

   If cdsArticContUnClienteCANTIDAD.Value>0 then
     begin
      cdsArticContUnClienteCOD_ARTICULO.AsInteger:=CDSListalmaCOD_ARTICULO.AsInteger;
      cdsArticContUnClientePRECIO.Value:=CDSListalmaPRECIO_VENTA.Value;
      cdsArticContUnClienteDESCRIPCION_ARTICULO.Value:=CDSListAlmaDESCRIPCION.Value;
      cdsArticContUnClienteCOD_VENDEDOR.Value:=cdsContratUnClienteCOD_VENDEDOR.Value;
      cdsArticContUnClienteCAPTURISTA.Value:=CDSdatosempresaUSUARIOACCESO.Value;
      cdsArticContUnClienteIDCAPTURISTA.Value:=CDSdatosempresaIDUSUARIO.Value;
      If (cdsArticContUnCliente.Modified) then
       begin
        cdsArticContUnCliente.ApplyUpdates(0);
        modulodatos.IBTransaction1.Active:=true;
        modulodatos.IBTransaction1.commit;
       end
       Else ShowMessage('Nada que gravar ');
     end  // end if si se hizo algun cambio
    Else begin
      ShowMessage('debe introducir la cantidad ');
      DBedit4.SetFocus;
      end; // End if si la cantidad es >0

Esta tabla es detalle de otra tabla llamada contratos y en esta tabla pongo los articulos de venta del contrato...sin embargo creo que no he definido esa relacion en delphi aunque ya lo hice en el ibexpert no se como hacerlo en el Delphi y creoo que por alli esta el problema...GRACIAS POR SU GRAN AYUDA..Y QUE MI DIOS LOS BENDIGA..POR SU LABOR ALTRUISTA...
Responder Con Cita
  #2  
Antiguo 08-06-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola alexglez1255.

Algunos datos que van a servirnos para ayudarte:
  • ¿ Que componentes estas usando para la conexión, IBX, DBExpress, ... ?
  • ¿ Cuales son las tablas y los campos por los cuales has establecido la relación master/detail ?
  • Cuando guardas los datos de la tabla detalle, ¿ Dispones del valor de la tabla maestro que establece la relación ?

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 08-06-2015
alexglez1255 alexglez1255 is offline
Miembro
NULL
 
Registrado: jul 2013
Posts: 86
Poder: 11
alexglez1255 Va por buen camino
1.-Uso interbase
2.-en ibexpert la tabla contratos y articuloscontrato son master y detalle por el campo cod_contrato
3.-Al guardar el detalle (articuloscontrato) me da el error mencionado..trate de establecer en el Dataset el MasterSource Pero me dice que no esta permitido en Datasets anidados, ya que para las altas uso campos anidados...
me explico ..? trate de hacer o que dice el manual de la cara oculta de delphi ...

Relaciones maestro/detalles

Para establecer una relación master/detail entre dos conjuntos de datos sólo hay que
hacer cambios en el que va a funcionar como conjunto de datos dependiente. En el
caso de TClientDataSet, las propiedades que hay que modificar son las siguientes:
Propiedad Propósito
MasterSource Un datasource asociado a la tabla maestra
IndexName ó IndexFieldNames Criterio de ordenación en la tabla dependiente
MasterFields Campos de la tabla maestra que forman la relación
Es necesario configurar una de las propiedades IndexName ó IndexFieldNames; ya
hemos visto que son modos alternativos y excluyentes de establecer un orden sobre
los registros del conjunto de datos. Este criterio de ordenación es el que se aprovecha
para restringir eficientemente el cursor sobre los detalles. En el ejemplo que mostramos antes, los pedidos deben estar ordenados por la columna Cliente.
Responder Con Cita
  #4  
Antiguo 08-06-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola alexglez1255.

Te faltó especificar los componentes de conexión.

Unos enlaces que explican como establecer la relación master/detail con diferentes componentes :
Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 09-06-2015
alexglez1255 alexglez1255 is offline
Miembro
NULL
 
Registrado: jul 2013
Posts: 86
Poder: 11
alexglez1255 Va por buen camino
Gracias eicfsa voy a revisar toda esa informacion para ver si encuentro el error
Responder Con Cita
  #6  
Antiguo 09-06-2015
alexglez1255 alexglez1255 is offline
Miembro
NULL
 
Registrado: jul 2013
Posts: 86
Poder: 11
alexglez1255 Va por buen camino
ecfisa, ya tengo las tres tablas de campos anidados, correctamente acomodadas como master y detail..pero ahora me sale el
error 'at the beginning of the table', a que crees que se deba,
te pongo el codigo para que lo vean..muchas gracias por su ayuda....

Código Delphi [-]
 procedure Taltadecontratos.BtguardarArticuloClick(Sender: TObject);
begin

 With logicanegocio do
   begin
    If cdsArticContUnClienteCANTIDAD.Value>0 then
     begin
      if cdsContratUnCliente.State in dsEditModes then
         cdsContratUnCliente.Post;
      if cdsArticContUnCliente.State in dsEditModes then
          cdsArticContUnCliente.Post;
      { If cdsContratUnCliente.ChangeCount>0 then
          cdsContratUnCliente.ApplyUpdates(0);
          cdsArticContUnCliente.post;
      If cdsArticContUnCliente.ChangeCount>0 then
       begin
         cdsArticContUnCliente.ApplyUpdates(0);
        If cdsContratUnCliente.ChangeCount>0 then
          cdsContratUnCliente.ApplyUpdates(0);
          modulodatos.IBTransaction1.Active:=true;
          modulodatos.IBTransaction1.commit;
       end
         Else ShowMessage('Nada que gravar ');
      end  }
       Else begin
         ShowMessage('debe introducir la cantidad ');
         DBedit4.SetFocus;
       end; // End if si la cantidad es >0

     end;  // end Logicanegocio

end;

me marca el error en :

Código Delphi [-]
    cdsArticContUnCliente.Post;

Que es tabla detalle de contratos..
Responder Con Cita
  #7  
Antiguo 09-06-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola alexglez1255

Busqué por el error, supuestamente de Paradox y no es muy explícito... Al parecer indica que la tabla está vacia o no tiene un índice definido.
Espero te sirvan los enlaces.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #8  
Antiguo 19-06-2015
alexglez1255 alexglez1255 is offline
Miembro
NULL
 
Registrado: jul 2013
Posts: 86
Poder: 11
alexglez1255 Va por buen camino
muchas gracias ecfisa, revise los enlances y quede igual....tuve que crear nuevos qrys y cliendatasets y fue de la manera que funciono y hice a un lado el cliendataset anidado, espero que a la hora de usarlos en las busquedas me funcione...muchas gracias
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
no corresponding master record found Jere_84 Varios 4 13-03-2012 14:15:26
'No corresponding master record found.' nferigo Varios 0 22-03-2010 17:20:50
edbclient: no corresponding master record found alquimista_gdl Conexión con bases de datos 4 12-11-2009 18:49:20
TClientDataSet.applyupdates (error: record not found or changed by another user) Bauhaus1975 Conexión con bases de datos 11 17-03-2009 11:30:51
Error Master Missing Record Edgtho Varios 6 16-12-2006 02:06:56


La franja horaria es GMT +2. Ahora son las 01:57:39.


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