Delphi programozás - Szoftverfejlesztés fórum

üzenetek

hozzászólások


lao ce
(aktív tag)

ezeket azert gugli eleg konnyeden megvalaszolja.
egyebkent ExitWindowsEx


Divi
(aktív tag)

Kérdés van:

Egy nagyon egyszerű kis adatbázist szeretnék létrehozni, de 2 géépel!

A kezelő szoftver az egyszerűség kedvéért a BDE lenne.
Az egyik sz.gép aliassal lenne ráirányítva a másik gép vinyóján lévő adatbázis fájlra
a másik gépen meg értelemszerűen lenne a adatbázis fájlja.

A kérdések:
1.Lehet alias-olni hálózati meghajtóra?
2. bírni fogja a BDE ezt a adatbázis elcseszése nélkül?


Divi
(aktív tag)

némileg sürgetős a dolog ezért egy up hátha valaki hozzáértő meg tudja válaszolni


btotyi
(tag)

lehet


hát van amikor elrontja (pdxbuilder rulez)


tusi74
(őstag)

Tegyük fel, hogy van egy query-m, aminek updateObjectje egy UpdateSQL.

Hogyan lehet átváltani Update módba? vagy delete módba.

Mert az megy, hogy hogy beírom, hogy query5.insert,
és akkor meghívódik az, amit az UpdateSQL insert propertyjébe írtam.
Ugyanígy megírtam a modify-t, és a Delete-t, de hogy lehet őket akítvvá tenni?
Mert olyan nincs, hogy Query5.Update, Query5.Modify?

Elég sürgős lenne.


lao ce
(aktív tag)

en ezt abszolut nem hasznalom, de ha jol emlekszem van olyan hogy applyupdates az adatbazisra (vagy a queryre is?) es akkor hivodik meg az ami az updatesqlben van (tranzakciostul? nem tudom). azt hiszem az egyik peldaprogram a delphi examples-ek kozott errol szol.


btotyi
(tag)

Olyan nincs de Query5.Edit meg Query5.Delete van :)


tusi74
(őstag)

Az előbbi problémát megoldottam.

Most egy újabb láma kérdés:
Hogyan lehet az megcsinálni, hogy egy formon egy gombnyomásra kiszámolok valamit és az eredményt egy másik formon fel szeretném használni.
Biztos nagyon egyszerű, de nekem mégsem megy.

[Szerkesztve]


CsendPenge
(őstag)

Valamelyik formnál, vagy a form unit-ban csinálj egy globális változót, plussz uses unit :) Ez utóbbi nélkül nem fog menni.

P.S.: véletlenül se a gombnál deklaráld a változód, mert akkor a gomb eseményére nézve lokális lesz, vagyis addig létezik a változó, amíg az esemény ''létezik''.

P.S.2: ha nem voltam eléggé értehtő, szólj és kifejtem magamat


lao ce
(aktív tag)

ha az eredmeny megjelenik az elso formon is vizualis formaban (mondjuk label-en) akkor valaszthatod azt is, hogy kozvetlenul elered.

miutan csendpenge tanacsa szerint a masodik form forrasanak a uses reszebe beirod az elso unitodat,
{
implementation
uses
untElso;
}
a masodik unitbol el tudod erni az elso unit formjan levo objektumok erteket.
tehat untElso.frmElso.lblEredmeny.Caption
es azt hogy untElso el lehet hagyni ha akarod.

csak azert irom, mert sokszor csak ki kell irni valamit a kepernyore az ilyen helyzetekben es szerintem ilyenkor felesleges valtozot hasznalni a 'masodik formokon', aztan hatha ez a helyzet nalad is veletlenul.


tusi74
(őstag)

OK, akkor próbálkozom.


Notes
(senior tag)

akarmiDBComboBox.ItemIndex:=-1;

Undeclared identifier 'ItemIndex'-et kapok. Csak a sima ComboBox-nál van ItemIndex?


lao ce
(aktív tag)

valami elgepelesre gondolok.
amugy ha a code completion kiirja neked hogy itemindex akkor van olyan (lesz olyan).


Notes
(senior tag)

Jó ötlet. Sajnos cc nem kínálta fel... Akkor hogy a csudába állítsam ''semmi''-re a DBComboBox-ot, anélkül, hogy ''elmozdítanám'' alatta a rekordokat?


Notes
(senior tag)

Na jó azt hiszem, inkább a táblából feltöltök egy sima ComboBox-ot. Az kicsit rugalmasabb jószág.


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?


Notes
(senior tag)

Igazad van! Itt a megoldás! Illetve itt van az, hogy miért nincs megoldás... :) Ez egy DBLookUPComboBox (Utálom ezeket a hosszú neveket...) És annak már tényleg nincs ItemIndex tulajdonsága. Akkor marad a jó öreg ComboBox, meg egy kis kódolás a feltöltésére.


lao ce
(aktív tag)

kivancsi vagyok hogy megkerdezed-e hogy mikor egy text field-del kitoltod a combot akkor hogyan tudod a hatterben az ID-ket karbantartani :)


Notes
(senior tag)

Milyen ID-ket?

De ha már itt tartunk ez az egész Form arról szól, hogy egy táblából feltöltök combobox-kat (mezőnként egy box), aztán egy lekérdez megnyomásásval a user csak azokat a rekordokat kapja vissza egy reportban, amiknek a tartalma megegyezik a comboboxok tartalmáva. Persze a dolog nem ilyen egyszerű, mert egy dátumtól-ig szűrés mindenképpen van a többi szűrés viszont csak akkor, ha a combobox előtti checkbox-ot kipipálja a felhasználó. Na képzelheted azt az Acces ágat az OnFilterRecord eseménykezelőben... mire azt összehozom... Azt hiszem erre mondják, hogy tipikus SQL megoldást kívánó dolog, de azt nem vágom. Valami ötlet?


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]

üzenetek