Aktív témák
-
Gh0sT
addikt
Panther, segíts!

[link] -
Gh0sT
addikt
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
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
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
- Lenovo ThinkPad T14 Gen 1 i5-10210 / 16GB RAM/ 256GB NVMe SSD világítós EU bill, kiváló állapotban
- vizes GAMER PC - RYZEN 5 7600X / 32GB DDR5 / RTX 5070 12GB
- HP EliteBook 840 G7 i5-10210U / 16GB RAM / 256GB SSD Szép állapot, EU bill, gyári töltő
- A KINCS ! Új HP EliteBook 860 G10 Profi Fémházas Laptop -50% 16" i7-1355U 32/1TB FHD+ IPS MATT
- Dobozos DELL Inspiron 16 Fémházas Multimédiás Laptop 16" -30% Ryzen 7 8840U 8mag 16/1TB FHD+ IPS
- DAHUA 16GB DDR4 3200 MHz laptop RAM
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7500F 32/64GB RAM RTX 5060 Ti 8GB GAMER PC termékbeszámítással
- Apple iPhone 13 mini 256GB Pink használt, szép állapot 100% akku 6 hónap garancia
- ÚJ 15" Microsoft Surface Laptop 7 X Elite 16GB 512GB
- Apple iPhone 13 128GB,Átlagos,Dobozaval,12 hónap garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


