Actualizar registros de dos tablas
porfavor necesito ayuda espero me ayuden :o
tengo 2 tablas en paradox tengo un formulario que me debe permitir modificar un registro de las 2 tablas al mismo tiempo.... tenia esto
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!! |
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 |
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 con este codigo delphi creo que se entiende lo que quiero lograr saludos!!:o |
a vr creo que tienes que darle una leidita a esto, guia de estilo
Solucion a tu problema:
Y tambien creo que con ese codigo delphi puedes entender lo que te quiero decir |
perfecto voy a intentar
por lo que pude ojear tu codigo es exactamente lo que necesito gracias lo pruebo y aviso como me fue!! |
sigue igual no actualiza como quiero por que solo actualiza el ultimo registro de las 2 tablas
|
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
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!!! |
que escribistes ahi?, eso es una broma?, has leido la guia de estilo??
|
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 :(
|
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 |
lo intente asi pero edita son los 2 últimos registros de las tablas :(
gracias adelantadas!!! |
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 |
¿quin dijo que en foro las cuestiones se titulan ayuda?, las preguntas deben ser consisas para que las respuestas sirvan a todos!!!
|
listo ya envolvi todo en code delphi porfa ayudenme de verdad necesito éste código :(
|
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?
|
es que antes tenia
luego uds mismos me ayudaron con un código y me funcionó mejor que el que yo tenia el cual es
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 |
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.
|
ok pero como logro porfin lo que deseo?
gracias adelantadas! |
Cita:
|
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:o:o:o gracias adelantadas! |
Hola
Bueno, que decir, este tema ya deberia de estar terminado. Se sigue sin dar los datos completos. Veamos el asunto en esencia. 1- dbgrid con el cual se ve la tabla???? 1 o 2 ????? 2- 2 tablas que se quieren actualizar con un campo en comun y en base a un edit. 3- tenemos 1, 2 o 3 enlaces a las tablas????. Para mi, lo de siempre, Codigo, si ver que se esta haciendo es muy dificil, aqui estaremos bateando. Saludos |
lKinGl, ¿podrías ya dejar de decir las mismas palabras?
¿Quieres recibir ayuda? Entonces ayudanos a ayudarte. La guia de estilo llama a las personas que se expresen detalladamente sobre sus problemas. Es posible que con esas simples líneas no veamos donde tienes el problema.. ¿No será que el problema viene de otro lado? ¿Tanto te cuesta tomarte unos minutos, explicar de forma detallada y precisa sobre lo que estás haciendo? ¡Ni que decir si pudieramos ver parte de tu código! Ya te lo han dicho: Explica bien tu caso y podremos saber que es, donde falla, y su solución (y talvez posibles alternativas). No tengo más que decir por el momento. Saludos, |
ok me explico mejor:
cuando abro el módulo modificar se abre un formulario el cual tiene: - Edit1 (Campo1); - boton Editar - Boton Guardar - Boton Buscar luego para cargar los datos del registro pulso el boton buscar y me sale una consulta sql el cual tiene un radio button un edit un dbgrid selecciono el radiobutton por el cual quiero ordenar los registros con el table2 que se llama db_c.db luego pulso el registro que yo desee y este se carga en el formulario principal de modificar luego pulso el boton editar y el enabled del edit1(Campo1 ya cargado) se habilita para poder modificarlo - luego lo modifico a mi gusto y presiono el boton guardar y este boton guardar deberia editar en las 2 tablas el mismo registro ya que en el table1 y el table2 el campo es común... sino me entienden diganme y vuelvo a explicar de otra forma no se preocupen uso tablas paradox 7 y delphi 7 gracias adelantadas !!! |
Hola
:D:D:rolleyes: Saludos |
este es el código que tengo hasta los momentos:( |
de nuevo a lo mismo??, vistes la diferencia entre el codigo que te postee al principio y lo que tu escribistes, te lo coloco de nuevo para que sepas y veas el error:
En este codigo se graban los valores en la tabla1 y luego se busca por ese valor:
Tu lo tienes de esta manera, haces la busqueda antes de grabar los codigos en la tabla
Si lo quieres como lo tienes, lo que debes es cambiar el origen de la busqueda.
|
Al finnnnnnn pude lograr lo que queria
Gracias eduarcol por tu tiempo y amigos foristas que me quisieron ayudar lo que tenía era un error lógico por que siempre comparaba una sola tabla y como yo queria que se guardara en las 2 tablas habia que comparar las 2 tablas haciendo asi:
de verdad estoy muy agradecido por la paciencia que tuvieron al ayudarme con mi problema Facilito el código completo que estoy usando para que le sirva a alguien más: este es el código del botón guardar y actualiza los datos en las 2 tablas correctamente :D
|
Hola
Saludos |
Muy cierto amigo Carlos, el código puede mejorarse...
No es por querer ser malo, pero ese ¡código lástimó mis ojos! Considero que ahora que se ha solucionado el problema, lKinGl debe resumirlo; achicar esos anidamientos, que muy posiblemente la mayoría son innecesarios. Primero, por las dudas, que haga una copia de la Unit;) y luego la reduzca, que limpie ese código... quien sabe, quizás luego debe modificar el sistema y al volver a revisar esa unidad se lleve un susto. Tener un código limpio ayuda mucho. Saludos, |
Cierto lo que acabo de aportar es una copia fiel y exacta del código del Botón Guardar de mi Módulo Modificar
y necesito que funcione con esos anidamientos porsupuesto que nadie va a usar mis validaciones solo doy un código 100% Funcionando como yo necesitaba se los aseguro que a mas de uno le servirá en fin el código que se necesita es solo este lo demás es pura zapateria
|
Hola
Solo me entretengo un rato.:D Saludos |
Cita:
Yo también :D:D:D Salud OS |
La franja horaria es GMT +2. Ahora son las 16:34:12. |
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