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 Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-03-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
Red face Actualizar registros de dos tablas

porfavor necesito ayuda espero me ayuden

tengo 2 tablas en paradox

tengo un formulario que me debe permitir modificar un registro de las 2 tablas al mismo tiempo....

tenia esto
Código Delphi [-]
 
table1.edit;
table1.fieldvalues['campo1']:=edit1.text;
table1.post;
 
table2.edit;
table2.fieldvalues['campo2']:=edit1.text;
table2.post;


pero esto funciona mal por que cuando muestro los datos en un formulario la tabla1 tiene un registro seleccionado pero table2 no, por lo tanto en table1 actualiza bien pero en table2 actualiza el último registro hecho

¿y si no quiero modificar el ultimo registro? sino el registro número 50 de las 2 tablas ¿¿como lo hago??

gracias adelantadas!!

Última edición por lKinGl fecha: 30-03-2008 a las 23:54:16.
Responder Con Cita
  #2  
Antiguo 30-03-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Aqui lo que indicas con lo que estas haciendo es:
Editas las dos tablas (tabla1 y tabla2) y haces un post indicado que el campo 1 y 2 sean iguales al edit1.
Bueno, las tablas no van a saber cual es el campo que quieres modificar, simplemente modificaran el primer campo o en su defecto el campo en el que se haya editado.
O nos das poca informacion o esta mal estructurado.
Yo usaría un query.
Saludos
Responder Con Cita
  #3  
Antiguo 30-03-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
Tengo 1 tabla cliente y una póliza

un cliente puede tener mas de una póliza

tengo un formulario que registra clientes
y otro que registra pólizas

los dos bien

en el formulario de póliza uso una búsqueda sql (tabla clientes) para localizar el cliente que se le asignará a la nueva póliza

cuando el formulario póliza guarda crea un registro completo en la tabla póliza del nombre del cliente y sus datos

pero cuando voy al formulario de moficar datos de un cliente necesito que el nombre nuevo que yo asigne en el edit se modifique en la tabla poliza y en la tabla cliente

lo intente asi pero es ilogico por que 1 de las tablas no va a saber que registro quiero modificar y tomará por defecto el último

Código Delphi [-]
table1.edit;
table1.fieldvalues['campo1']:=edit1.text;
table1.post;
table2.edit;
table2.fieldvalues['campo1']:=edit1.text;
table2.post;
con este codigo delphi creo que se entiende lo que quiero lograr saludos!!

Última edición por lKinGl fecha: 30-03-2008 a las 23:55:16.
Responder Con Cita
  #4  
Antiguo 30-03-2008
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
a vr creo que tienes que darle una leidita a esto, guia de estilo


Solucion a tu problema:
Código Delphi [-]
table1.edit;
table1.fieldvalues['campo1']:=edit1.text;
table1.post;
if table2.locate('CodigoCliente', table1.fieldvalues['codigocliente'], []) then
begin
   table2.edit;
   table2.fieldvalues['campo1']:=edit1.text;
   table2.post;
end
else
   ShowMessage('Error grave de referencialidad, ayudaaaaaaaaaa');

Y tambien creo que con ese codigo delphi puedes entender lo que te quiero decir
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #5  
Antiguo 30-03-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
Smile

perfecto voy a intentar

por lo que pude ojear tu codigo es exactamente lo que necesito gracias lo pruebo y aviso como me fue!!
Responder Con Cita
  #6  
Antiguo 30-03-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
sigue igual no actualiza como quiero por que solo actualiza el ultimo registro de las 2 tablas

Última edición por lKinGl fecha: 30-03-2008 a las 19:21:43.
Responder Con Cita
  #7  
Antiguo 30-03-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
el codigo que me pasaste tenia un pequeño error no midifcaba los datos por que primero mandas a que edite el contenido de table1 y cuando entra a hacer el condicional if compara el table1 con table2 y como table1 ya fue modificado no va a coincidir nunca con el 2 lo que hice fue que despues que hace el condicional actualiza los dos tables de esta forma

Código Delphi [-]
if table2.locate('CodigoCliente', table1.fieldvalues['codigocliente'], []) then
begin table1.edit;
table1.fieldvalues['campo1']:=edit1.text; 
table1.post; 
table2.edit; 
table2.fieldvalues['campo1']:=edit1.text; 
table2.post;
end

asi si me funcionó como queria pero de todas maneras se agradece el codigo:

if table2.locate('CodigoCliente', table1.fieldvalues['codigocliente'], []) then

no lo sabia y me ayudo a la perfección gracias!!!

Última edición por lKinGl fecha: 30-03-2008 a las 19:16:49.
Responder Con Cita
  #8  
Antiguo 30-03-2008
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
que escribistes ahi?, eso es una broma?, has leido la guia de estilo??
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #9  
Antiguo 30-03-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
disculpen tanta molestia pero acabo de probar bien el programa y no funciona bien el código que me diste por que como compara 1 campo1 de table1 con campo2 de table2 edita siempre los ultimos registros y necesito es que modifique el que tengo cargado en mi formulario
Responder Con Cita
  #10  
