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
  #21  
Antiguo 01-04-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
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
Responder Con Cita
  #22  
Antiguo 01-04-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
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,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #23  
Antiguo 01-04-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
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 !!!
Responder Con Cita
  #24  
Antiguo 01-04-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola

Saludos
Responder Con Cita
  #25  
Antiguo 01-04-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
Código Delphi [-]
if length(edit1.Text)<1 then
  begin
    application.MessageBox('Porfavor ingrese la Cédula del Cliente','Información',MB_ICONINFORMATION);
    end
  else
  begin
      if length(edit2.Text)<1 then
        begin
           application.MessageBox('Porfavor ingrese la Nombre o Razón Social del Cliente','Información',MB_ICONINFORMATION);
           end
        else
        begin
            if length(edit3.Text)<1 then
              begin
                application.MessageBox('Porfavor ingrese el Domicilio Fiscal del Cliente','Información',MB_ICONINFORMATION);
                end
              else
              begin
                  if length(edit4.Text)<1 then
                    begin
                      if application.MessageBox('¿Este Cliente tiene número de teléfono?','Información',MB_YESNO)=6 then
                        begin
                        application.MessageBox('Porfavor Ingreselo','Información',MB_ICONINFORMATION);
                        end
                        else
                        begin
                        edit4.Text:='No Tiene';
                        if application.MessageBox('Cliente Guardado con Éxito','Guardar',MB_YESNO)=6 then
                        begin
                          BitBtn1.Click;
                        end
                        else
                        begin
                          BitBtn4.Click;
                        end
                        end
                    end
                    else
                    begin
                    //Base de Datos Para Guardar
                        begin
                         if form1.table2.locate('ced_cli', form1.table1.fieldvalues['ced_cli'],[]) then
                          begin
                            form1.Table1.Edit;
                            form1.Table1.FieldValues['cod_pol']:=trim(edit5.Text);
                            form1.Table1.FieldValues['Ced_cli']:=trim(Edit1.Text);
                            form1.Table1.FieldValues['Nom_cli']:=trim(edit2.Text);
                            form1.Table1.FieldValues['Dir_cli']:=trim(edit3.Text);
                            form1.Table1.FieldValues['Tel_cli']:=trim(edit3.Text);
                            form1.Table1.Post;
                            form1.Table2.Edit;
                            form1.Table2.FieldValues['cod_pol']:=trim(edit5.Text);
                            form1.Table2.FieldValues['Ced_cli']:=trim(Edit1.Text);
                            form1.Table2.FieldValues['Nom_cli']:=trim(edit2.Text);
                            form1.Table2.FieldValues['Dir_cli']:=trim(edit3.Text);
                            form1.Table2.FieldValues['Tel_cli']:=trim(edit3.Text);
                            form1.Table2.Post;
                          end
                          else
                          begin
                          ShowMessage('error grave');
                          end
                        end
                        end
              end
        end
  end

este es el código que tengo hasta los momentos
Responder Con Cita
  #26  
Antiguo 01-04-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
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:

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');

Tu lo tienes de esta manera, haces la busqueda antes de grabar los codigos en la tabla

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
else
   ShowMessage('Error grave de referencialidad, ayudaaaaaaaaaa');

Si lo quieres como lo tienes, lo que debes es cambiar el origen de la busqueda.

Código Delphi [-]
if table2.locate('CodigoCliente', edit1.Text, []) then
begin

   table1.edit;
   table1.fieldvalues['campo1']:=edit1.text;
   table1.post;

   table2.edit;
   table2.fieldvalues['campo1']:=edit1.text;
   table2.post;
end
else
   ShowMessage('Error grave de referencialidad, ayudaaaaaaaaaa');
__________________
...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
  #27  
Antiguo 01-04-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
Talking

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:

Código Delphi [-]
                         begin
                            if form1.table2.locate('cod_pol', edit5.Text, []) then
                               begin
                                   if form1.Table1.Locate('cod_pol',edit5.Text,[]) then

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

