vbamania.pl
login:
hasło:
 
  *Rejestracja *Zapomniane hasło
 Dziś jest sobota, 18 maja 2024 roku.
Ustaw jako stronę startową Ulubione Napisz
PowrótPowrót do serwisu  RegulaminRegulamin rssRSS

  tytuł wątku:
Wątki dyskusji

Access -tryb otwarcia


otwartyotwarty rozpoczął: Rusek postów: 5



napisał: Rusek
postów: 6


umieszczony:
6 listopada 2006
18:12

  
Sprawdziłem, na moim kompie plik "baza.ldb" pojawia się zawsze, niezależnie od trybu, w jakim otwieram "baza.mdb"
napisał: Rusek
postów: 6


umieszczony:
6 listopada 2006
17:42

  
Dzięki jalamas, ale chyba nie o to mi biega.
Spróbuję rozjaśnić problem bardziej precyzyjnie.
Zwykła baza danych, plik "baza.mdb" jest umieszczony na komputerze sieciowym.
Kilku niezbyt doświadczonych użytkowników z swoich komputerów mozolnie uzupełnia tam dane w wcześniej utworzonych rekordach.
Chodzi mi o to, by zmusić userów, by otwierali bazę w trybie na wyłączność.
Wtedy edytowane rekordy są od razu zablokowane do edycji dla innych userów.
W tym celu chcę wyczaić, ( najlepiej chyba w "Form_Load") w jakim trybie user otwarł bazę, i jeśli otwarł w innym trybie, niż na wyłączność, poinformować go o tym stosownym komunikatem i ewentualnie zablokować rekordy do edycji.
Nie chodzi tu wcale, czy ktoś inny korzysta z bazy, bo to nikomu nie przeszkadza(no chyba że edytuje rekordy , ale temu ma zapobiec otwieranie do edycji w trybie na wyłączność).
PS. W Access'ie programuję trochę "na czuja", bo to nie moja dziedzina ( stąd pytania na Forum), o recordsetach i innych obiektach bazy danych mam oczywiście pojęcie, ale raczej blade i naprawdę nie wiem co to "back-end". Gdyby tak trochę jaśniej, to chętnie się czegoś nauczę.
napisał: jalamas
postów: 316


umieszczony:
6 listopada 2006
13:15

  
Przepraszam za te znaczki w tekście, ale naprawdę nie wiem
jak się poprawia własne posty.....
napisał: jalamas
postów: 316


umieszczony:
6 listopada 2006
13:12

  
Pytanie zdane nieprecyzyjnie…..co znaczy Accessa ???????????????
Nie wiem czy chodzi Ci o to czy jakiś inny user otworzył back-end w trybie wyłączności?
Gdy brak pliku ldb może to oznaczać, że baza nie jest otwarta lub otwarta na wyłączność….
Istnienie pliku ldb, nie zawsze też świadczy o tym, że baza jest otwarta,
Może być wynikiem jakiejś „katastrofy”..
Pisze o tym, aby wytłumaczyć dlaczego nie sprawdzam tego pliku….
Proponuję tak (to toporna metoda, lecz chyba skuteczna):
Private Sub kontrola()
    On Error GoTo kontrola_Error

    Dim db As DAO.Database
    Set db = DAO.OpenDatabase(scbaza, , False)
kontrola_Exit:
    On Error Resume Next
    db.Close
    Set db = Nothing
    Exit Sub
kontrola_Error:
    If Err.Number = 3045 Then
        MsgBox "Baza w użyciu"
        End If
    Resume kontrola_Exit
End Sub


Gdzie scbaza położenie back-end.

Lecz zazwyczaj we froncie „na wejściu” otwiera się na stałe malutki Recordset,
(OpenRecordSet) z back-endu z niczym najczęściej niezwiązany by sprawdzić
połączenie, a także ewentualnie czy back jest tam gdzie powinien być itp…
Ewentualnie poprosić usera o wskazanie nowego położenia, a także relinkować tabele.
I tu jest odpowiedź…..też.

Nie wiem jak jest u Ciebie….
napisał: Rusek
postów: 6


umieszczony:
5 listopada 2006
15:51

  
ACCESS 2000 i nowsze.
Jak programowo można odczytać tryb otwarcia Access'a ?
Czy jest otwarty z wyłącznością? (baza jest na sewerze.)
Dla innych trybów chciałbym zablokować możliwość edycji.


<-wstecz  1  dalej->
wszystkich stron: 1


Sortuj posty: z