Thread View: pl.comp.bazy-danych.msaccess
5 messages
5 total messages
Started by Bolo G.
Wed, 11 May 2016 11:27
Co robię źle - import danych z Excela do baza danych z relacjami "jeden do wielu" i polami kombi - źródło z tabeli.
Author: Bolo G.
Date: Wed, 11 May 2016 11:27
Date: Wed, 11 May 2016 11:27
23 lines
3412 bytes
3412 bytes
Witam wszystkich Jestem amatorem w kwestii baz danych. Od kilku lat używam Accessa do obsługi bazy danych, którą sam stworzyłem. Baza ta służy mi do nadzorowania i zarządzania dokumentacją techniczną w dziale technicznym pewnej firmy. Baza danych ma nadane relacje jeden do wielu i funkcjonuje póki co sprawnie. Problem pojawił się, kiedy postanowiłem rozbudować moja bazę. Robiąc próby rozbudowy natknąłem się na problem dla mnie nie do rozwiązania. Rozbudowa polega na zaimportowaniu danych z Excela. Tabele które będą przy tej operacji tworzone mają zawierać pola z danymi z tabel już istniejących w bazie. Import danych ma polegać na tym, że najpierw tworzę tabele w Accessie (bez rekordów), a następnie rekordy (dane) importuję z Excela. Wszystko byłoby dobrze, gdyby nie relacje i pola kombi. Podczas importowania program usuwa mi wszystkie dane z pól, które są polami kombi. Kiedy tą bazę tworzyłem robiłem tak samo i jakoś mi wyszło....no może nie jakoś....po prostu teraz coś źle robię, o czymś zapomniałem i nie mogę sobie z tym poradzić. Najlepiej mój problem przedstawia przykładowa baza, jaką przygotowałem aby zobrazować mój problem. Link: https://drive.google.com/folderview?id=0B_3ojMWvS4t9NGQyVkE0LThiM0E&usp=drive_web W katalogu dwie wersje baz danych: z relacjami i bez. Do bazy z relacjami nie można zaimportować danych (plik tblSurowce-wyroby.xlsx) do tabeli tblSurowce-wyroby bez usuwania danych z pól kombi. W przypadku bazy bez nadanych relacji problem ten nie istnieje. Pewnie problem tkwi w rozmiarze pola i typie danych pola. W bazie bez relacji pola kombi są ustawione na „TEXT” a w bazie z relacjami na „LICZBA” – warunek konieczny do uzyskania relacji jeden-do-wielu. Byłbym wdzięczny za pomoc, radę lub wskazówkę. Samą strukturę bazy mogę stworzyć w Accessie, ale wszystkie dane przygotowane mam w Excelu (około 2000 tys. rekordów). Wklepywanie teraz tego do czystej bazy to karkołomne zadanie... Bazę tworzyłem w Accessie 2007, teraz mam Access 2010. Pozdrawiam
Re: Co robię źle - import danych z Excela do baza danych z relacjami "jeden do wielu" i polami kombi - źródło z tabeli.
Author: md
Date: Wed, 11 May 2016 18:39
Date: Wed, 11 May 2016 18:39
30 lines
3500 bytes
3500 bytes
W dniu 11-05-2016 o 13:27, Bolo G. pisze: > Witam wszystkich > > Jestem amatorem w kwestii baz danych. Od kilku lat używam Accessa do obsługi bazy danych, którą sam stworzyłem. Baza ta służy mi do nadzorowania i zarządzania dokumentacją techniczną w dziale technicznym pewnej firmy. Baza danych ma nadane relacje jeden do wielu i funkcjonuje póki co sprawnie. > > Problem pojawił się, kiedy postanowiłem rozbudować moja bazę. Robiąc próby rozbudowy natknąłem się na problem dla mnie nie do rozwiązania. > > Rozbudowa polega na zaimportowaniu danych z Excela. Tabele które będą przy tej operacji tworzone mają zawierać pola z danymi z tabel już istniejących w bazie. Import danych ma polegać na tym, że najpierw tworzę tabele w Accessie (bez rekordów), a następnie rekordy (dane) importuję z Excela. > > Wszystko byłoby dobrze, gdyby nie relacje i pola kombi. Podczas importowania program usuwa mi wszystkie dane z pól, które są polami kombi. > > Kiedy tą bazę tworzyłem robiłem tak samo i jakoś mi wyszło....no może nie jakoś....po prostu teraz coś źle robię, o czymś zapomniałem i nie mogę sobie z tym poradzić. > > Najlepiej mój problem przedstawia przykładowa baza, jaką przygotowałem aby zobrazować mój problem. > > Link: https://drive.google.com/folderview?id=0B_3ojMWvS4t9NGQyVkE0LThiM0E&usp=drive_web > > W katalogu dwie wersje baz danych: z relacjami i bez. Do bazy z relacjami nie można zaimportować danych (plik tblSurowce-wyroby.xlsx) do tabeli tblSurowce-wyroby bez usuwania danych z pól kombi. W przypadku bazy bez nadanych relacji problem ten nie istnieje. Pewnie problem tkwi w rozmiarze pola i typie danych pola. W bazie bez relacji pola kombi są ustawione na „TEXT” a w bazie z relacjami na „LICZBA” – warunek konieczny do uzyskania relacji jeden-do-wielu. > > Byłbym wdzięczny za pomoc, radę lub wskazówkę. Samą strukturę bazy mogę stworzyć w Accessie, ale wszystkie dane przygotowane mam w Excelu (około 2000 tys. rekordów). Wklepywanie teraz tego do czystej bazy to karkołomne zadanie... > > Bazę tworzyłem w Accessie 2007, teraz mam Access 2010. > > Pozdrawiam > Na początek sprawdź kolejność importowania danych być może najpierw importujesz dane do tabel powiązanych relacjami bez wcześniejszego wypełnienia tabel podstawowych md
Re: Co robię źle - import danych z Excela do baza danych z relacjami "jeden do wielu" i polami kombi - źródło z tabeli.
Author: Bolo G.
Date: Sun, 15 May 2016 07:34
Date: Sun, 15 May 2016 07:34
11 lines
2063 bytes
2063 bytes
Jeśli dobrze rozumiem, to tabele podstawowe to te istniejące już bazie?? Dane importuję do pustej tabeli z określonymi polami. Jedno z pół jest polem kombi które pobiera dane z innej tabeli/kwarendy (już wypełnionej danymi). Wszystko się importuję ładnie jeśli nie ma nadanych relacji Jeden-do-wielu. Jeśli nadam relację, to wyskakuje komunikat, że zostanie usuniętych tyle i tyle rekordów w danym polu z powodu takiego i takiego (nie ma teraz dostępu do Accessa i dokładnie nie pamiętam treści komunikatu). No nic, mimo wszystko dziękuje za odpowiedź. Pozdrawiam
Re: Co robię źle - import danych z Excela do baza danych z relacjami "jeden do wielu" i polami kombi - źródło z tabeli.
Author: Zbigniew Bratko
Date: Sun, 15 May 2016 16:17
Date: Sun, 15 May 2016 16:17
48 lines
3064 bytes
3064 bytes
W dniu 2016-05-11 o 13:27, Bolo G. pisze: [...] > Najlepiej mój problem przedstawia przykładowa baza, jaką przygotowałem aby zobrazować mój problem. > > Link: https://drive.google.com/folderview?id=0B_3ojMWvS4t9NGQyVkE0LThiM0E&usp=drive_web > > W katalogu dwie wersje baz danych: z relacjami i bez. Do bazy z relacjami nie można zaimportować danych (plik tblSurowce-wyroby.xlsx) do tabeli tblSurowce-wyroby bez usuwania danych z pól kombi. W przypadku bazy bez nadanych relacji problem ten nie istnieje. Pewnie problem tkwi w rozmiarze pola i typie danych pola. W bazie bez relacji pola kombi są ustawione na „TEXT” a w bazie z relacjami na „LICZBA” – warunek konieczny do uzyskania relacji jeden-do-wielu. Bo w obu bazach w tabeli "tblSurowce - wyroby" pola "Wyrób" i "Surowce" jest typu Liczba. Wartości typu 123.A, czy ABC.1 nie da się zaimportować do pola typu Liczba. > > Byłbym wdzięczny za pomoc, radę lub wskazówkę. Samą strukturę bazy mogę stworzyć w Accessie, ale wszystkie dane przygotowane mam w Excelu (około 2000 tys. rekordów). Wklepywanie teraz tego do czystej bazy to karkołomne zadanie... Spróbuj może w taki sposób w bazie bez relacji . 1. W tabelach pomocniczych "tblSurowce" i tblWyroby" usuń pola "Identyfikator" będące kluczem głównym i załóż klucz podstawowy na polach tekstowych "Nazwa" w obu tabelach. 2. W tabeli "tblSurowce - wyroby" pola "Wyrób" i "Surowce" zmień na typ "Text" 3. Następnie załóż relacje 1--oo na polach Numer-Wyrób i Numer-Surowiec (podobnie jak w bazie z relacjami, ale na w/w polach). I spróbuj zaimportować dane. Przed importem musisz przygotować obie tabele, tak by zawierały wszystkie "Surowce" i "Wyroby" występujące w arkuszu Excela, bo inaczej Access nie zaimportuje tych wierszy, dla których nie znajdzie powiązania z tymi polami. PS. Znowu wcześniej wysłałem na priv. -- Pozdrowienia BraZby www.faq.accdb.pl www.accdb.pl
Re: Co robię źle - import danych z Excela do baza danych z relacjami "jeden do wielu" i polami kombi - źródło z tabeli.
Author: Bolo G.
Date: Fri, 20 May 2016 10:17
Date: Fri, 20 May 2016 10:17
8 lines
2000 bytes
2000 bytes
Dziękuje za wiadomość. Przepraszam, że wcześniej nie odpisałem, ale mam urwanie głowy w robocie jak i prywatnie, a temat bazy chwilowo odłożyłem na bok. Tak jak radzisz, to też chciałem zrobić, ale ktoś kiedyś mnie uczył, ze powinienem mieć zawsze oddzielne pole na ID pod klucz podstawowy. Moja dotychczasowa baza na tym się własnie opiera, więc aby zastosować to co radzisz, musiałbym diametralnie zmienić strukturę swojej bazy. Na przykładzie jaki podałem, to okej, ale to tylko przykład. Bardzo dziękuje za odpowiedź. Musze jeszcze to przemyśleć. Pozdrawiam
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads