- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Microsoft Excel topic
- Crypto Trade
- Súlyos adatvédelmi botrányba kerülhet a ChatGPT az EU-ban
- MinDig TV
- Rendszergazda topic
- Mindenki AI-t akar, már 2025-re is eladták a HBM chipeket
- Proxmox VE
- Kapnak egy rakás reklámot a Roblox játékosai
- ArchiCAD és Artlantis topik
Új hozzászólás Aktív témák
-
lao ce
aktív tag
- en mindig sima combo-t hasznalok
- az auto feltolteshez amugy is a DBLookupComboBox -t kellene hasznalni...
- a dbcombonak igenis VAN itemindex-e, annyira elbizonytalanitottal hogy megneztem a helpben
- szerintem (bar nem hasznalom) elallitodik, hiszen erre valo, hogy az itemindex-szel elallitodjon a db is, nem?nicht kompot
-
lao ce
aktív tag
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
-
BlackWoOd
aktív tag
Hát, meglehet. 7-es verzióban benne van, de abban a 2.0-ás.
Esetleg ha a Companion CD-n szétnézel, lehet, hogy ott van eldugva.
(Nincs előttem 5-ös telepítő készlet, nem tudom megnézni sajna.)
Viszont sem a borland.com-on sem a bdn.borland.com-on nem találok demo-letöltést. (Tuti, hogy volt trial változata, ide a rozsdás bökőt, ha nem...)
szerk.: a 2.0 nem biztos, de tuti, hogy 1.0 fölötti volt.
[Szerkesztve]< ..kevés az ember, sok az emberszerű lény... >
-
g4dg3t
senior tag
A gond ott van hogy elobb hivatkozol a parameterekre es csak kesobb hozod oket letre. Mikor meghivod a ParamByName metodust az SQL stringnek mar tartalmaznia kell a lekerdezest a parameterhivatkozasokkal egyutt!
Tehat helyesen:
...
with Query1, SQL do begin
Close;
Clear;
Add('SELECT *');
Add('FROM TranzTabla');
Add('WHERE (Datum>= :KezdDatum) AND (Datum<= :VegDatum)');
if LekerdFelhComboBox.ItemIndex > 0 then
Add('AND (Felhasznalo= :Felhaszn)');
if LekerdPartnerComboBox.ItemIndex > 0 then
Add('AND (Partner= :Partn)');
ParamByName('Felhaszn').AsString:=LekerdFelhComboBox.Text;
ParamByName('Partn').AsString:=LekerdPartnerComboBox.Text;
ParamByName('KezdDatum').AsDate:=LekerdDatePicker1.Date;
ParamByName('VegDatum').AsDate:=LekerdDatePicker2.Date;
Prepare;
Open;
end;
...
Lathatod azt is hogy mikor kell hivni a Prepare metodust (Open elott). Ez annyit csinal, hogy elore lefoglalja a Query futtatasahoz szukseges eroforrasokat igy a lekerdezes vmivel gyorsabban lefut!
[Szerkesztve] -
BlackWoOd
aktív tag
Semmit nem csinálsz rosszul.
Esetleg csináld úgy, hogy kijelölöd a komponenseket, amiket a groupboxba akarsz pakolni, majd ''Edit/Cut'', aztán ráklattyantasz a groupboxra és ''Edit/Paste''.
B verzió: használd az ''Object treeview'' panelt, azon működik a drag&drop.< ..kevés az ember, sok az emberszerű lény... >
Új hozzászólás Aktív témák
- Milyen TV-t vegyek?
- Gördeszka topic
- Az NVIDIA szerint a partnereik prémium AI PC-ket kínálnak
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Xbox Series X|S
- Anglia - élmények, tapasztalatok
- Konzolokról KULTURÁLT módon
- BestBuy ruhás topik
- Milyen billentyűzetet vegyek?
- 3D nyomtatás
- További aktív témák...