logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[Rozwiązano] Autonumerowanie ID w formularzach Accessa - błąd duplikacji pierwszego rekordu

groszek675 28 Paź 2021 11:13 825 7
REKLAMA
  • #1 19678321
    groszek675
    Poziom 9  
    Posty: 33
    Ocena: 1
    Dzień dobry,

    Mam problem z formularzem w Accessie.
    Chcodzi o to, ze mam utworzone tabele sklepu internetowego. Sama baza w accessie ma mi pomóc w prowadzeniu tego.
    Tabele przedstawiają klientów, towary, przewoźników, zamowienia. Do kazdej tabeli utworzony jest formularz do wprowadzania rekordów. Problem polega na tym, ze formularz do tabeli towary i klienci ma nadawać ID z kolumny Identyfikator, ktorem ma ustawione autonumerowanie.
    Formularz po uruchomieniu bazy tworzy najpierw wiersz na ID numer 1, potem przeskakuje na kolejny w kolejności zgodnie z ilością wierwszy w tabeli. Zawsze po uruchomieniu jest to tak zrobione, ze 1 wierwszy sie zduplikuke, kolejne idą już poprawnie.
    Chcialbym, żeby po uruchomieniu bazy danych w formularzu byla zawarta nie pozycja z ID numer 1, a kolejne, ktore przypada - na którym skończyłem dodawanie.
  • REKLAMA
  • #2 19678352
    marzatela
    Poziom 15  
    Posty: 99
    Pomógł: 27
    Ocena: 26
    Trudno Ci coś odpowiedzieć bez wiedzy jak zbudowany jest ten formularz. Co jest źródłem danych formularza? Jak dokonujesz zapisu danych?
    Pomogłem? Kup mi kawę.
  • REKLAMA
  • #3 19678380
    groszek675
    Poziom 9  
    Posty: 33
    Ocena: 1
    Cześć, załączam moj plik do wgladu.
    Załączniki:
    • database.7z (43.25 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #4 19678535
    marzatela
    Poziom 15  
    Posty: 99
    Pomógł: 27
    Ocena: 26
    Patrzę na ten plik i zupełnie nie pasuje mi opis w poście do tego, co widzę.
    Formularze masz oparte bezpośrednio o tabele. Pole ID to autonumerowanie więc nie da się tu nic wstawić - kolejny numer jest nadawany automatycznie, zwiększając wartość o 1. Nawet jeżeli usuniesz wszystkie rekordy - to nowe rekordy nie będą się liczyć automatycznie od 1, tylko numeracja będzie kontynuowana.
    Przechodząc do nowego rekordu w formularzu i wypełniając poszczególne pola - automatycznie i od razu tworzony jest rekord w tabeli z nadanym automatycznie numerem ID. Przycisk Zapisz niczego nie zapisuje - jest to przejście do nowego rekordu.
    Pamiętaj też o tym, że wpisując cokolwiek w formularzu, od razu zapisujesz to w tabeli (i na dysku). Z Accessa nie da się tak jak z Excela wyjść bez zapisania i wrócić do stanu przed wejściem do pliku.
    Pomogłem? Kup mi kawę.
  • #5 19678717
    PRL
    Poziom 41  
    Posty: 6921
    Pomógł: 953
    Ocena: 899
    Cytat:
    Nawet jeżeli usuniesz wszystkie rekordy - to nowe rekordy nie będą się liczyć automatycznie od 1, tylko numeracja będzie kontynuowana.

    Można ponumerować pole klucza od 1, ale to i tak nie ma tutaj znaczenia.

    Autorze, zostaw pole identyfikatora w spokoju.
    Jeżeli potrzebujesz pola z identyfikatorem z tabeli sklepu, to musisz to zrobić kodem.

    Kiedyś napisałem aplikację do obsługi xt commerce, ale u mnie sprawa polegała na imporcie z MySqla do Akcesa i dalej obróbka zamówień z poziomu bazy Akcesa.

    Autonumerowanie ID w formularzach Accessa - błąd duplikacji pierwszego rekordu
    Dzięki importowi nie muszę być non stop połączony ze sklepem i wszystko sobie robie po swojemu - bez ograniczeń sklepu.
    Pomogłem? Kup mi kawę.
  • #6 19679031
    groszek675
    Poziom 9  
    Posty: 33
    Ocena: 1
    Może nie wysłowiłem się do końca jasno..

    Chodzi mi o to, że po uruchomieniu accessa przy dodawaniu nowego elementu nie widnieje ID, na którym skończyłem tylko jest za każdym razem "1". Po nadpisaniu 1 wiersza w tabeli "towary" przy pomocy formularza pojawia się kolejny już poprawny w kolejności.
    Załączam zrzuty ekranu, żeby było jasne.
    Oczywiście nie jest dla mnie jakimiś ogromnym problemem posiadanie pierwszego wiersza pustego, ale po prostu nie chcę o tym pamiętać, że za każdym razem muszę najpierw nadpisać pierwszy wiersz, a potem dodawać poprawne.

    https://obrazki.elektroda.pl/4118333600_1635439502.png

    https://obrazki.elektroda.pl/9351907800_1635439504.png
  • #7 19679052
    PRL
    Poziom 41  
    Posty: 6921
    Pomógł: 953
    Ocena: 899
    Pole ID nie jest dla Ciebie znaczące. Masz je pominąć w swoim projekcie.
    Proponuję wygooglać coś o podstawach baz danych.
    Pomogłem? Kup mi kawę.
  • REKLAMA
  • #8 19969581
    groszek675
    Poziom 9  
    Posty: 33
    Ocena: 1
    Przedawnione, zamykam.

Podsumowanie tematu

✨ Użytkownik zgłasza problem z formularzem w Microsoft Access, który automatycznie przypisuje ID do rekordów. Po uruchomieniu bazy danych, formularz zawsze zaczyna od ID numer 1, co prowadzi do duplikacji pierwszego rekordu. Użytkownik pragnie, aby formularz po uruchomieniu pokazywał ostatnie używane ID, a nie zawsze zaczynał od 1. Odpowiedzi wskazują, że pole ID jest ustawione na autonumerowanie, co oznacza, że nie można go ręcznie zmieniać. Użytkownik powinien zignorować pole ID w swoim projekcie i skupić się na innych aspektach formularza.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA