[ FOX028 @ 08.10.2018. 21:24 ] @
Imam problem sa nezeljenim sortiranjem podataka u tabeli, za bazu koja se nalazi u prilogu. Kada unesem autore preko forme knjiga prilikom prelaska na drugi zapis knjige i vracanja na prethodni redolsed autora se menja i sortira se po redosledu promarnog kljuca autora, ne ostaju autori u istom redosledu kako su uneseni za neku knjigu. Ovo mi se prvi put desava, slicnu bazu sam radio i ranije po istom principu i ovo mi se nije desavalo. Da li je to do verzije MS Access-a ili je unecemu drugom problem.
[ Getsbi @ 09.10.2018. 05:08 ] @
Predpostavljam da je razlog to što ti je u formi „Knjige” zadnji tab na podformu „Autori” (QKnjigaAutor).On ti pokvari redosled. Pogledaj Tab Order na kartici Design. Pokušaj da promeniš redosled tako da autore, umesto na kraju, biraš recimo nakon naslova, a pre izdavača. Kad izađeš iz zapisa napuštajući sa Enter poslednje polje forme „Broj strana”, trebalo bi da je redosled regularan.

Imaj na umu da ti je PK u tabeli „Knjige” , u tvom slučaju (Autonumber), postavljen na Yes(No duplicates) u osobini Indexed. Tako da je za očekivati da se sa svakim novim pokretanjem forme koristi to indeksiranje. Ako to ne želiš promeni indeksiranje.
[ FOX028 @ 09.10.2018. 15:43 ] @
I nakon ovih izmena isto se desava, opet napominjem da sam radio isto kao i ranije, a u prethodnim slucajevima mi se nije ovo desavalo, opet napominjem na potpuno isti princip sam radio. Jedino ako nije problem u verziji Access-a, ranije sam radio u 2007 a ovo u 2013.
[ Getsbi @ 09.10.2018. 17:31 ] @
Izvor u podformi KnjigaAutori ti ima kombinovani ključ: IDKnjiga + IDAutor i zato ti se stalno dešava da ne vidiš prirodni raspored autora na knjizi. Uvedi u tabelu „KnjigaAutori” još jedno polje „RaporedNaKnjizi”. Ova forma „Knjiga” ne treba da ti bude prikaz ili pogled na knjigu već kreiraj novu gde ćeš da koristiš novo polje.
[ FOX028 @ 09.10.2018. 20:45 ] @
Mislim da nije problem do dizajna formi, takodje kad pokusam da u samoj tabeli KnjigaAutor unesem podatak u IDAutor takodje dolazi do ovog sortiranja prilikom zatavaranja tabele i ponovnog otvaranja iste.
Isto se desava, evo u prilogu druga baza koja je ranije radjena po istom principu radjena gde ne dolazi do ovog sortiranja.
[ bokinet @ 09.10.2018. 22:17 ] @
Malo sam sa vremenom prekratak iako nisam bas razumeo sve sta je po sredi ali s' tim u vezi kao pocetno resenje probati dole sta sam naveo.

Otvoriti tabelu 'KnjigaAutor', selektovati prvi i drugu kolonu tj. polja i potom kliknuti na SORT A-Z u Ribbon Bar-u (Toolbar).
Potom snimiti promene i probati.

U prilogu je odradjena baza s' ovim gore opisanim kao i slika, po koracima.

Takodje ovo se moze reseiti i kroz ORDER BY izrazom u SQL upitu koji bi se dodavao na kraju.




[ FOX028 @ 09.10.2018. 22:21 ] @
stvar je u tome sto ne treba biti sortiranja, nego da podaci budu prikayani redosledom kojim su uneseni. KOnkretno kojim se redosledom unose autori da tako uvek budu i prikazani u bazi koja je postavljena u mom prvom postu.
[ bokinet @ 09.10.2018. 22:29 ] @
U tom slucaju resenje onda dodati jedno PK polje koje bi bilo tipa autonumber.
Autonumber ce uvek ici napred.

IDRelacija (AutoNumber)
IDKnjiga (Number)
IDAutor (Number)

Sortiranje po IDRelacija uvek se moze dobiti redosled kada je sta dodavano.

Jedino gde dolazi do kolizije je kada se odradi compact and repair baze.

Onda nakon toga treba odraditi ALTER COL upit i podesiti odakle ce krenuti autonumber.

(primer postavlja brojac da krene od 720 pa dalje)

Code:


ALTER COLUMN [IDRelacija] COUNTER (720,1)


[ FOX028 @ 09.10.2018. 22:32 ] @
Nisam probao ali verujem da je tako, mene vise zanima zasto u jednoj bazi se podaci sami sortiraju a u drugoj ne a identicno su radjene.
[ bokinet @ 09.10.2018. 22:35 ] @
To se desava i u drugim DBMS zato je pozeljno raditi sortiranje kada je bitan redosled.
Da ne duljim i ne ulazim u srz zasto posto mi vreme ne dozvoljava da obrazlazem oko toga.
[ bokinet @ 09.10.2018. 22:43 ] @
Dodao sam upit na vasu bazu 'ALTER AUTONUMBER' koji je ustvari dole spomenuti SQL upit.

U prilogu je takodje i vasa baza gde sam u tabeli 'KnjigaAutor' dodao novo polje 'IDrelacija' tipa AutoNumber.

Evo tacnog upita za MS Access.

Code:


ALTER TABLE KnjigaAutor ALTER COLUMN [IDRelacija] COUNTER (720,1)



To je samo primer koji treba prilagoditi vasoj situaciji.