Mam sobie taką małą bazę danych, która bardzo by chciała urosnąć.
Potrzebuje dokonać kilku poprawek.
Chciałbym mieć jedną kolumnę, która łączy dane z dwóch innych - mówimy o jednej tabeli.
W polu1 mam wpisane kategorię przedmiotu - jest to jedna literka. W polu2 mam ustawioną wartość liczbową - korzystam z autonumerowania.
I chcę żeby w polu3 tworzyło się swego rodzaju ID przedmiotu czyli literka z pola1+numer z pola2.
Czy coś takiego jest możliwe do zrobienia? I czy jest jakoś logiczne?
Próbowałem wpisywać jako wartość domyślna [pole1]+[pole2], ale program mi mówi, że aparat bazy danych nie rozpoznaje pola 'pole1' w wyrażeniu kontroli poprawności lub wartości domyślnej w tabeli 'Tabela1'.
Jakieś pomysły?
podrzuć screena albo sam plik który masz z ta baza, będzie można popatrzeć i może coś uda sie zrobic bo za bardzo nie wiem co chcesz stworzyć z tego co opisałeś :)
Wybacz zawiły opis. Po prostu też jeszcze nie bardzo jestem przekonany do tego jak to ma być.
W pole3 wpisałem ręcznie te wartości, a chodzi głównie oto, żeby to się robiło automatycznie (biorąc wartość z pola 1 i pola 2) po dodaniu wiersza.
Interesuje Cię konkatenacja.
W Accesie nie mam pojęcia jak się to robi, ale w SQLite wystarczy takie zapytanie:
UPDATE Tabela1
SET pole3 = pole1||pole2
W MySQL konkatenację jeśli się nie mylę zapisuje się tak: concat(pole1,pole2).
Nie można pola ID i auto numerowanie zrobić tylko raz bo wydaje mi sie że zawsze będzie to samo? Mam rozumieć że w polu 3 z automatu się ma robić i zaciągać z pola ID i pole 1 tak ?
No właśnie pole ID bym sobie odpuścił.
Pole 3 ma z automatu zaciągać wartości z pole1 i pole2.
Dzięki za dotychczasowe porady i tropy. :)
Możesz to zrobić tak jak przedstawia poniższy przykład. Tylko kolumnę ID trzeba przekonwertować na tekst żeby działało, stąd funkcja CStr().
UPDATE table1 SET table1.field2 =CStr(ID)+Field1;