Avatar billede kjar75 Nybegynder
14. oktober 2002 - 12:55 Der er 12 kommentarer og
2 løsninger

Database går "hele tiden" ned :-(

Min *.mde database går jævnligt ned !!
Hvad går der galt...

Jeg har lavet en:
* back-end .mdb
* front-end .mdb
(data hentes fra back-end - sammenkædning af tabeller)
* front-end .mde
(.mde database fra front-end .mdb)

.mde database bliver benyttet af flere brugere..
På det sidste går .mde databasen jævnligt ned - den skriver "back-end database er ukendt format"..

Når jeg prøver at åbne back-end .mdb skriver den "Du eller en anden bruger har måske afsluttet MS Access uventet, mens en mdb var åben ! Skal MS Access forsøge at reparere databasen ?"

Hvorfor sker dette ?? Er det fordi, at jeg har skrevet i en tabel i back-end .mdb mens andre brugere har benyttet front-end .mde ???

Eller, kan det have noget med vores netværk at gøre ?
Avatar billede terry Ekspert
14. oktober 2002 - 14:00 #1
Normally it should be possible to write directly in th ebackend while others use the front end.

It will always be best if users exit the program correctly if they dont then errors CAN occur but from my experiance it is very seldom. It could be your network.
Avatar billede terry Ekspert
14. oktober 2002 - 14:02 #2
How many users are we talking about?
Avatar billede kjar75 Nybegynder
14. oktober 2002 - 14:06 #3
Der er tale om ca. 10-15 brugere !!!

Mit gæt er - at det er netværket som "fremtvinger" fejlen..

Vi har ikke længere office pakken installeret lokalt (på c-drevet) men kører programmer via en ekstern server...

Kan dette forårsage problemet ?
14. oktober 2002 - 14:12 #4
Det er klart at anbefale at hver bruger har deres egen front-end (.mde). Derved undgås mange af den type fejl, som du beskriver. Selvom det er backenden, som den 'brokker' sig over, er det som regel frontenden, som forårsager fejlen.
Men når hver bruger har frontend liggende lokalt, så opstår fejlene stort set aldrig.

/Thomas
14. oktober 2002 - 14:14 #5
Det er muligt at det samme gør sig gældende med selve Office-pakken. I 'gamle' dage var det mere normalt at man have office-programmet liggende på en server, som alle aktiverede. Men jeg ved ikke hvor stabilt det er, når man tænker på kompleksiteten af programmmer nutildags i forhold til for blot nogle år siden...!?
Avatar billede kjar75 Nybegynder
14. oktober 2002 - 14:27 #6
<thomas>
Dit svar ser meget interessant ud - i et større sammenhæng.. Vi har faktisk en del problemer med, at vores office programmer fra tid til anden "går ned" - hvilket skyldes, at de ligger på det nye netværk...

Mht access - kan man se, hvem der er skyld i fejlen - og dermed få en forklaring på, hvorfor den "går ned" ??

Når jeg kigger i log-filen, står der jo kun hvem som benytter mdb ???
14. oktober 2002 - 14:32 #7
du kan desværre ikke se hvem, som forårsager fejlen, og .ldb-filen viser kun hvem, som har været logget på siden alle brugere sidst var logget af.
Avatar billede kjar75 Nybegynder
14. oktober 2002 - 14:47 #8
Okay - så "bottom line" er altså

1) Nogle brugere, lukkere ikke mde. filen ordentligt
2) Eller - mde.filen er bare for sårbar idet den ligger på netværket og ikke lokalt (c-drev) - som man bare må lære at leve med ??

Løsning:
1) Omstrukturer netværket så programmer ligger lokalt
2) Evt. en "Luk program" knap - som SKAL benyttes !!???

Er det dét, som skal til for at får mde.filen til at køre stabilt igen ??
14. oktober 2002 - 15:08 #9
Lige præcis! Det er også Microsofts foretrukne model.
14. oktober 2002 - 15:15 #10
Når frontenden ligger lokalt, så kan den i princippet også hærges, som man vil. Man kan altid bare kopiere 'master'-frontenden ned lokalt igen.
Avatar billede kjar75 Nybegynder
14. oktober 2002 - 15:21 #11
Øøhh, ja det gør jeg også - men..

Jeg har ikke adgang master-frontenden, da backend mdb er beskadiget og skal repareres !!!
Mit problem er, at jeg ikke kan få adgang til min backend mdb før alle brugere afslutter mde-filen !!!

Og det kan vores netværk bare slet ikke finde ud af...
Selvom alle lukker ned - viser .ldb-filen, at alle stadig er på !!???

Ved du - hvordan man kan få adgang alligevel - dvs. smide andre brugere af systemet ???

Hvis jeg blot kan få adgang til backend.mdb og reparere den, er det til at leve med !!

Er dette muligt ??
14. oktober 2002 - 15:36 #12
NT/Win2000 kan tvinge en bruger til at slippe en fil, men jeg kan ikke huske hvordan.

Nedenstående kode kan fortælle dig hvilke brugere, som har fat i en Access-fil.

Koden kræver en reference til ADOX (MS ADO Ext 2.x for DLL and Security) og alm. ADO (MS ActiveX Data Object 2.x Library)

Public Function CountUsers(DatabaseSti As String) As Byte
    Dim cnn As ADODB.Connection
    Dim rst As ADODB.Recordset
    Dim intUser As Integer
    Dim fld As ADODB.Field
   
    'Const DatabaseSti = "E:\Dokumenter\Access 2000\Expenses.mdb"
   
    Const adhcUsers = "{947bb102-5d43-11d1-bdbf-00c04fb92675}"
   
    Set cnn = New ADODB.Connection
    cnn.Provider = "Microsoft.Jet.OLEDB.4.0;Data Source=" & DatabaseSti & ";User ID=Admin;Password=;"
    cnn.Open
   
    Set rst = cnn.OpenSchema(adSchemaProviderSpecific, , adhcUsers)
   
    With rst
        Do Until .EOF
            intUser = intUser + 1
            Debug.Print "User # " & intUser
            For Each fld In .Fields
                Debug.Print "  " & fld.Name & "=" & fld.Value
            Next
            .MoveNext
        Loop
    End With
    CountUsers = intUser
    rst.Close
    Set rst = Nothing
    cnn.Close
    Set cnn = Nothing
End Function

Koden bruges således:

Tryk Ctrl+G
Skriv:
?CountUsers("X:\Databaser\DinBackend.mdb")

Herefter listet brugerne i debug-vinduet (inkl. dig selv)
Avatar billede kjar75 Nybegynder
14. oktober 2002 - 15:55 #13
Det virker ikke... Kan ikke tage udtrykket "Dim cnn As ADODB.Connection"

Men hvis du kan finde ud af, hvordan NT/Win2000 kan tvinge en bruger til at slippe en fil - vil det være super :-))

Ellers mange tak for info / hjælpen ...
14. oktober 2002 - 17:14 #14
sOM sagt, skal du have en reference til de 2 nævnte biblioteker.
Fra VBA-editoren finder du det under:
Tools->References

Jeg har ikke mulighed for at undersøge NT-funktionaliteten :o(
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester