Marek A.

Marek A. Specjalista ds.
Zarządzania Środkami
Trwałymi i Umowami
w...

Temat: Access 2003 - Wybieranie ostatniego wpisu

Witam,

Mam tabelę w bazie składającą się z następujących pól NR RACHUNKU, DATA WPISU, KOMENTARZ1, KOMENTARZ2, KOMENTARZ3 (niestety nie ma pola z kluczem podstawowym, a tabela jest na tyle obszerna, że access się wykrzacza przy próbie dodania).
Moim celem jest wybranie wszystkich ostatnich wpisów przy danych rachunkach, tak aby numer rachunku się nie powtarzał. Próbowałem za pomocą 2 kwerend, 1 która grupuje nr rachunku i wybiera wartość maksymalną z pola "DATA WPISU", następnie za pomocą drugiej kwerendy łączyłem dane z tabeli bazowej po polach "NR RACHUNKU" i "DATA WPISU" i wszystko byłoby pięknie, gdyby nie fakt, że były dokonywane np. do jednego rachunku w ciągu jednego dnia 4 wpisy.

Pole "data wpisu" jest w formacie daty krótkiej "rrrr-mm-dd", a wpisy w polach "komentarz1","...2","...3" mogą być różne dla danego rachunku.

Wcześniej radziłem sobie na mniejszej tabeli (ok. 30 000 rekordów) eksportując ją do Excela i tam robiąc test na duble, niestety nie wiem jak sobie z tym poradzić w Accessie. Byłbym wdzięczny za każdą pomoc :)

konto usunięte

Temat: Access 2003 - Wybieranie ostatniego wpisu

możesz dodać kolumnę z id i autonumerowaniem + ustawić to jako klucz główny?
Marek A.

Marek A. Specjalista ds.
Zarządzania Środkami
Trwałymi i Umowami
w...

Temat: Access 2003 - Wybieranie ostatniego wpisu

Przemysław R.:
możesz dodać kolumnę z id i autonumerowaniem + ustawić to jako klucz główny?

No właśnie nie da się, bo jak pisałem Access się wywala przy tej ilości rekordów.

konto usunięte

Temat: Access 2003 - Wybieranie ostatniego wpisu

zrób kwerendę wybierającą, zaznacz 5% danych, zamień na kwerendę tworzącą tabelę
uruchom
dodaj pole id/ autonumeracja + klucz główny
zapisz kwerendę
skasuj dane z utworzonej tabeli
zrób defragmentację bazy
otwórz zapisaną kwerendę i zmień typ na dołączającą dane
zmień ilość danych na wszystkie
uruchom kwerendę
zmień nazwę tabelę źródłowej na inną np. dodaj old
zmień nazwę utworzonej tabeli na nazwę tabeli źródłowej

w tym momencie jesteś szczęśliwym posiadaczem klucza głównego
Tomasz J.

Tomasz J. finanse,
rachunkowość,
podatki,
raportowanie

Temat: Access 2003 - Wybieranie ostatniego wpisu

zawartosc bazy nawet nie ma warunku zeby cos takiego zrobic, bo najzwyczajniej na swiecie tej informacji w tej bazie nie ma.
jesli dobrze zrozumialem - nawet sam przeglądając tę bazę nie jestes w stanie okreslic dla 4 wpisow pod tą samą datą który był ostatni?
jak przeformatujesz pole daty na date z godziną ostatnio za pomoca max uda sie wybrac.

ps co do klucza - to moze wysypuje sie bo nie ustawiasz na unikalnym polu (pewnie wiesz ale - access pozwala ustawic klucz na kilku polach jednoczescnie- kazde indywidualnie moze sie powatarzac, ale kombinacja kilku naraz juz nie)
Marek A.

Marek A. Specjalista ds.
Zarządzania Środkami
Trwałymi i Umowami
w...

Temat: Access 2003 - Wybieranie ostatniego wpisu

Ustawiałem na unikalnym polu :) Rozwiązanie Przemka bardzo mi pomogło i ustawiłem klucz, ale nadal mam problem z usunięciem wpisów z jednego dnia. I zdaję sobie sprawę, że jeżeli nie mam dokładnej godziny przy dacie to nie wybiorę ostatniego wpisu. Zresztą nie jest dla mnie istotne który wpis w danym dniu był ostatni, tylko chciałbym wybrać jeden z tego dnia.

Nie rozumiem tylko, dlaczego jak sobie tą bazę sortuję i dodam rekordy do tabeli z autonumerowaniem, to Access nadaje im numery i tak losowo, a nie w kolejności jakiej były posortowane :/

konto usunięte

Temat: Access 2003 - Wybieranie ostatniego wpisu

do wybrania ostatnio wprowadzonej wartości możesz użyć funkcji "Ostatni" grupujesz po wybranej kolumnie z użyciem tej funkcji.



Wyślij zaproszenie do