Moguca rjesenja:
a) select max ...
b) posebna tablica u kojoj se nalazi zapisana sljedeca slobodna vrijednost i
odrzava je program.
Postoji li jos kakvo rjesenje za dohvat te vrijednosti?
Za Informix koristimo stored procedure koje Access, na zalost, nema.
Puno hvala i lijep pozdrav,
m.
Posebna tablica je najrobusnije rjesenje, i o srca ti ga preporucam.
U svakom slucaju brze je od select max.
Inace nije dobra ideja koristiti AutoNumber polja (pogotovo u paradoxu).
> Postoji li jos kakvo rjesenje za dohvat te vrijednosti?
> Za Informix koristimo stored procedure koje Access, na zalost, nema.
Koju verziju Informixa koristis?
Da li to netko ne zna sto zapravo znaci kratica "vs."?
Ocito...
Ovako se zbunjuju ljudi. A ja mislio da je na pomolu novi flame...
I meni se cini da bi umjesto "vs." bilo bolje "&" :)))
Ispravka: ne cini mi se nego sam siguran da bi bilo bolje :)))
m.
Probajte InterBase.
Bit ce Vam blizi od Accessa buduci da ste radili s Informixom. Osim toga IB
je open source (dakle free) i ima direktni driver i komponente za Delphi pa
stvar funkcionira puno ljepse (smooth kak bi rekli Englezi) od Accessa.
www.borland.com/interbase
BTW, IB ima stored procedures, triggere i sl.
--
Zelim Vam ugodan i uspjesan dan,
Mladen Kuzminski
BORLAND / INPRISE distribucija
KONTO d.o.o. Pozega, Varazdin
A da se napravi globalna varijabla u programu?
Mislim, ako Vam treba neposredno nakon upisa u master tablicu onda je
najbrze i najjednostavnije preko globalne varijable.
Kako znati koja je slijedeca vrijednost? Najbrze indeksirati tablicu po
AutoNumber polju, ici na zadnje polje, procitati vrijednost i onda
Inc(vrijednost).
A kako ce ostale radne stanice pristupiti toj "globalnoj" varijabli?
> Mislim, ako Vam treba neposredno nakon upisa u master tablicu onda je
> najbrze i najjednostavnije preko globalne varijable.
> Kako znati koja je slijedeca vrijednost? Najbrze indeksirati tablicu po
> AutoNumber polju, ici na zadnje polje, procitati vrijednost i onda
> Inc(vrijednost).
Ovako sam i ja radio u ranim programerskim danima dok nisam uvidio velike
nedostatke ove metode.
Definitivno je najjednostavnije i najpouzdanije rjesenje koristenje posebne
tablice za sve brojace.
Ako ima zainteresiranih poslat cu im kompletno rjesenje (besplatno naravno).
Pozdrav.
> Probajte InterBase.
> Bit ce Vam blizi od Accessa buduci da ste radili s Informixom. Osim toga
IB
> je open source (dakle free) i ima direktni driver i komponente za Delphi
pa
> stvar funkcionira puno ljepse (smooth kak bi rekli Englezi) od Accessa.
> www.borland.com/interbase
>
> BTW, IB ima stored procedures, triggere i sl.
Nisam bas siguran da IB radi bolje sa Delphijem od Accessa.
Borlandov BDE mi se cini dosta losiji izbor od ADO-a koji dolazi sa D5-icom.
ADO podrzava sve moguce i nemoguce baze, stalno se unapredjuje (ADO.NET) za
razliku od BDE-a, veoma je jednostavan za koristenje, osigurava dodatne
mogucnosti u odnosu na BDE kad su u pitanju MS baze, ima znatno manji
overhead od BDE-a tako da je mrezni rad daleko brzi i sl.
Na klientu nije potrebno imati BDE instaliran, bazu je moguce jednostavno
kopirati na drugo mjesto jer je samo jedan file, nema ODBC-aliasa jer se
koriste connection stringovi, moguca je sinhronizacija s drugim bazama,
kompaktiranje i sve druge stvari koje se samo importiraju kao type library,
jednom napravljena baza u Accessu se moze lako upsize-ati na SQL Server tj.
MSDE, zavisi od potreba.
Znaci, za manje projekte ja bih svakako izabrao Access, za vece je ionako
potrebno uzeti i neku bazu tako da je onda IB odlican izbor.
Sta to znaci, da je IB besplatan i za Windows platformu?!?!
Zar sam ja toliko neinformiran???
"Davor Pleskina" <davor.p...@ri.tel.hr> wrote in message
news:96h0vf$2403$1...@as121.tel.hr...
Uffff... A s cime se otvara? :o)
DeX
"Mladen Kuzminski" <mla...@konto.hr> wrote in message
news:96g5ui$o3p$2...@sunce.iskon.hr...
Postoji binary za skidanje (zipana instalacija) a imate i source ako Vam je
potreban.
Ja sam to rijesio tako da idem s "try" pa ako ne prodje povecavam dok ne
dodjem na slobodnu vrijednost.
Autoinc ne radi na svim bazama.
Postoji IB6.01 (www.borland.com/interbase) Open Source za Win, Linux i
Solaris.
Lijep pozdrav i hvala,
m.
> Autoinc ne radi na svim bazama.
Koja ne radi s autoinc?
Dakle, ako se dvije aplikacije konkurentno nakace na bazu, beskonacno ce se
vrtjeti svaka u svojoj try...end petlji jer ce slijedeca vrijednost biti
zauzeta? Glasam za posebnu tablicu (ili bilo koji tip fajla, moze i INI)
koji drzi zadnju dostupnu vrijednost, ne moze se share-ati (dakle rabiti
istovremeno od dva usera) pa UVIJEK sigurno ima slijedecu raspolozivu
vrijednost u sebi. To je slicno transakcijskoj zastiti koju rabe SQL baze.
Zasto ne? Brzo i jednostavno. Cak ne treba niti trositi tablice u bazi za
tako jednostavne countere.
Jel ovo sala ili netko nije shvatio da se ja salim c Buchem?
Na sto tocno mislite? Molim malo opisite.
To je kada se iz jedne baze linka na tablicu u drugoj bazi. Dakle, tablica
fizicki postoji u drugoj bazi a iz baze iz koje je napravljen link (ili
sinonim) administriranje je potpuno jednako kao da je tablica u istoj bazi.
m.
LInkanje postoji (npr. kod upita) a za administriranje nisam probao.
Probajte na borland.com grupama i dokumentaciji koja se tamo nalazi.
--
Zelim Vam ugodan i uspjesan dan,
Mladen Kuzminski
BORLAND distribucija
KONTO d.o.o. Pozega, Varazdin
Ja sam imao problema sa Autonumber poljem, i to bez dvije aplikacije.
Naime, nakon mnogo operacija na tablici, odredivanje Autonumber vrijednosti
se pocelo ponasat dosta cudno, npr. ako sam imao deset tisuca zapisa, zatim
obrisao onog na 3000-tom, mjestu, ponekad (ali samo ponekad) mi je znao
kao iducu Autonumber uzeti 3000, pa onda opet vrijednosti iza 10000.
Nekad je to radilo normalno. Uglavnom, bilo je potrebno napraviti
kompakt pa je to sredilo stvari.
Uglavnom, otada izbjegavam koristenje autonumber polja.
AUTONUMBER (autoinc) polja su opasna kao podatak za sudjelovanje u kljucu
ili indeksu tablice, upravo zato sto transferom slogova prilikom recimo
kompaktiranja tablica mogu promijeniti vrijednost. Dobra su kod
nagomilavanja zapisa s istovjetnim kljucevima, ali i tada je njihova
upotreba sporna.
Po meni, izbjegavati autoinc polja (iskustvo).
A, sto da onda radim kad imam gomilu podataka, koji moraju biti
indeksirani?
Mike
Indeksiraj ih, po kojem god hoces polju ili grupi polja.
A ako hoces da polje bude autoinkrement
nemoj da postavis polje autoinc. vec ubaci tabelu
sa poljima
ID_tabele Zadnji_ID
koji kod unosa povecas...
Jednostavno i robusno
Autoinc. = jednostavno i manje robusno
pozdrav Mario
--
Jos trazim dobar sig....
Ili odredi zadnji sa MAX(polje). Ako je "polje" dio kljuca, MAX je trenutan.
Nije dobro. Postoji mogucnost da dva racunala dobiju isti broj. Ne govorim
bez veze imao sam tih problema. Posebno se pokazalo neprakticno kod modemske
veze.
Ono rijesenje s drugom tablicom cija vrijednost se povecava prije citanja
slijedeceg broja je puno kvalitetnija.
Ovo rijesenje je dobro ako je sustav namjenjen samo jednom racunalu ili ako
se ista operacija (unos novog dokumenta) nece odvijati simultano na dva
racunala.
Pozdrav, Marko.
GAZ!!!
Meum Verbum Est Honor Mea
Meus Honor Est Vitae Mea
"gargantua" <Gargan...@hotmail.com> wrote in message
news:9821sl$6s7n$1...@as121.tel.hr...
Da, slazem se, ali ponavljam jos jedamput, kod nas je situacija takva da su
nam linije kod povezivanja uvijek za X puta slabije nego sto bi to bilo
optimalno, pa tako kod procedure citaj najveci broj (PO INDEXU, dakle BRZO),
posalji broj clientu (PO TELEFONSKOJ LINIJI na kojoj se trenutno odvija X
procesa i njena propusnost je prilicno mala SPORO), povecaj broj (U MEMORIJI
BRZO), pospremi uvecani broj u bazu (ponovo TELEFONSKA LINIJA, dakle sporo),
commit (ponovno TELEFONSKA LINIJA SPORO).
Ako u isto vrijeme (BRZO+SPORO+BRZO+SPORO+SPORO dakle i vise nego dovoljno
vremena) jos jedna osoba unutar LAN-a uradi isti posao
(BRZO+BRZO+BRZO+BRZO+BRZO) pojavljuje se isti broj fakture.
Pozdrav