Błąd 3048, nie 3408

Anonimowe
2024-09-13T05:27:35+00:00

Jak pisałem w poprzednim pytaniu chodzi o blokowanie pracy w Accesie przez błąd 3048 (poprzednio popełniłem "czeski" błąd). Po uruchomieniu, program wykonuje wielokrotnie polecenia zawarte w modułach, w tym Set dbs=CurrentdB().

Jednak po jakimś czasie wyświetlany jest błąd: Run-time error '3048' Nie można otworzyć więcej baz danych. Po wybraniu 'debug' w module podświetlana jest linia: Set dbs = CurrentdB(). Podczas pracy używana jest tylko jedna baza danych - aktualnie otwarta. Dzieje sie to w Accesie działąjącym w ramach Aplikacje Microsoft 365 dla firm. Moduły w VBA napisałem sam przed kilku laty. Do niedawna wszystko działało. Proszę o jakieś sugestie.

Microsoft 365 i pakiet Office | Access | Do użytku biznesowego | Inne

Pytanie zablokowane. To pytanie zostało zmigrowane ze społeczności pomocy technicznej firmy Microsoft. Możesz zagłosować, czy pytanie jest pomocne, ale nie możesz dodawać komentarzy ani odpowiedzi, ani też śledzić pytania.

Komentarze: 0 Brak komentarzy

Odpowiedzi: 3

Sortuj według: Najstarsze
  1. Oskar Shon 49,336 Punkty reputacji Moderator wolontariuszy
    2024-09-15T08:28:11+00:00

    Sprawdź krokowo w którym miejscu kod się wywala i sprawdź lokalsy aby wiedzieć jakie dane lądują do zmiennych obiektowych lub dlaczego tam nie są przypisane (ścieżka, błąd czeski etc..). Jeśli migrowałeś bazę do nowej lub w nowej wersji używasz starą to nie wykluczone ze na tym polu jest błąd i musisz te kroki zrealizować. Może też być że jeśli łączysz się po ODBC to nazwa sterowania jest inna niż na innym komputerze (np angielska a nie PL), może nie masz referencji w projekcie... strzelam bo problem nie jest jednoznaczny.

    Tutaj znalazłem odpowiedź zaznaczoną jako poprawną: https://answers.microsoft.com/en-us/msoffice/forum/all/error-3048-in-access-2016/b107f62c-70a9-464c-babd-86e33618f558

    p.s.

    skoro poprzedni wątek miał błędy informacyjne to skasowałem (i tak nikt na niego nie odpowiadał).

    trzymaj się tego jeśli chcesz coś dodać, a jak uwagi były celne to zaznacz posta jako prawidłowy aby liczyć w przyszłości na moje wsparcie na forum.

    Pozdrawiam.

    Obraz

    Czy ta odpowiedź była pomocna?

    Komentarze: 0 Brak komentarzy
  2. Anonimowe
    2024-09-25T06:53:46+00:00

    Dzięki za podpowiedzi. Krokowo sprawdzałem kilkakrotnie działanie programu. Wszystko działało dobrze i odwołanie do aktualnie otwartej bazy było realizowane, Jednak po kilku przejściach, wszystko się zatrzymywało i wyświetlany był błąd 3048. Moduły te są wykorzystywane do obsługi bazy danych zawierającej płace pracowników. Podczas przechodzenia od pracownika do pracownika kilkakrotnie wywoływane są moduły, które wskazują aktualną bazę i otwierają w niej różne tabele i kwerendy pobierając odpowiednie dane do formularza głównego. Cały ten system stworzyłem samodzielnie przed około dziesięciu laty a teraz go tylko aktualizuję.

    CUD! Otworzyłem właśnie program i zaczął on normalnie działać. Przeszedłem kilka razy od początku do końca i z powrotem (wszystkich pracowników, jest ich 18) i wszystko działa. Nie rozumiem, czy coś ja zmieniłem podczas prób, czy może jakaś aktualizacja.

    Dzięki jeszcze raz za pomoc i wskazówki.

    Czy ta odpowiedź była pomocna?

    Komentarze: 0 Brak komentarzy
  3. Oskar Shon 49,336 Punkty reputacji Moderator wolontariuszy
    2024-09-25T09:42:28+00:00

    Może kiepskie łącze, może ponowna próba otwarcia bez przeczytania statusu połączenia, może inne zachowania komputera które minęły. Andrzej, skoro sam stworzyłeś rozwiązanie opierając się o kod, to dopisz funcie sprawdzającą dostęp do swojej bazy, reconnect jeśli zostało zerwane i pętlę opóźnienia jeśli za pierwszym razem się nie uda (np do 3 razy).

    Ja często dochodzę do swoich rozwiązań i je sukcesywnie rozwijam, aby z jednej strony nie stracić możliwości myślenia analitycznego, a z drugiej strony aby nowe elementy wciąż cieszyły oko i współpracowników/czy moich klientów.

    p.s.

    Jeśli sprawy nie ma to zamknij wątek na forum (wskazując prawidłową odpowiedź), abym mógł ci pomagać i podpowiadać w przyszłości.

    Pozdrawiam.

    Czy ta odpowiedź była pomocna?

    Komentarze: 0 Brak komentarzy