Danuta M.

Danuta M. Analityk

Temat: Klucz z jednej tabeli w innej - problem z formatowaniem

Witam,
właśnie samodzielnie uczę się accessa. Mam pewien problem z pogodzeniem tabel. Jest sobie tabela, nazwijmy ją "tabela1", której kluczem jest "klucz1" i teraz mam druga tebelę (nazwijmy ją "tabela2"), która ma być połączona relacją z tabelą1 , w której jest właśnie klucz obcy "klucz1".
Problem w tym, że "klucz1" jest polem autonumerowanym, na którym mam ustawiony format (i chcę by tak pozostało!) w postaci \A0 (czyli kolejne wartości mam A1, A2, A3 itd).
W tabeli2 ustawiłam pole klucza obcego jako "lookup column" (pewnie w polskiej wersji accessa to się nazywa kolumna śledząca czy jakoś tak - nie wiem, mam angielskiego ;) - autmatycznie mi ustawiło właściwy typ danych, ale.. nie ustawiło mi takiego samego formatu a jak próbowałam ręcznie w widoku projektowania ustawić "format" jako \A0, to po przejściu do widoku tabeli i próbie wybrania wartości pola "klucz2" jako np A1, pokazuje mi się błąd, że A1 nie jest daną typu number i poleca zamienić pole na pole tekstowe, czego z kolei nie chcę zrobić, bo jak to robię to nie pozwala mi stworzyć relacji, buntując się, że typy danych powinny być zgodne, dla pola, które ma byc kluczem obcym...

Czy to wogóle możliwe bym w tabeli2 mogła uzyskać widok klucza obcego, jako A1, A2, A3.. a nie 1,2,3??

Uuufff... mam nadzieję, że wystarczająco jasno opisałam swój problem - będę wdzięczna za pomoc :)
Michał Dziubek

Michał Dziubek Programista,
INFORM\'1

Temat: Klucz z jednej tabeli w innej - problem z formatowaniem

Witam,

Zacznijmy od podstaw, to że ustawiasz format komórki znaczy tylko tyle, ze tak będzie wyświetlana, a docelowo będą tam i tak pamiętane tylko cyfry.
W końcu pole auto numer to liczba.
A więc jeżeli chcesz to ustawić tak sobie życzysz to zrób tak:

tabela1
id klucz autonumer
pozostałe kolumny

tabela2
id (klucz podstwowy)
tabela1id liczba, format: \A0
pozostałe kolumny

wejdź w widok relacji i ustaw relacje 1-n dla tabela1.id->tabela2.tabela1id

i wtedy osiągniesz swój efekt.

Co do zasady, to mam wrażenie, że chcesz przesunąć interface na tabele, do tego jednak służą formularze...
-----edycja:

Format definiuje wyświetlanie pola anie to co jest faktycznie w nim zapisane...Michał Dziubek edytował(a) ten post dnia 01.09.11 o godzinie 19:16
Danuta M.

Danuta M. Analityk

Temat: Klucz z jednej tabeli w innej - problem z formatowaniem

Michał Dziubek:
Witam,

Zacznijmy od podstaw, to że ustawiasz format komórki znaczy tylko tyle, ze tak będzie wyświetlana, a docelowo będą tam i tak pamiętane tylko cyfry.

To wiem - w końcu pole numeryczne to numeryczne i koniec!
W końcu pole auto numer to liczba.
A więc jeżeli chcesz to ustawić tak sobie życzysz to zrób tak:
(...)

tabela2
id (klucz podstwowy)
tabela1id liczba, format: \A0
pozostałe kolumny

wejdź w widok relacji i ustaw relacje 1-n dla tabela1.id->tabela2.tabela1id

i wtedy osiągniesz swój efekt.

Tak to wcześniej zrobiłam, ale potem odkryłam, że generalnie mogę klucze obce umieścić tak, by pojawiała mi się lista wybieralna z wartościami, którym sa przypisane dane w innej tabeli i od razu w widoku relacji tworzyła sie odpowiednia relacja.

No i zaczęłam się bawić - wszystko było ok w przypadku formatów typu 00 , 000, ale problem pojawił się właśnie przy kluczach dla których jest ustawione formatowanie z prefiksem tekstowym. Na liście wybieralnej są widoczne wartości z prefiksem (sama taki format w końcu ustawiłam), jak jednak wybiore którąś z pozycji to pojawia się błąd mówiący, że dane, które chcę wprowadzić nie są typem number i kompletnie tego nie rozumiem, bo dane przecież sama ustawiłam jako typ autonumber

-----edycja:

Format definiuje wyświetlanie pola anie to co jest faktycznie w nim zapisane...

Wiem, ale nadal nie rozumiem, dlaczego zatem mam problem, który opisałam.

I celowo nie chcę tworzyć formularza ;)
Michał Dziubek

Michał Dziubek Programista,
INFORM\'1

Temat: Klucz z jednej tabeli w innej - problem z formatowaniem

Danuta Muszyńska:
To wiem - w końcu pole numeryczne to numeryczne i koniec!
Tak to wcześniej zrobiłam, ale potem odkryłam, że generalnie mogę klucze obce umieścić tak, by pojawiała mi się lista wybieralna z wartościami, którym sa przypisane dane w innej tabeli i od razu w widoku relacji tworzyła sie odpowiednia relacja.

Chcesz zjeść ciastko i mieć ciastko;)
Skoro wiesz, że pole numeryczne to numeryczne i koniec to dlaczego
na siłę chcesz tam wstawić literał?
Jeżeli chcesz zrobić comboboxa w gridzie tabeli to użyj do tego
formularza w widoku arkusza danych (datasheet view) nie różni się
wyglądem od tabeli, a wtedy będziesz mogła osiągnąć swój cel.
Powtórzę jeszcze raz co innego jest wyświetlić 1 jako A1, a co innego jest
zapisanie A1 do pola numerycznego, dlatego combo pokazuje wartości zgodne z typem danych z tabeli 1
-----edycja:

Format definiuje wyświetlanie pola anie to co jest faktycznie w nim zapisane...

Wiem, ale nadal nie rozumiem, dlaczego zatem mam problem, który opisałam.

I celowo nie chcę tworzyć formularza ;)

Jak wyżej, jeżeli wybierzesz z comboboxa A1 to jet będzie chciał zapisać do pola numerycznego "A1" nie "1", stąd błędy o typie pola.
Tabele służą do przechowywania danych i dbanie o spójność danych (relacje).
Nie wymagaj, żeby rozwiązywały sprawy interface'u użytkownika, do tego służą formularze których celowo nie chcesz tworzyć;)
Danuta M.

Danuta M. Analityk

Temat: Klucz z jednej tabeli w innej - problem z formatowaniem

Michał Dziubek:
Danuta Muszyńska:
To wiem - w końcu pole numeryczne to numeryczne i koniec!
Tak to wcześniej zrobiłam, ale potem odkryłam, że generalnie mogę klucze obce umieścić tak, by pojawiała mi się lista wybieralna z wartościami, którym sa przypisane dane w innej tabeli i od razu w widoku relacji tworzyła sie odpowiednia relacja.

Chcesz zjeść ciastko i mieć ciastko;)
Skoro wiesz, że pole numeryczne to numeryczne i koniec to dlaczego
na siłę chcesz tam wstawić literał?

A bo uparta jestem - chyba za bardzo ;)

Chyba mi się trochę mózg przegrzał - dzięki za pomoc :)
Michał Dziubek

Michał Dziubek Programista,
INFORM\'1

Temat: Klucz z jednej tabeli w innej - problem z formatowaniem

Nie wiem jaki cel jest w nie budowaniu formularz, ale takie są początki.
Wytrwałości życzę.

Pozdrawiam
Danuta M.

Danuta M. Analityk

Temat: Klucz z jednej tabeli w innej - problem z formatowaniem

Michał Dziubek:
Nie wiem jaki cel jest w nie budowaniu formularz, ale takie są początki.
Wytrwałości życzę.

Pozdrawiam

Cel taki, żeby się jak najwięcej dowiedzieć ;) Lepiej pobłądzić i czegoś się z błądzenia nauczyć niż nie błądzić i niczego się nie nauczyć ;)
Michał Dziubek

Michał Dziubek Programista,
INFORM\'1

Temat: Klucz z jednej tabeli w innej - problem z formatowaniem

Czasem jednak warto pytać, po co wywarzać otwarte drzwi...



Wyślij zaproszenie do