Antiguo 30-03-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
ups disculpen de verdad no quise infringir las reglas del foro puesto que no habia leido la guia de estilo...


ya la lei y no volverá a pasar gracias!! y disculpen
Responder Con Cita
  #11  
Antiguo 30-03-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
lo intente asi pero edita son los 2 últimos registros de las tablas


Código Delphi [-]
if table2.locate('ced_cli', table1.fieldvalues['ced_cli'],[]) then
begin
table1.edit;
table1.fieldvalues['campo1']:=edit1.text;
table1.post;
table2.edit;
table2.fieldvalues['campo1']:=edit1.text;
table2.post;
end


gracias adelantadas!!!

Última edición por lKinGl fecha: 30-03-2008 a las 19:18:25.
Responder Con Cita
  #12  
Antiguo 30-03-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Insisto, la programacion es como el Derecho, No se puede leer entre lineas.
O se da la version completa o no se entiende.
No he logrado, por mas que intento, entender el concepto.
Por favor usa las etiquetas [delphi], ve a avanzado y coloca el segundo boton de la derecha, arriba.
Saludos
Responder Con Cita
  #13  
Antiguo 30-03-2008
mario2000 mario2000 is offline
Miembro
 
Registrado: abr 2007
Posts: 109
Poder: 17
mario2000 Va por buen camino
¿quin dijo que en foro las cuestiones se titulan ayuda?, las preguntas deben ser consisas para que las respuestas sirvan a todos!!!
Responder Con Cita
  #14  
Antiguo 30-03-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
listo ya envolvi todo en code delphi porfa ayudenme de verdad necesito éste código
Responder Con Cita
  #15  
Antiguo 30-03-2008
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
ayudanos a entenderte. Al principio decias que table1 si se editaba bien, esto quiere decir que estaba posicionado sobre el registro correcto, pero ahora dices que ninguno de los dos se modificia como deberia?
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #16  
Antiguo 30-03-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
es que antes tenia

Código Delphi [-]
 table1.edit;
 table1.fieldvalues['campo1']:=edit1.text;
 table1.post;

luego uds mismos me ayudaron con un código y me funcionó mejor que el que yo tenia el cual es

Código Delphi [-]
 if form1.table2.locate('campo1', form1.table1.fieldvalues['campo1'],[]) then
begin
   table1.edit;
   table1.fieldvalues['campo1']:=edit1.text;
   table1.post
   table1.edit;
   table1.fieldvalues['campo1']:=edit1.text;
   table1.post
end;


tengan en cuenta que en table1 y en table2, campo1 es un campo común
y cuando uso el código que primero tenia table1 edita y se posiciona sobre el registro correcto pero table2 se posiciona y edita siempre el último y no el que necesito

con el segundo código (Que es el que tengo actualmente) se ubican y editan siempre en el último registro de los dos table


mi programa es que tiene una búsqueda sql que monta los datos que yo selecciono en un dbgrid en un formulario que tiene (edit1.text) luego yo necesito editar el contenido que hay en el edit y luego al momento de guardar que se actualice el registro que necesito de los dos tables
Responder Con Cita
  #17  
Antiguo 31-03-2008
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
si te fijas, hay un pequeño error de concepto entre el codigo que tu propones y el que se te facilito, tu estas buscando partiendo de la tabla1 antes de editarla, en el codigo que se te proporciono se realiza la busqueda luego de grabar.
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #18  
Antiguo 31-03-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
ok pero como logro porfin lo que deseo?

gracias adelantadas!
Responder Con Cita
  #19  
Antiguo 31-03-2008
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Cita:
Empezado por lKinGl Ver Mensaje
ok pero como logro porfin lo que deseo?

gracias adelantadas!
Que tal como te dije la primera vez?
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #20  
Antiguo 01-04-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
Red face

Hola, eduardocol y amigos foristas

el código que me facilitaste funciona sin errores pero edita solo el último registro de las 2 tablas y necesito que edite el que yo seleccione mediante un dbgrid que carga los datos en un formulario que contiene el edit1.text(Campo1) y cuando yo lo edite campo 1 sea cual sea el número de posición en la que se encuentre se edite en las 2 tablas

gracias adelantadas!
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 registros entre dos tablas Paradox Lenny Varios 4 18-01-2008 15:13:09
Actualizar Registros En Una Tabla Paradox sdiaz1983 Conexión con bases de datos 2 11-01-2008 14:54:31
actualizar 100 registros al tiempo Camilo Varios 2 22-06-2007 19:08:29
Actualizar Registros drkvergil Firebird e Interbase 3 12-09-2006 18:33:54
Eliminar y actualizar registros con SQL Jheysson13 SQL 3 28-07-2006 22:32:01


La franja horaria es GMT +2. Ahora son las 19:56:42.


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