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
Rozpoczęty przez M@tix, 04 sie 2013 19:55
3 odpowiedzi w tym temacie
#1
Napisano 04 sierpień 2013 - 19:55
#2
Napisano 05 sierpień 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
Napisano 05 sierpień 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
Napisano 05 sierpień 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.
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych