![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#7
|
|||
|
|||
|
Pues mira, con dos simples sentencias SQL tienes todos los datos que necesitas.
Los pasos son los siguientes 1.- Pega en un Datamodule (o formulario) un TQuery 2.- Si utilizas un TDatabase (lo recomendado), linca la propiedad Database del TQuery al TDatabase (como si de un TTable se tratara). Si no utilizas un TDataset, pues haz lo mismo que haces con los TTables 3.- En el sitio donde pretendas mostrar el grafico (un TButton??) pon el codigo siguiente Código:
var NumPersonas : integer;
NumMujeres : integer;
NumHombres : integer;
begin
// calculamos nº de personal
Query1.Close;
Query1.SQL.Text := 'select count(*) from usuarios';
try
Query1.Open;
except
ShowMessage('Error en query');
Exit;
end;
NumPersonas := Query1.Fields[0].AsInteger;
// calculamos nº de mujeres
Query1.Close;
Query1.SQL.Text := 'select count(*) from usuarios where sexo = true';
try
Query1.Open;
except
ShowMessage('Error en query');
Exit;
end;
NumMujeres := Query1.Fields[0].AsInteger;
// Numero de hombres
NumHombres := NumPersonas - NumMujeres;
Luego, el resultado de la Query la pasamos a una variable. Con la segunda Query, lo que hacemos es contar (Count) cuantos registro ((*)) cumplen con la condicion (where) que es mujer (sexo = true) Y pasamos el resultado de la Query a otra variable Ahora solo te queda restar las dos variables para saber el numero de usuarios del sexo opuesto. ---------> El segundo metodo, el de recorrer el Dataset (el TTable) es muy sencillo. Solo basta con hacer un bucle while..do controlando el campo que deseas, es decir Código:
var NumPersonas : integer;
NumMujeres : integer;
NumHombres : integer;
begin
NumPersonas := 0;
NumMujeres := 0;
NumHombres := 0;
Table1.First;
while not Table1.Eof do
begin
// incremetamos nº de personas
Inc(NumPersonas);
// hacemos comprobacion para saber sexo
if Table1.FieldByName('sexo').AsBoolean then
Inc(NumMujeres)
else Inc(NumHombres);
// pasamos al siguiente registro del Dataset
Table1.Next;
end;
) por su potencia y rendimientoBueno, espero que estas explicaciones te sirvan |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|