2012-06-11 14 views
5

Zrobiłem kilka formularzy w programie Access 2010 i dodałem logo firmy do formularza nagłówka. To zdjęcie ma rozmiar .jpg, a jego rozmiar to 70 KB. Nie wiem, dlaczego rozmiar pliku .mdb wzrósł natychmiast z 4 MB do 12 MB? (kilka formularzy i to samo logo) Może są jakieś opcje kompresji obrazu?Dlaczego rozmiar .mdb rośnie trzy razy z małym obrazem?

+1

Ktoś, kto ma w szczególności dostęp do programu Access 2010, powinien odpowiedzieć na to pytanie, ale w starszych wersjach programu Access obrazy nie były przechowywane w skompresowanym formacie, więc dodanie małego pliku JPG może znacznie zwiększyć rozmiar bazy danych. Czy próbowałeś kompaktować DB, aby sprawdzić, czy to miało znaczenie? – pstrjds

+0

Kompaktowanie niewiele się zmienia. W moim przypadku było to 12,4 MB, a teraz jest to 11,9 MB. – mathewM

+0

@pstrjds Nie jestem do końca pewien, jak to działa, ale mdb jest starszym formatem i podejrzewam, że jest przedmiotem problemu, który był problemem dla starszych wersji. Zastanawiam się, czy warto wypróbować format accdb? – Fionnuala

Odpowiedz

4

Zrobione z http://office.microsoft.com/en-us/access-help/store-images-in-a-database-HP005280225.aspx

... "Jednakże, umieszczenie zdjęć może szybko nadmuchać rozmiaru bazy danych i spowodować, że do uruchomienia powoli. Jest to szczególnie prawdziwe, jeśli sklep GIF i JPEG, ponieważ OLE tworzy dodatkowe pliki bitmapowe , które zawierają informacje ekranowe dla każdego z plików graficznych, i te dodatkowe pliki mogą być większe niż oryginalne obrazy. Ponadto, ta metoda obsługuje tylko mapy bitmapowe Windows (.bmp) i urządzenie niezależne Formaty plików graficznych Bitmap (.dib) .Jeśli chcesz do wyświetlaczy innych popularnych typów plików graficznych, takich jak GIF i JPEG obrazy, trzeba zainstalować dodatkowe oprogramowanie. "...

Aby wyjaśnić, jak te pliki są przechowywane bitmap, link poniżej oferuje więcej wyjaśnień niż microsoft stronie:

zaczerpnięte z http://www.ammara.com/support/kb/showkbe5cc.html

... "OLE Linking & Osadzanie to technika używana przez program Microsoft Access do magazynu 'Przedmioty' w technice tables.The bazy opiera się na zewnętrznej aplikacji zewnętrznej powiązanej z do przechowywania, prezentowania i edycji danych. W niektórych przypadkach dodatkowy nieskompresowany obraz "podglądu" jest również zapisany w tabeli (nawet podczas łączenia) . Ten obraz podglądu jest używany do szybszego wyświetlania danych lub gdy aplikacja serwera nie jest dostępna pod numerem . Może to spowodować ogromne obciążenie. Jeśli przechowywanie obrazów w formacie JPEG bez kompresji podgląd może być dziesięć lub dwadzieścia razy rzeczywista wielkość obrazu, powodując rozmiar bazy danych do rakiety. "...

Więc, kiedy spadnie na obraz formularz w MS Access, nieskompresowane dane obrazu są zapisywane w tabelach systemowych.To jest rzeczywiste nieskompresowane dane tabeli, więc kompaktowy i naprawy mogą zaoferować niewielką pomoc

Typowe obejście wydaje się przechowywać ścieżkę do obrazu w tabela bazy danych i użyj tej ścieżki, aby wywołać obraz w formularzu:

+1

dzięki za zmiany formatowania @EBarr! Teraz wygląda o wiele lepiej! – EastOfJupiter

+0

Cieszę się z usług ... po prostu przeglądam w czasie bezczynności. – EBarr

1

Nie wiem DLACZEGO (i nie mam re), ale już zauważyłem to zachowanie. Moim obejściem logo firmy lub odpowiednika jest wstawienie go w JEDNYM formularzu, który następnie wstawiam jako podformularz, gdziekolwiek go potrzebuję. Dodatkową korzyścią jest to, że jeśli logo zmieni się pewnego dnia, jest tylko jedno miejsce do aktualizacji.