PDA

Ver la Versión Completa : Error en consulta parameters


jlsc
16-07-2007, 13:56:06
Holas,

Tengo un problema con una consulta, quiero hacer una consulta que busque datos en una tabla en base a la fecha para lo cual uso dos DateTimePicker y un tipo de actividad que aparece como lista dentro de un DBLookupCombox.
Uso AdoQuery, AdoTable y Datasource.

El código es el siguiente.

CTInforme6.Close;
CTInforme6.SQL.Clear;
CTInforme6.SQL.Text:= 'SELECT ActividadDiaria.[TipoActividad], ActividadDiaria.[SubmenuActividad], ActividadDiaria.[Motivo], ActividadDiaria.[Tienda], ActividadDiaria.[Cantidad] ,ActividadDiaria.[Fecha],'+
'ActividadDiaria.[Agente] FROM ActividadDiaria WHERE (((ActividadDiaria.TipoActividad)=:BTipoActividad) AND ((ActividadDiaria.[Fecha]) Between datainicial AND datafinal))ORDER BY ActividadDiaria.[Agente]';
CTInforme6.Parameters.ParamByName('BTipoActividad').Value:= TipoActividad.Text;
CTInforme6.Parameters.ParamByName('datainicial').Value := FormatDateTime('dd/M/yyyy',FechaRep4Inicio.Date);
CTInforme6.Parameters.ParamByName('datafinal').Value := FormatDateTime('dd/M/yyyy',FechaRep4Fin.Date);
CTInforme6.Open;

Pero me da un error 'PARAMETER DATAINICIAL NOT FOUND'

SIN EMBARGO SI LE QUITO EL TIPO DE ACTIVIDAD Y SOLO DEJO LO de LA FECHA EN EL WHERE ME FUNCIONA PERO NO CON EL TIPO DE ACTIVIDAD.
ASI:
WHERE ((ActividadDiaria.[Fecha]) Between datainicial AND datafinal)

Saben porque puede ser.

Muchas gracias de antemano.

//Edite: Para colocar etiquetas DELPHI.

jhonny
16-07-2007, 16:10:16
Faltan los dos puntos que hacen que datainicial y datafinal se distingan de los demás, como dos parámetros de la consulta, asi:

WHERE ((ActividadDiaria.[Fecha]) Between :datainicial AND :datafinal)

jlsc
17-07-2007, 09:53:57
Muchas gracias ya funciona correctamente.

Saludos