PDA

Ver la Versión Completa : Conocer el número de registros


judoboy
17-05-2003, 13:22:07
Hola tengo que necesito realizar una consulta para saber cuantas veces aparece un campo en una tabla.

Ej. quiero saber cuantas veces aparace un socio, y para ello hago lo siguiente pero falla:

SELECT COUNT(CP.SOCIO) FROM COPIAS_PELICULA CP, SOCIO S
WHER S.CODIGO_SOCIO=CP.SOCIO AND
S.CODIGO_SOCIO='''+codigouser+''' ';


hay alguna otra forma de hacerlo

judoboy
17-05-2003, 13:23:35
Se me olvidaba utilizo Acces, en esta aplicación.

:(

marcoszorrilla
17-05-2003, 13:42:31
SELECT COUNT(CP.SOCIO) FROM COPIAS_PELICULA CP
where CP.CODIGO_SOCIO='''+codigouser+''' ';

Si el código del Socio está en las 2 tablas, no nos hace falta para nada la tabla de Socios, puesto que de lo que se trata de saber es cuantas veces está este socio en la Tabla Copias_Pelicula.

Un Saludo.

andres1569
17-05-2003, 13:47:59
Hola:

Judoboy escribió:


SELECT COUNT(CP.SOCIO) FROM COPIAS_PELICULA CP, SOCIO S
WHER S.CODIGO_SOCIO=CP.SOCIO AND
S.CODIGO_SOCIO='''+codigouser+''' ';


Hay dos cosas que quizás sean errores de redacción (WHER es WHERE), y a '''codigouser + ''' '; le falta una comilla al principio, y le sobra el espacio final, no sé si lo tienes igual en la consulta.

Otra cosa: no hace falta que ligues con la tabla SOCIO, bastaría lo siguiente:


SELECT COUNT(CP.SOCIO)
FROM COPIAS_PELICULA CP
WHER CP.SOCIO=''''+codigouser+'''';


Creo que éste código debería funcionar

Saludos

judoboy
17-05-2003, 18:00:42
Bueno, es que he probado de la forma que me me comentais y tambien fallaba, por eso pensaba si tenia que relacionar las tablas.
Lo de WHER ha sido un fallo en la transcripción y lo de la comilla que falta es por que falta la del principio que se me habia olvidado ponerla:

'SELECT .....

de todas formas, el fallo que me dice es que los tipos no coinciden, utilizo el debugger, para ver el valor que tiene codigouser y tiene '1' y SOCIO es de tipo número en Acces.

Donde puede estar el error.

Hay donde este Interbase&Firebird que se quite el p*** Access

andres1569
17-05-2003, 18:10:02
Hola:

Pues por lo que dices el error está en poner el codigouser entre comillas, puesto que no es un valor tipo cadena.

Saludos

marcoszorrilla
17-05-2003, 22:09:55
Prueba con este ejemplo y verás como te funciona:

procedure TForm1.Button1Click(Sender: TObject);
var
CodigoUser:Integer;
begin
CodigoUser:=1;

ADO_Q.Close;
ADO_Q.Sql.Clear;
ADO_Q.Sql.Add('Select Count(Cp) from Copias_Pelicula');
ADO_Q.Sql.Add('Where CP ='+IntToSTr(CodigoUser));
ADO_Q.Active:=True;

end;

Un Saludo.

judoboy
19-05-2003, 09:52:53
Muchas gracias, ya me funciona, menos mal.