Código Delphi [-]
if length(edit1.Text)<1 then
  begin
    application.MessageBox('Porfavor ingrese la Cédula del Cliente','Información',MB_ICONINFORMATION);
    end
  else
  begin
      if length(edit2.Text)<1 then
        begin
           application.MessageBox('Porfavor ingrese la Nombre o Razón Social del Cliente','Información',MB_ICONINFORMATION);
           end
        else
        begin
            if length(edit3.Text)<1 then
              begin
                application.MessageBox('Porfavor ingrese el Domicilio Fiscal del Cliente','Información',MB_ICONINFORMATION);
                end
              else
              begin
                  if length(edit4.Text)<1 then
                    begin
                      if application.MessageBox('¿Este Cliente tiene número de teléfono?','Información',MB_YESNO)=6 then
                        begin
                        application.MessageBox('Porfavor Ingreselo','Información',MB_ICONINFORMATION);
                        end
                        else
                        begin
                        edit4.Text:='No Tiene';
                        if application.MessageBox('Cliente Guardado con Éxito','Guardar',MB_YESNO)=6 then
                        begin
                          BitBtn1.Click;
                        end
                        else
                        begin
                          BitBtn4.Click;
                        end
                        end
                    end
                    else
                    begin
                    //Base de Datos Para Guardar
                        begin
                         if form1.table2.locate('cod_pol', edit5.Text, []) then
                         begin
                            if form1.Table1.Locate('cod_pol',edit5.Text,[]) then
                          begin
                            form1.Table1.Edit;
                            form1.Table1.FieldValues['cod_pol']:=trim(edit5.Text);
                            form1.Table1.FieldValues['Ced_cli']:=trim(Edit1.Text);
                            form1.Table1.FieldValues['Nom_cli']:=trim(edit2.Text);
                            form1.Table1.FieldValues['Dir_cli']:=trim(edit3.Text);
                            form1.Table1.FieldValues['Tel_cli']:=trim(edit3.Text);
                            form1.Table1.Post;
                            form1.Table2.Edit;
                            form1.Table2.FieldValues['cod_pol']:=trim(edit5.Text);
                            form1.Table2.FieldValues['Ced_cli']:=trim(Edit1.Text);
                            form1.Table2.FieldValues['Nom_cli']:=trim(edit2.Text);
                            form1.Table2.FieldValues['Dir_cli']:=trim(edit3.Text);
                            form1.Table2.FieldValues['Tel_cli']:=trim(edit3.Text);
                            form1.Table2.Post;
                            ShowMessage('Datos Modificados con Éxito');
                            BitBtn4.Click;
                          end
                          else
                          begin
                          ShowMessage('Error al Modificar Datos');
                          end
                         end
                        end
                        end
              end
        end
  end
Responder Con Cita
  #28  
Antiguo 01-04-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Código Delphi [-]
 if (form1.table2.locate('cod_pol', edit5.Text, [])) and (form1.Table1.Locate('cod_pol',edit5.Text,[])) then
 begin
Saludos
Responder Con Cita
  #29  
Antiguo 01-04-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
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,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #30  
Antiguo 01-04-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
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

Código Delphi [-]
begin
         if Table2.locate('campo1', edit#.Text, []) then
              begin
                 if Table1.Locate('campo1',edit#.Text,[]) then
                     begin
                            Table1.Edit;
                            Table1.FieldValues['campo1']:=trim(edit#.Text);
                            Table1.post;
                            Table2.Edit;
                            Table2.FieldValues['campo1']:=trim(edit#.Text);
                            Table2.Post;
                            ShowMessage('Datos Modificados con Éxito');
                        end
                        else
                        begin
                          ShowMessage('Error al Modificar Datos');
                        end
                     end
              end
end
Responder Con Cita
  #31  
Antiguo 01-04-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Código Delphi [-]
begin
   if (Table2.locate('campo1', edit#.Text, [])) and (Table1.Locate('campo1',edit#.Text,[])) then
   begin
        Table1.Edit;
        Table2.Edit;
        Table1.FieldValues['campo1']:=trim(edit#.Text);
        Table2.FieldValues['campo1']:=trim(edit#.Text);
        Table1.post;
        Table2.Post;
    ShowMessage('Datos Modificados con Éxito');
    end
    else
    ShowMessage('Error al Modificar Datos');
    end
    end
end
Solo me entretengo un rato.
Saludos
Responder Con Cita
  #32  
Antiguo 01-04-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por Caral Ver Mensaje
Hola
Solo me entretengo un rato.
Código Delphi [-]
begin
   if (Table2.locate('campo1',edit#.Text,[])) and
      (Table1.Locate('campo1',edit#.Text,[])) then begin
       Table1.Edit;
       Table2.Edit;
       Table1.FieldValues['campo1'] := trim(edit#.Text);
       Table2.FieldValues['campo1'] := trim(edit#.Text);
       Table1.post;
       Table2.Post;
       ShowMessage('Datos Modificados con Éxito');
   end
   else ShowMessage('Error al Modificar Datos');
end;

Yo también

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
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 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 17:30:23.


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