Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-01-2013
miguelgalindo87 miguelgalindo87 is offline
Miembro
NULL
 
Registrado: may 2012
Posts: 22
Poder: 0
miguelgalindo87 Va por buen camino
calcular e intercambiar datos entre dos o mas tablas

Primero que nada un cordial saludo a todos los participantes el foro. Al igual que todos necesito ayuda urgente con un problemita que tengo, les cuento:

estoy diseñando una aplicación de facturación con 3 tablas sencillas(paradox 7)
tcliente(contiene todos los datos ci,direccion,nombre y apellidos)
tdeuda(contiene la ci(como clave principal)y los meses del año como en un control de pago manual)
tfactucar( contiene los datos de la factura el monto, numero de factura, fecha, a quien fue realizada y el concepto o detalle de la misma)
hasta aqui todo va bien(creo yo)puedo editar los registros existentes...

El detalle es que un usuario puede facturar varios años(logicamente) pero cuando voy a agregar otro registro a la tabla tdeuda se tranca el programa y tengo varios errores entre los cuales destaca 'key violation'.
Código Delphi [-]
este es el boton calcular donde hago los procesos necesarios
 if(data.tdeuda.FieldByName('AÑO').AsInteger=strtoint(edit3.Text))then
begin
//parte en la que agrego registros a la tabla factura//
data.tfactura.Locate('CEDULA',Edit2.Text,[]);
data.tfactura.edit;
data.tfactura.FieldByName('DETALLE').AsString:= cadena;
data.tfactura.FieldByName('MONTO').NewValue:=total;
data.tfactura.FieldByName('AÑO').AsString:=edit3.Text;
data.tfactura.ApplyUpdates;
//parte en la que agrego registros a la tabla factura//
//parte en la que agrego registros a la tabla deuda//
data.tdeuda.Edit;
data.tdeuda.FieldByName('ENERO').AsInteger:= data.tfactura.FieldValues['Nº DE RECIBO'];
data.tdeuda.FieldByName('FEBRERO').AsInteger:= data.tfactura.FieldValues['Nº DE RECIBO'];
data.tdeuda.ApplyUpdates;
end;
//prueba del if si sirve condiciono la entrada segun los checklist//
if(data.tdeuda.FieldByName('AÑO').AsInteger<>STRTOINT(EDIT3.Text)) THEN
begin
showmessage('Año No Existe, Se Factura Otro Año');
data.tfactura.Append;
data.tdeuda.Append;
data.tdeuda.FieldByName('AÑO').NewValue:=strtoint(edit3.Text);
data.tdeuda.FieldByName('CEDULA_CLIENTE').AsInteger:= strtoint(edit2.Text);
data.tdeuda.FieldByName('ENERO').NewValue:= data.tfactura.FieldValues['Nº DE RECIBO']; //FALTA VALIDACION SEGUN CHECKLIST//
data.tfactura.FieldByName('DETALLE').AsString:= cadena;
data.tfactura.FieldByName('MONTO').NewValue:=total;
data.tfactura.FieldByName('Nº DE RECIBO').NewValue:= data.tfactura.FieldValues['Nº DE RECIBO']*2;
data.tfactura.FieldByName('AÑO').AsString:=edit3.Text;

data.tfactura.ApplyUpdates;
data.tdeuda.ApplyUpdates;

end;
end;

seria muy gentil de su parte colaborarme con mis errores

Última edición por Casimiro Notevi fecha: 30-01-2013 a las 09:46:56.
Responder Con Cita
  #2  
Antiguo 30-01-2013
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
Cita:
El detalle es que un usuario puede facturar varios años(logicamente) pero cuando voy a agregar otro registro a la tabla tdeuda se tranca el programa y tengo varios errores entre los cuales destaca 'key violation'.
Hola miguelgalindo87.

En principio sólo puedo opinar sobre el error que comentas: Key violation. Este se produce por que estas intentando guardar un registro en el que el campo declarado como Primary Key ya existe en la tabla.

Como estimo que los campos que has elegido como Primary Key, los has declarado autoincrementales para evitar duplicaciónes, revisa si te sirve este enlace: key violation en paradox

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 02-02-2013
miguelgalindo87 miguelgalindo87 is offline
Miembro
NULL
 
Registrado: may 2012
Posts: 22
Poder: 0
miguelgalindo87 Va por buen camino
muchas gracias eficsa lo revisare y dare mi resultado y ya vi que he hecho varias cosas mal
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
Actualizar datos entre tablas AnuardMichelen Firebird e Interbase 11 24-02-2012 17:51:24
Como Pasar Informacion Entre Dos Bases De Datos Con Tablas Identicas? MaSSaKKre SQL 8 06-02-2008 16:20:29
Intercambiar información entre bases de datos por Internet ¿TCP o FTP? Ariel Pérez Internet 2 15-09-2006 08:28:35
SQL UPDATE entre 2 tablas de Diferente base de datos Luis Alberto SQL 1 11-11-2005 04:52:18
Calcular diferencia entre horas toni.vi API de Windows 2 30-07-2003 11:35:40


La franja horaria es GMT +2. Ahora son las 08:09:50.


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