Hirdetés

Új hozzászólás Aktív témák

  • lao ce

    aktív tag

    válasz Notes #159 üzenetére

    hat arrol van elkepzelesem hogy en ezt hogyan csinalnam.
    kerdes amugy hogyha cmb1 = Kiss es cmb2 = Bela
    akkor az osszes kiss vagy bela kell megjelenjen vagy az osszes kis es bela?

    amugy a checkboxokat hanyagolnam, az elso item minden comboban lehetne (all) vagy (minden) valasztas. kevesebb objectum = egyszerubb interfesz.

    aztan kb... van egy sql valtozo, mondjuk aSQL
    a combokat elnevezheted ugy mint a fieldek nevei, de egy cmb-vel az elejen, tehat cmbFirstName, cmbKeresztnev

    az eleje az aSQL-nek valami ilyesmi lesz (megtartanam space-eket a ' jelek utan es elott!)

    aSQL := ' select f1, f2, f3, f4 from table where ';

    itt a datum
    aSQL := aSQL + ' ( DateField >= #' + MyDateObj1.Value + '# ';
    aSQL := aSQL + ' and DateField <= #' + MyDateObj2.Value + '# ) ';

    aztan ugyi... vegig egy for ciklussal a kombokon

    for i := 0 to ComponentCount-1 do begin
    ___currCompName := copy (Components.Name, 1, 3);

    ___currFieldName := copy(Components
    .Name,4, Length(Components.Name)-3 );

    aztan mikor komborol van szo es raadasul nem a (minden) van kivalasztva:

    ___if (currCompName = 'cmb') and
    ______((Components
    as TCombobox).ItemIndex > 0) then

    akkor hozzaadjuk az aSQL valtozohoz azt a feltetelt hogy ' and fieldname = ertek '.
    meg az is van hogy itt 'and' vagy 'or' attol fuggoen hogy kiss bela hogy kell megjelenjen az elso kerdesben.

    persze, ez nem ENNYIRE egyszeru mert lehet szam is meg text is meg date is a tipusa a dolognak. ez most text akar lenni de csak nem biztos hogy szintaktikailag helyesen irom.

    aSQL := aSQL + ' and ' + currFieldName + ' = ''' +
    Components as TCombobox)..Items.Strings [ (Components as TCombobox).ItemIndex] + ''' '

    aztan egy par end a vegere es lehet futtatni a query-t.


    [Szerkesztve]

    nicht kompot

Új hozzászólás Aktív témák