Keresés

Aktív témák

  • Gh0sT

    addikt

    válasz Panther #21 üzenetére

    Még egy kérdés. Ha olyant is szeretnék, hogy mondjuk beírja azt, hogy vár, akkor az összes olyan település megjelenjen aminek a nevében szerepel a vár, akkor így módosítom:
    % + Combobox.Text + %

  • Gh0sT

    addikt

    válasz Goose-T #19 üzenetére

    Hát igen, ezt szerettem volna elkerülni. Még azon gondolkodtam, hogy csinálok egy queryt, ami egy külön táblába kinyeri a települések adatait. Majd új rekordként felviszem még mellé ''Összes'' rovatot, aminek nem lesz semmiféle jelentése, egyszerűen csak azért kell, hogy látszódjon a listában. Ezután egy feltétellel megvizsgálnám a Combobox.Text tulajdonságát, és ha ''Összesen'' szerepel benne, akkor simán csak %-kal paraméterezném a tárolt eljárást.

  • Gh0sT

    addikt

    válasz Goose-T #17 üzenetére

    Köszi, ez tetszik és megnézem.

    Esetleg arra még van ötleted, miként tudok olyan Comboboxhoz elemet adni, ami egy adatforráshoz van rendelve? Konkrétan itt az ''Összes''-re gondoltam.

  • Gh0sT

    addikt

    válasz Goose-T #14 üzenetére

    Igen, ez van most, hogy VB-ben pakolom hozzá a %-ot, de Panther szerint ez nem az igazi.

    Bah, de nehezen rázódok bele ebbe a VS2005-be.

  • Gh0sT

    addikt

    válasz Panther #12 üzenetére

    Közben még egy dolog eszembe jutott. Igaz, hogy VB, de ha már erre jársz... :)

    Felrögzítettem egy adatbázisba az összes települést, amit meg is tudok jeleníteni egy Combobox-ban és tudok belőle választani. A comboboxnak van valami Dropdownlist tulajdonsága. Az egyik esetben tudok gépelni a legördülőbe és ezáltal keresni is tudok akár több karakterre. Pl. legördítem és beírom, hogy Buda, akkor csak a Buda+val kezdődő települések jelennek meg.

    Ezzel szemben van egy olyan lehetőség is, hogy nem tudok írni a legördülőbe, de ha megnyomon a B betűt, akkor a B-vel kezdődőekhez ugrik. Viszont ha ezután megnyomom az u-t, akkor az U betűhöz ugrik.

    Nekem a kettő kombinációja kellene. Ne lehessen rossz adatot bevinni, de több karakterre kereshessek.

  • 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.


  • Gh0sT

    addikt

    válasz Panther #7 üzenetére

    Az volt a szép az egészben, hogy a like-ot nem tudtam %-al paraméterezni. Az SQL nem akarta az igazságot, úgyhogy egy CommandButton Click eseményéhez kellett hozzárendelnem azt, hogy a TextBox.Text kapjon egy + '%' paramétert is. És így meg működik...

  • Gh0sT

    addikt

    Adott az alábbi paraméteres lekérdezés:

    SELECT Ugyfel.Ugyfel_nev, Ugyfel.Telepules, Ugyfel.UKM_nev, Ugyfel.Partner_tipus, Ugyfel.Adoszam, Partner_tipus.Partner_ikon
    FROM Ugyfel INNER JOIN
    Partner_tipus ON Ugyfel.Partner_tipus = Partner_tipus.Partner_tipus
    WHERE (Ugyfel.Ugyfel_nev = @Ugyfelnev) AND (Ugyfel.Telepules = @Telepules) AND (Ugyfel.UKM_nev = @UKM_nev) AND
    (Ugyfel.Partner_tipus = @Partner_tipus)

    A következő paramétereket kéri:
    1. Ügyfélnév
    2. Település
    3. UKM
    4. Partner típus

    Működik is részben. Ha mindenhova írok adatot, akkor felhozza a találatokat. De én azt szeretném, hogy rá tudjak szűrni mondjuk csak a budapesti ügyfelekre is. Tehát milyen helyettesítők karaktert adjak meg a többi paraméternek, hogy az összes budapesti ügyfelet lássam? A * nem működik... :(

Aktív témák