Forum Gry Filmy i Seriale Tech Ogólne Archiwum Regulamin

Forum: Czarodziej od baz danych poszukiwany (access)

25.10.2014 20:30
siwy346
1
siwy346
106
addicted to music

Czarodziej od baz danych poszukiwany (access)

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?

25.10.2014 21:45
Watzap
2
odpowiedz
Watzap
191
Fredmen

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ś :)

25.10.2014 21:52
siwy346
3
odpowiedz
siwy346
106
addicted to music
Image

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.

25.10.2014 22:42
4
odpowiedz
Hakim
250
Senator

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).

25.10.2014 23:29
Watzap
5
odpowiedz
Watzap
191
Fredmen

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 ?

26.10.2014 09:58
siwy346
6
odpowiedz
siwy346
106
addicted to music

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. :)

26.10.2014 10:24
M@co
7
odpowiedz
M@co
129
Krzywda

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;

Forum: Czarodziej od baz danych poszukiwany (access)