Club Delphi  
    Paypal   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 07-06-2010
leian1306 leian1306 is offline
Registrado
 
Registrado: jun 2010
Posts: 1
Poder: 0
leian1306 Va por buen camino
Unhappy Fieldbyname ADOTable

Buenas tardes!
Tengo una aplicación con un Data Module (DM) que tiene varias tablas y una que se llama "tabla_ejercicios" con varios campos.

Yo tengo esta función:

Function CantEjerciciosPublicados():integer;
var
total,POS:integer;
begin
total:=0;
POS:=DM.tabla_ejercicios.Fieldbyname('idejercicio').AsInteger;
DM.tabla_ejercicios.First;
while NOT(DM.tabla_ejercicios.Eof) do begin
if(DM.tabla_ejerciciospublicadoenpractica.Value=TRUE)then
Inc(total);
DM.tabla_ejercicios.Next;
end;
DM.tabla_ejercicios.Locate('idejercicio',POS,[]);
RESULT:=total;
end;


La tabla_ejercicios tiene un campo "publicadoenpractica" con valores TRUE o FALSE, y en la línea esta: if(DM.tabla_ejerciciospublicadoenpractica.Value=TRUE)then
... por alguna razón no entra nunca en el IF,siempre lo saltea,tengo abierta la base de Access y efectivamente tiene valores en TRUE,de manera q tendria q entrar en ciertos momentos.
El campo de la tabla tiene la propiedad "DisplayValues=Si;No",para que muestre Si en lugar de TRUE y No en lugar de FALSE. Intente incluso haciendo lo siguiente: if(DM.tabla_ejercicios.Fieldbyname('publicadoenpractica').AsString='Si')then
...pero tampoco funciona.

Si alguien me pudiera decir que puede llegar a estar andando mal se lo agradecería muchísimo. Saludos!
Responder Con Cita
  #2  
Antiguo 07-06-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Aveces el (true, false) en access hace lo que quiere, es mejor un (N, Y) o (1, 2).
Puede ser que salte por la falta de un begin, intentalo asi:
Código Delphi [-]
Function CantEjerciciosPublicados():integer;
var
total,POS:integer;
begin
total:=0;
POS:=DM.tabla_ejercicios.Fieldbyname('idejercicio').AsInteger;
DM.tabla_ejercicios.First;
while NOT(DM.tabla_ejercicios.Eof) do begin
if DM.tabla_ejerciciospublicadoenpractica.Value = TRUE then
begin
Inc(total);
DM.tabla_ejercicios.Next;
end;
end;
DM.tabla_ejercicios.Locate('idejercicio',POS,[]);
RESULT:=total;
end;
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 07-06-2010
Avatar de defcon1_es
defcon1_es defcon1_es is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuenca - España
Posts: 533
Poder: 23
defcon1_es Va por buen camino
Prueba con esto:
Código Delphi [-]
Function CantEjerciciosPublicados():integer;
var total,POS:integer;
begin
  total:=0;
  POS:=DM.tabla_ejercicios.Fieldbyname('idejercicio').AsInteger;
  DM.tabla_ejercicios.First;
  while NOT(DM.tabla_ejercicios.Eof) do 
  begin
    if DM.tabla_ejercicios.FieldByName('publicadoenpractica').AsInteger = 1 then
    begin
      Inc(total);
      DM.tabla_ejercicios.Next;
    end;
  end;
  DM.tabla_ejercicios.Locate('idejercicio',POS,[]);
  RESULT:=total;
end;
__________________
Progress Openedge
https://abevoelker.com/progress_open...dered_harmful/


Delphi forever...
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
Ni idea!!!! Problema con DateTimePicker y FieldByName Raynel Varios 4 24-01-2008 00:54:13
Cuando Usar FieldByname IcebergDelphi Varios 4 08-06-2007 16:44:40
Fieldbyname se cae ilichhernandez Conexión con bases de datos 4 27-03-2007 23:09:46
Fieldbyname diferencias jlrbotella Conexión con bases de datos 1 06-03-2007 19:20:56
curiosidad de FieldbyName Lepe Conexión con bases de datos 18 15-05-2003 19:25:46


La franja horaria es GMT +2. Ahora son las 10:07:40.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi