MS ACCESS - Ładowanie danych do formularza, wyszukiwanie.

0

Okej, kolejny problem, z którym przychodzę. A mianowicie jaki jest stan rzeczy: posiadam ja sobie jakiś formularz, którego wygląd będzie przedstawiony na screenie. I generalnie jeśli się go po prostu włączy, to numer projektu jest zablokowany, a całą resztę można wypełnić. Jeżeli klikniemy "Edytuj wpis" to zablokują się wszystkie pola, a do wpisania będzie tylko numer projektu. Kiedy wpiszemy numer projektu, to po kliknięciu kolejnego przycisku mają pobrać się dane przypisane do tego numeru. Wszystko jest w jednej tabeli, nie ma żadnych dziwnych powiązań. Mają się po prostu załadować dane do formularza - nie mam pomysłu za bardzo jak to zrobić. Mam na myśli to, że makrem raczej tego nie zrobię, kwerendę... Wiem jak zrobić proste zapytanie sql pobierające wszystkie dane, ale chciałbym je umieścić do odpowiednich pól - jakieś podpowiedzi?

1

Zastanów się nad działaniem aplikacji, bo wcześniej czy później dojdziesz do etapu, że użytkownik chciałby widzieć wszystkie projekty na liście lub mieć podgląd do wyboru numeru, bo przy wielu numerkach może zwyczajnie nie pamiętać numerów, normalnie:

Formularz z listą i klikiem do edycji/nowego rekordu, pobierz sobie przykładową aplikacje np. projekty i zobacz jak to jest tam rozwiązane.

W twoim przypadku po wpisaniu numeru musisz:

  1. sprawdzić czy masz taki numer, jeśli nie to dać komunikat.
  2. Ustawić filtr formularza na wpisany numer

Słabe to jest pod tym kątem, że będąc na formularzu powiązanym z danymi zawsze jesteś na jakimś rekordzie: nowym czy istniejącym. więc jeżeli ktoś Ci wpisze poszukiwany numer do edycji, to musisz przed przejściem do tego rekordu wrócić do poprzedniej wartości, bo ta Ci się zmieni. Bezpieczniej już będzie wstawić niezwiązany texbox i tam wpisywać poszukiwany numer.

0

@Panczo: Aplikacja ma właśnie w ten sposób działać. Mam na myśli to, że właśnie użytkownik będzie miał zawsze przypisany numer; pod względem hm... Gramotności wpisującej osoby nie myśl. Rozumiem, że chcesz pomóc, ale w sumie nie wiem o jakim przykładzie mówisz, w sensie jaki projekt to raz, a dwa - nadal nie wiem za bardzo w którym kierunku iść.

0

Projekty, mam na myśli gotowe szablony aplikacji dla MsAccess: https://support.office.com/pl-pl/article/wybieranie-i-używanie-szablonu-programu-access-af07ed69-4f06-413b-a74e-95a60db7af40

Ja też nie wiem w która strone masz iść, screen który pokazujesz ma formularz powiązany z danymi, ty za pomocą pola numer_projeku chcesz edytować/szukać wartości.
Powiedzmy, że masz w tabeli 2 numery 1 i 2 użytkownik jest na 2 i chce przejść do 1

  1. Klika edytuj wpis
  2. wpisuje 1 w numerze
  3. Klika załaduj
  4. Aplikacja przechodzi do rekordu z 1, ale w czasie przechodzenia ZAPISUJE wartość 1 w numerze, teraz albo dostaniesz błąd klucza (jeżeli numer projektu jest PK) albo będziesz miał w bazie dwie 1 i stracisz 2.

Najprościej:

Stwórz osobne niezwiązane pole do przechodzenia do numeru i przycisk który ustawi właściwość filter formularza (https://docs.microsoft.com/en-us/office/vba/api/access.form.filter(property))

0

Albo ja czegoś w Accessie nie rozumiem, albo my nawzajem się nie rozumiemy. W każdym razie - stworzyłem zupełnie testową bazę danych, którą załączam do mojego wpisu. Baza jak wygląda można sobie zobaczyć we jej wnętrzu - sytuacja jest dokładnie odwzorowana, dlatego podwójne ID nie jest błędem - ID klasyczne nadawane przez Accessa niech sobie jest, ja generalnie potrzebuję drugie utworzone ID. I po kliknięciu w formularz działa funkcjonalność dodawania formularza. I mi się rozchodzi o taką funkcjonalność, w której użytkownik wpisze to nasze ID i kliknie wczytaj i wszystkie dane dotyczące tego ID zostaną wczytane - nie przejmuj się, że się będą duplikować czy inne, na potrzeby tej bazy wszystko jest okej.

@Panczo

1 użytkowników online, w tym zalogowanych: 0, gości: 1