Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Consultar solo el mes de una fecha (https://www.clubdelphi.com/foros/showthread.php?t=79956)

rufo 23-08-2012 19:11:43

Consultar solo el mes de una fecha
 
Buenas tardes amigos, necesito su ayuda como mostrar el mes de una fecha, es decir yo almaceno en un campo la fecha escogida del objeto Datetimepicker y ahora lo que yo quiero hacer es que en un combobox en su propiedad Items agrego los nombres de los meses y en un boton quiero hacer que me consulte el mes seleccionado del combobox y mostrar datos en unos listbox, hice algo similar pero la fecha la tengo separada es decir

DIA MES AÑO
12 ENERO 2012

Pero ahora quiero evitar que se capturen en edits y puse un Datetimepicker y no se como hacer la consulta que les menciono anteriormente, la consulta que hice con la fecha separada use este codigo:

Código Delphi [-]
if combobox2.Text<>'' then
 begin
    with dm1.Q_Vmes do
    begin
      active:=false;
      sql.Clear;
      sql.Add(' select * from ventas_mensuales ');
      sql.add('where mes = :mes');
      ParamByName('mes').Value:= ComboBox2.Text;
      active:=true;
        if recordcount=0 then
       while not(eof) do
        begin
         listbox8.Items.add(fieldbyname('id_folio').asstring);
         listbox9.Items.add(fieldbyname('nombre').asstring);
        next;
        end;
    end;

Pero no se como usarlo con el campo fecha ya que tengo que extraer el mes, espero me ayuden y gracias de antemano.

ecfisa 23-08-2012 19:25:50

Hola rufo.

¿ El campo 'mes' es de tipo entero o de cadena de caractes ? Si está declarado como cadena de caracteres, ¿ Cuál es el formato 'mm' o 'm' ?

Saludos.

rufo 23-08-2012 19:29:37

El campo Mes es caracter pero ese no quiero consultar si no el campo fecha que es de tipo fecha dd/mm/aa pero la consulta quiero tomarlo de un combobox que solo tiene los meses es su propiedad Items y si selecciono el mes de MAYO y al dar clic al boton me arroje o me muestre resultados pero del campo fecha, espero me halla entendido y gracias por responder.

ecfisa 23-08-2012 20:42:35

Hola rufo.
Cita:

es decir yo almaceno en un campo la fecha escogida del objeto Datetimepicker
De este texto yo había interpretado que lo tomabas de un TDateTimePicker de allí mi pregunta, por que si es de tipo entero:
Código Delphi [-]
  ParamByName('mes').AsInteger := MonthOf(DateTimePicker1.Date);

Si es string sin formato :
Código Delphi [-]
  ParamByName('mes').AsString := IntToStr(MonthOf(DateTimePicker1.Date));

Si es string con formato a dos caracteres:
Código Delphi [-]
  ParamByName('mes').AsString := StringOfChar('0', 2-Length(IntToStr(MonthOf(DateTimePicker1.Date)))) +
   IntToStr(MonthOf(DateTimePicker1.Date));
En los tres ejemplos anteriores debe estar incluida la unidad DateUtils.


Ahora si la fecha es tomada de un ComboBox y los items (meses) están en órden cronológico, para string formato a dos caracteres:
Código Delphi [-]
 with ComboBox1 do
   if ItemIndex <> -1 then
      ParamByName('mes').AsString := StringOfChar('0',2-Length(IntToStr(ItemIndex+1))) + IntToStr(ItemIndex+1);

Sin formato:
Código Delphi [-]
 with ComboBox1 do
   if ItemIndex <> -1 then
      ParamByName('mes').AsString := IntToStr(ItemIndex+1);

Saludos.


La franja horaria es GMT +2. Ahora son las 02:08:45.

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