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 17-12-2006
javieron javieron is offline
Registrado
 
Registrado: oct 2006
Posts: 3
Poder: 0
javieron Va por buen camino
Exclamation Actualizar campo en access

Hola a todos, lo primero gracias por vuestro tiempo .
Lo que tengo es una conexión con una tabla de access mediante ado.
Quiero que al iniciar el formulario principal compruebe un valor de cada uno de los registros de una tabla y lo cambie si es necesario, dicho campo es la franja de edad (0-3 años bebe, 3-13 infantil etc..) ahora viene lo raro...
Si dicho campo esta vacio en todos los registros me los cambia en todos y listo (són más de 4000 registros), si por ejemplo solamente dejo vacio el campo del primer y del último registro me cambia el primero pero no el último.
Si recorro la tabla al reves, desde el ultimo registro hasta el primero me cambia el valor del último pero no del primero. Pongo el código para ver si queda un poco claro que me parece que estoy dando demasiadas vueltas

Código Delphi [-]
procedure TfrmPrincipal.FormShow(Sender: TObject);
var
  fnac:tdatetime;
  anios,i:integer;
begin

datamodule2.ADOSocios.First;
while datamodule2.ADOSocios.eof=false do
begin
fnac:=datamodule2.ADOSociosFNac.Value;
anios:=strtoint(Edad(fnac));
if anios<=3 then
begin
  if datamodule2.ADOSociosFRANJA.Value<>'BEBE' then
    begin
    datamodule2.ADOSocios.edit;
    datamodule2.ADOSociosFRANJA.Value:='BEBE';
    datamodule2.ADOSocios.post;
    end;
end
else
  if (anios>3) and (anios<=13) then
  begin
    if datamodule2.ADOSociosFRANJA.Value<>'INFANTIL' then
    begin
    datamodule2.ADOSocios.edit;
    datamodule2.ADOSociosFRANJA.Value:='INFANTIL';
    datamodule2.ADOSocios.post;
    end;
  end
  else
    if (anios>13) and (anios <=17) then
    begin
      if datamodule2.ADOSociosFRANJA.Value<>'JUVENIL' then
      begin
      datamodule2.ADOSocios.edit;
      datamodule2.ADOSociosFRANJA.Value:='JUVENIL';
      datamodule2.ADOSocios.post;
      end;
    end
    else
      if (anios>17) and (anios <=64) then
      begin
        if datamodule2.ADOSociosFRANJA.Value<>'ADULTOS' then
        begin
        datamodule2.ADOSocios.edit;
        datamodule2.ADOSociosFRANJA.Value:='ADULTOS';
        datamodule2.ADOSocios.post;
        end;
      end
      else
      begin
        if datamodule2.ADOSociosFRANJA.Value<>'MAYORES 65' then
        begin
        datamodule2.ADOSocios.edit;
        datamodule2.ADOSociosFRANJA.Value:='MAYORES 65';
        datamodule2.ADOSocios.post;
        end;
      end;
datamodule2.ADOSocios.Next;
end;
end;

No se cual será el error, ya digo que si están todos los campos vacios lo comprueba bien y me inserta el valor bueno en todos los registros de la tabla. Gracias otra vez, un saludo

Última edición por javieron fecha: 17-12-2006 a las 01:40:26.
Responder Con Cita
  #2  
Antiguo 17-12-2006
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 23
poliburro Va por buen camino
Lo ideal sería que lo hicieras con un query, si gustas pásame el DDL de la tabla y las condiciones y te ayudo a generar la consulta de actualización
__________________
Conoce mi blog http://www.edgartec.com
Responder Con Cita
  #3  
Antiguo 17-12-2006
javieron javieron is offline
Registrado
 
Registrado: oct 2006
Posts: 3
Poder: 0
javieron Va por buen camino
Hola poliburro, gracias por la respuesta. Lo siento pero no se a que te refieres con el ddl de la tabla, soy principiante en esto de las bases de datos
crees que con una query funcionaria?. Voy a intentar hacerlo con una query a ver que pasa. Un saludo
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 un campo juangabriel1786 API de Windows 1 19-10-2006 19:30:55
como actualizar un solo campo de una BD Nelly Conexión con bases de datos 2 06-12-2005 23:58:31
Case extraño al actualizar un campo. Kashmir Firebird e Interbase 3 06-11-2005 14:18:25
Actualizar un campo micayael Firebird e Interbase 2 28-10-2005 21:42:14
Actualizar campo calculado de DBGrid Agar23 Varios 3 12-11-2003 08:27:36


La franja horaria es GMT +2. Ahora son las 16:40:52.


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