Wstawianie połączonych obrazów w rekordach formularza

Wstawianiu obrazów w obrazach poświęcona jest notka:
Wstawianie obrazów w formularzu
Opisany tam jest jednak sposób do wstawiania obrazów „stałych”, identycznych dla każdego rekordu, a więc przeznaczonych raczej dla części wspólnych formularza np.nagłówka czy stopki. Chcąc uzależnić wyświetlany obraz od aktualnego rekordu konieczne jest jego powiązanie z źródłem danych formularza. 

Załóżmy, że mamy tabelę o takim układzie danych:

W kolumnie Foto oczywiście może być zamieszczony pełna nazwa pliku (czyli wraz z pełną ścieżką), ale ja stosuję w swoich projektach metodę bardziej elastyczną, umożliwiającą przeniesienie całości na inny komputer czy też do innej lokalizacji. bez konieczności aktualizacji adresów w tabeli.  
Najczęściej przyjmuję tu zasadę, że katalogiem nadrzędnym jest katalog, w którym znajduje się aplikacja Access. Tworzę w nim folder FOTO (i ewentualnie w nim podkatalogi) i tam umieszczam zdjęcia czy też inne pliki połączone. 

W praktyce wygląda to tak. 
W formularzu , dla którego źródłem danych jest tabela jw. wstawiam formant Obraz i w arkuszu  właściwości jako źródło danych wskazuję Kreatora wyrażeń:

kliknij, aby powiększyć

W kreatorze wyrażeń przechodzę do Funkcje –> Biblioteka(to nazwa moje aplikacji) i z modułu ModuleFunctionPUB wybieram funkcję AdresSG()> 

W module ModuleFunctionPUB mam zapisaną funkcję zwracającą adres bieżącej aplikacji Access. Wygląda ona tak: 

Public Function AdresSG()
’Adres folderu, w którym znajduje się aktualna aplikacja Access
AdresSG = CurrentProject.Path
End Function

Dokładam do tego fragment do podkatalogów, a następnie z pól formularza wybieram Foto czyli nazwę pliku obrazu:

Finalnie – źródłem danych dla tego formantu jest wyrażenie: 
=AdresSG() & „\Foto\Kategorie\” & [Foto]

Efekt końcowy wygląda tak:

Dla każdego rekordu jest widoczne przypisane do niego zdjęcie. Po przeniesieniu w inne miejsce, jeżeli zostanie zachowany ten sam układ katalogu – nie trzeba zmieniać żadnych linków, gdyż funkcja sama zlokalizuje na dysku położenie obrazu. 

      •  

 

 

 

Wstawianie obrazów w formularzu

Obraz do formularza wstawiamy tak jak wszystkie formanty –  
z grupy Formanty na karcie Projekt

kliknij, aby powiększyć

Jeżeli zaznaczony jest przycisk Użyj kreatorów kontrolek – automatycznie otwory się folder do wskazania pliku graficznego, który chcemy wstawić. 

kliknij, aby powiększyć

Formant Obraz, tak jak każdy z obiektów Accessa, ma swój Arkusz właściwości, gdzie ustawiamy wszystkie jego właściwości.  

Najważniejsze z właściwości to:

    • typ obrazu
kliknij, aby powiększyć

Są tu 3 opcje:

        • osadzony
          obraz jest zapisany w formularzu
        • połączony
          obraz jest ładowany z pliku (wymagana jest tu pełna ścieżka do pliku), po przeniesieniu w inne miejsce – nie będzie wyświetlany.
          Zajmuje mniej miejsca niż obraz osadzony, ale wymaga stałego połączenia z plikiem źródłowym.
        • udostępniony
          obraz jest współdzielony pomiędzy różnymi formularzami/raportami. 
          Najczęściej stosuje się do wstawiania logo jednakowego w różnych miejscach, pozwala na łatwą podmianę i jednocześnie zmniejsza wielkość bazy
    • tryb zmiany obrazu
kliknij, aby powiększyć

Właściwość ta decyduje, w jaki sposób wpasować obraz do wielkości formantu. Ma to duże znaczenie, gdyż raczej rzadko rozmiar formantu jest taki sam jak wielkość wstawianej grafiki. 

Są tu 3 opcje:

        • Obetnij
          jeżeli obraz jest większy niż formant w formularzu, widoczny będzie tylko jego fragment
kliknij, aby powiększyć
        • Rozciągnij
          rozmiar obrazu jest zmieniany do wielkości formantu. Zmiana proporcji może spowodować zniekształcenie
          kliknij, aby powiększyć
        • Powiększ
          obraz jest dopasowany do wielkości formantu, ale z zachowaniem oryginalnych proporcji
          kliknij, aby powiększyć
    • wyrównanie obrazu
kliknij, aby powiększyć

dostępne możliwości:
 – lewe górne
 – prawe górne
 – środkowe
 – lewe dolne
 – prawe dolne

Pozostałe właściwości i metody są standardowe, jak w przypadku innych formantów formularza.
Warto jednak pamiętać, że ten sposób wstawiania obrazu jest stosowany głównie w nagłówkach czy stopkach czy formularzach niezwiązanych.  Chcąc uzależnić obraz od aktualnego rekordu – stosuje się inne metody.