14. oktober 2002 - 12:55Der 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 ?
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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.
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.
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...!?
<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 ???
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 ??
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 !!
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
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
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(
Synes godt om
Ny brugerNybegynder
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.