Witam.
Problem może banalny, ale...
Mam problem z Accessem 2003, ponieważ robię bazę i wpisuję (przykładowo) coś takiego:
Identyfikator ////// Imię ////// Nazwisko
1 ////// Jan ////// Kowalski
2 ////// Henryk ////// Nowak
3
Wszystko OK się wpisuje, ale nieraz tak bywa, że chce "wcisnąć" między dwa pola (rekordy chyba jeszcze jeden)
Przykładowo miałoby to wyglądać tak:
Identyfikator ///// Imię ///// Nazwisko
1 ///// Jan ///// Kowalski
2 ///// Anna ///// Kowalska
3 ///// Henryk ///// Nowak
Da się w ogóle coś takiego zrobić, bo chyba nie?
A może Access 2003 tylko czegoś takiego zrobić nie może, a nowsze wersje tak. Proszę o pomoc.
P.S. Mam nadzieję, że wiecie o co mi chodzi
Problem z bazą danych w Accessie 2003
Started by M@tix, 04 Aug 2013 19:55
3 replies to this topic
#1
Posted 04 August 2013 - 19:55
#2
Posted 05 August 2013 - 08:05
Identyfikator przypisujesz sam, czy masz generowany automatycznie, jako unikalny?
Intel i5-3570K @ 4.2GHz | ASRock Z77 Extreme4 | Corsair Vengeance LP 16GB | Radeon HD7870 | Samsung 840 Pro 128GB | Samsung F3 1TB | Xonar DG | OCZ ModXStream Pro 500W
Duath
#3
Posted 05 August 2013 - 08:24
W prawidłowo zaprojektowanej bazie danych pole "identyfikator" powinno być automatycznie zwiększane, aby nigdy nie było takiej sytuacji, aby nowy rekord był wpisywany na miejsce skasowanego. Przy jednej tabeli to nie ma znaczenia, ale Access, MySQL i reszta baz relacyjnych jest przeznaczona do zarządzania bazami danych o tysiącach tabel, w których dane z jednej tabeli są związane z danymi z innej tabeli. Jeśli wstawisz nowy rekord na miejsce skasowanego, to powiążesz dane z niego z niewłaściwymi danymi wpisanymi poprzednio! Pola typu ID są przeważnie kluczami, które łączą dane z tabel. Iterowanie klucza ma zapobiec brakowi spójności danych.Jeśli chcesz zmienić kolejność, kluczy, pobaw się z wyszukiwaniem, albo sortowaniem przy wyświetlaniu. Oczywiście, jak ktoś chce się bawić, możliwa jest zamiana zawartości dwóch wierszy, przez jakiś bufor, ale to ryzyko, że coś namieszasz.
AMD Phenom II 955
Pentagram Karakorum HP-120 AlCu + Arctic Cooling AF1225L
4 GB DDR3 1600 MHz
Było Asus Radeon HD 6950 DCU II, jest XFX 7850 z AC Mono - czego się nie robi dla tej ciszy!
SilentiumPC Deus G1 600W
Pentagram Karakorum HP-120 AlCu + Arctic Cooling AF1225L
4 GB DDR3 1600 MHz
Było Asus Radeon HD 6950 DCU II, jest XFX 7850 z AC Mono - czego się nie robi dla tej ciszy!
SilentiumPC Deus G1 600W
#4
Posted 05 August 2013 - 08:40
Identyfikator przypisujesz sam, czy masz generowany automatycznie, jako unikalny?
Z tego co widzę to automatycznie.
OK. Rozwiązałem to w dość prymitywny sposób. Otóż najpierw kopiuje połowę danych, kasuje je, wpisuje w pusty rekord jakieś dane, a za nim wklejam resztę, którą przedtem skopiowałem.
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users