Elektroda.pl
Elektroda.pl
X
Serwerowe OpowieściSerwerowe Opowieści
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[VBA Access] - Połaczenie do bazy .mdb prze internet

11 Wrz 2012 17:37 4563 7
  • Poziom 11  
    Witam, chciałbym prosić o poradę w następującej kwestii. Tworzę aplikację na bazie excela, która korzysta z bazy danych w accesie (.mdb). Do tej pory poruszałem się w obrębie lokalnych dysków sieciowych w firmie. Moje połączenie z bazą wygląda tak:
    Kod: vb
    Zaloguj się, aby zobaczyć kod

    (Schemat, którego nauczył mnie kolega marcinj12, któremu jestem bardzo wdzięczny i go pozdrawiam, jeśli będzie miał okazję przeczytać tego posta).

    Czy jest możliwe aby umieścić bazę .mdb na stronie WEB i dostęp do niej następował poprzez tą stronę? Jak należałoby zmodyfikować powyższy kod?
    Próbowałem tak:
    Kod: vb
    Zaloguj się, aby zobaczyć kod

    Ale prawde mówiąc nie spodziewałem się powodzenia i tak właśnie było. Wiem z lektury gogli, bo oczywiście szukałem tam rozwiązania, że powinienem raczej iść w kierunku MySQL ale to dla mnie pole dopiero do odkrycia, dlatego proszę o odpowiedź czy można tak jak próbuję?
  • Serwerowe OpowieściSerwerowe Opowieści
  • Serwerowe OpowieściSerwerowe Opowieści
  • Poziom 11  
    Nie pochwaliłem się, że z angielskim u mnie tak sobie, nad czym ubolewam niestety. Ale dziękuje za odpowiedź, spróbuje z pownością postudiować to co mi podsunąłeś może uda mi się zrozumieć coś mądrego.

    Z tego co widzę to są to rozwiązania dotyczące SQL Serwer, czyli tak jak się zorientowałem wcześniej. Moje pytanie jest natomiast czy można inaczej?
  • Poziom 39  
    siwek62 napisał:
    Nie pochwaliłem się, że z angielskim u mnie tak sobie

    Nikt z nas nie jest rodowitym Anglikiem :), albo ja nie wiem o tym.

    Masz tutaj jeszcze jeden link:
    http://www.connectionstrings.com/sql-server-2008


    Przepraszam za wprowadzenie w błąd, ale baza MDB to Baza MS Access , a nie SQL Server.
    Upublicznienie bazy można jednak tak zrealizować (importując do SQL Server'a - np. w wersji Express).

    Gdyby kolega chciał obsługiwać bazę mdb przez interfejs WWW - to oczywiście można, ale trzeba go najpierw stworzyć.

    O udostępnianiu bazy mdb napisano tutaj: http://office.microsoft.com/pl-pl/access-help...ccess-w-sieci-mdb-informacje-HP005240860.aspx
    Jednak to dotyczy sieci lokalnej.
  • Poziom 40  
    siwek62 napisał:
    Schemat, którego nauczył mnie kolega marcinj12, któremu jestem bardzo wdzięczny i go pozdrawiam, jeśli będzie miał okazję przeczytać tego posta
    A dziękuję, dziękuję, okazja była :)

    Nie wiem czy dobrze rozumiem obecne pytanie - chcesz mieć dostęp do tej bazy danych przez przeglądarkę WWW, czy chcesz dalej używać Excela, tylko bazę umieścić gdzieś na ogólnie dostępnym serwerze? Jeżeli przez przeglądarkę, to kod piszesz np. w PHP, więc składnia jest inna niż ta w Excelu.

    Problem z tym drugim (Excel + Access przez sieć) polega na tym, że ponieważ jest to baza plikowa, to wykonując każde zapytanie do bazy, jest ona najpierw w całości pobierana przez sieć. O ile przy 100MBitowym połączeniu w sieci lokalnej problemu to nie stanowi, to wrzucenie czegokolwiek na serwer i pobieranie przez Internet robi się problematyczne, bo zależy od, zwykle o wiele niższej, przepustowości łącza... Orientacyjnie powiem, że tak przy 1 MB bazie już będzie widać irytujące opóźnienia, a przy 10 MB - praca będzie praktycznie niemożliwa..

    Także jeśli baza jest większa lub będzie rosnąć, lepiej zdecydować się na któryś z "normalnych" systemów bazodanowych - MySql jest chyba najczęściej hostingowany na różnych serwerach - więc może warto się przerzucić?

    Z tego co widzę, da się też zrobić wszystkie inne kombinacje: połączyć plik Excela z bazą przez Internet, połączyć stronę PHP z bazą Access na sieci (np. przez ODBC), a i bardzo możliwe że da się też połączyć PHP z MySQLem, który jest zlinkowany z bazą Accessa ;P
    Pytanie które rozwiązanie potrzebujesz??
  • Poziom 11  
    Spytatałem o upublicznienie bazy mdb ba takową stworzyłem i fajnie by było móc ją w pprosty sposób wykorzystać. Ale jeśli to wymaga super specjalnych zabiegów to chyba nie ma to sensu, i jest to dla mnie także cenna informacja, dzięki, nie będę tracił czasu na bezowocne poszukiwania.
    A swoją drogą może mógłbym liczyć na radę jak podejś do następującej kwestii.
    Chciałbym zrobić bazę danych, którą uzupełniałbym/modyfikował u siebie i do której miałby dostęp jakiś użytkownik w swojej siedzibie. Mógłby ją przeglądać, filtrować, może również modyfikować. Ważne żeby była to jedna baza z takimi samymi danymi u mnie i niego. Dostęp do danych wymyśliłem sobie, że będzie realizowany przez interfejs stworzony na bazie Excela. Takich użytkowników byłoby wielu, każdy miałby swoją bazę do której uzyskiwałby dostęp kożystając z loginu i hasła


    ps.
    Witam kolegę marcina, zacząłem pisać tego posta przed kolacją a skończyłem po, dlatego może wydawać się trochę nie na temat, nie widziałem twojej odpowiedzi. Ale w sumie w drugiej części jest wyjaśnione mniej więcej o co mi chodzi.
  • Poziom 39  
    siwek62 napisał:
    Spytatałem o upublicznienie bazy mdb ba takową stworzyłem i fajnie by było móc ją w pprosty sposób wykorzystać. Ale jeśli to wymaga super specjalnych zabiegów to chyba nie ma to sensu, i jest to dla mnie także cenna informacja, dzięki, nie będę tracił czasu na bezowocne poszukiwania.
    A swoją drogą może mógłbym liczyć na radę jak podejś do następującej kwestii.
    Chciałbym zrobić bazę danych, którą uzupełniałbym/modyfikował u siebie i do której miałby dostęp jakiś użytkownik w swojej siedzibie. Mógłby ją przeglądać, filtrować, może również modyfikować. Ważne żeby była to jedna baza z takimi samymi danymi u mnie i niego. Dostęp do danych wymyśliłem sobie, że będzie realizowany przez interfejs stworzony na bazie Excela. Takich użytkowników byłoby wielu, każdy miałby swoją bazę do której uzyskiwałby dostęp kożystając z loginu i hasła


    Kiedyś było coś takiego jak WebMatrix ( http://www.microsoft.com/web/webmatrix/ ) - robiło się interfejs Webowy kontrolkami takimi jak w Windows Forms w C#. Potem na serwerze "stawiasz" swoją bazę mdb, IIS (chyba od wersji 6 w górę) + sterowniki do bazy (Jet).
    Masz to, co chcesz zrobić. Proste i przyjemne programowanie "wizualno-kontrolkowe" WWW z dostępem do bazy danych.

    Oto banalny przykład takiej strony:
    http://www.w3schools.com/aspnet/showfile_c.asp?filename=try_webpages_cs_016
    A tutaj cały kurs : http://www.w3schools.com/aspnet/webpages_examples.asp

    Oczywiście wygląd w pełni definiowalny (w końcu to HTML).
  • Poziom 11  
    Widzę, że dobrze mnie zrozumiałeś. Właśnie coś takiego mi chodzi po głowie. Do tej pory korzystałem z vba w excelu i dlatego moje kombinacje poszły w kierunku jak mieć interfejs z kontrolkami które są typowe dla vb (i nie tylko, wiem o tym, ale innych języków nie znam) i bazę danych dostępną z różnych miejsc.
    Spróbuje wykorzystać to co mi podesłałeś.
    Jeśli są inne opcje to chętnie też o nich usłyszę. Przekonałem się bowiem, że czasami strach przed nowym wynika jedynie z nie znajomości tematu, a nie sądze że to co chciałbym zrobić wykracza poza wiedzę początkującego.