Aktív témák

  • Gh0sT

    addikt

    Akkor részletesen a probléma:

    Adott egy VB form, amin DataGrid-ben szeretném megjeleníteni egy tábla bizonyos adatait. A tábla egyes mezői felett lenne egy-egy legördülő menü, amik tartalmaznák az eddig bevitt ügyfél neveket, településeket, partner típusokat, és ÜKM-eket.

    Ha megnyitom a formot, akkor szeretném, hogy az összes rekord megjelenjen. Ha viszont a 4 combobox bármelyikében kiválasztok egy paramétert, vagy beírok valamit, akkor történjen egy szűrés. Igazából az lenne a szép, ha a Combobox-ok első eleme az lenne, hogy ''Összes'' és csak utána szerepelnének a mezők rögzített értékei. Nem tudom, hogy ez mennyire volt érthető, de írok egy példát.

    Rögzítek mondjuk 30 ügyfelet, ezeknek az egyik része budapesti, szolnoki, kecskeméti és debreceni. Típusukat tekintve vannak szállítók és ügyfelek.

    Ha megnyitom a formot, akkor szeretném ha szépen megjelenne az összes ügyfél. Ellenben, ha kiválasztom a Település mező felett látható Comboboxot, akkor ott egy ilyen lista fogadjon:
    Összes
    Budapest
    Szolnok
    Kecskemét
    Debrecen

    A partner típus felett pedig az alábbi Comboboc szerepeljen:
    Összes
    Ügyfél
    Szállító

    Namost van ugye egy tárolt eljárásom az alábbi praméteres lekérdezéssel:
    SELECT ...
    FROM ...
    WHERE
    (Ugyfel.Ugyfel_nev LIKE @Ugyfelnev) AND
    (Ugyfel.Telepules LIKE @Telepules) AND
    (Ugyfel.UKM_nev LIKE @UKM_nev) AND
    (Ugyfel.Partner_tipus LIKE @Partner_tipus


    Ezzel igazából nem mentem semmire, mert ha nincs % jel a lekérdezésben, akkor nem kapok találatot. Nosza gondoltam egy ilyet:

    SELECT ...
    FROM ...
    WHERE
    (Ugyfel.Ugyfel_nev LIKE @Ugyfelnev + '%') AND
    (Ugyfel.Telepules LIKE @Telepules + '%') AND
    (Ugyfel.UKM_nev LIKE @UKM_nev + '%') AND
    (Ugyfel.Partner_tipus LIKE @Partner_tipus + '%')

    Ez látszólag jó kellene legyen, de valami nagyon szép hibát kapok és le sem tudom tárolni az eljárást. Valami Nchar meg Text dolgokról rinyál, de rohadtul nem értettem.

    Szóval maradt az első megoldás kiegészítve a következővel:
    Egyelőre a Comboxok helyett Textboxokat alkalmazok. Leginkább azért, mert ugyan a Combobox Text tulajdonságához hozzá tudom rendelni az egyes településeket és partner típusokat, de Összesen rovat nincsen. Textboxnál meg ha üresen hagyom, akkor szűr mindenre, de csak akkor, ha az első paraméteres lekérdezést kombinálom azzal, hogy a Textbox.Text-hez hozzáadom a ''%'' jelet.

    Remélem érthető voltam. Ez most így működik, de csak TextBox-szal. A ComboBoxhoz kellene még rendelnem az Összesen rovatot, a többit ki tudom olvasni az adatbázisból.

    Egyébként milyen adattípust kellene nekem használnom az adatbázisnál ha mondjuk tepelülés neveket rögzítek? Char(n), Nchar(n), Text, NText? Az a gyanúm, hogy itt lehet valami bibi, mert Nchar-ra nem is tudok Like-os lekérdezést készíteni.


Aktív témák