Ver Mensaje Individual
  #5  
Antiguo 12-09-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Reputación: 25
__cadetill Va por buen camino
No, si te hemos entendido perfectamente, el que creo que no nos has entendido has sido tu , quizas no nos hemos explicado bien

A ver, el tema de cargar el primer TComboBox (combobox1) no hace falta que hagas el bucle que tu dices, no es eficiente (quizas con pocos registros ira rapido, pero cuando la tabla crezca.....). Lo que puedes hacer es lo que te comentaba de la consulta SQL. Esa consulta SOLO devolvera (si esta bien hecha ) las claves distintas de tu tabla.

Algo parecido podrias mirar de hacer con el segundo TComboBox (combobox2).

El tema de saber el mes en curso (o en tu caso el nombre del campo al que quieres acceder), si es sobre la fecha actual, sería como te puse en el ejemplo anterior, o sea, algo así

Código:
NombreCampo := FormatDateTime('mmmm', Date);
De todas maneras, te aconsejo que nombres de campos estilo "Enero", "Febrero",.... no los utilices, mejor utiliza una nomenclatura numerica "1", "2",..... ya que luego si te encuentras en tu caso (el querer acceder a un mes u otro dependiendo de una variable), es mejor el caso numerico para saber el mes sin problemas

Código:
NombreCampo := FormatDateTime('m', Date);
Y te evitas problemas de idioma, mayusculas o minusculas,....

Una vez sabes el nombre del campo, con una simple consulta SQL puedes obtener el valor deseado

Código:
sql := 'select ' + NombreCampo;
sql := sql + ' from presupuesto ';
sql := sql + ' where clave = ' + QuotedStr(Combobox1.Text);
sql := sql + '   and Partida = ' + QuotedStr(Combobox2.Text);
Bueno, si hay algo que no termines de entender, pos aqui estamos
Responder Con Cita