Avatar billede hnto Nybegynder
07. april 2011 - 13:59 Der er 20 kommentarer og
1 løsning

smide brugere af

kan man ikke lave et script der kaster alle brugere af en database der bruges af flere personer i en organisation. ?
hvad er VBA kommandoen på dette ?
Avatar billede Slettet bruger
07. april 2011 - 14:06 #1
Nej, du kan fra en SQL server hvis du bruger sådan en til backend...

En brugt løsning er at have et opdateringsinterval på din database hvor du tjekker i en tabel. Du kan så ændre værdien i tabellen og så vil folk blive smidt af og med et tjek ved opstart kan du forhindre at folk kommer ind igen. Når du så er færdig ændrer du så værdien tilbage igen!~)
Avatar billede hnto Nybegynder
07. april 2011 - 14:30 #2
det jeg har brug for er at terminere eksisterende brugere, og nej den kører ikke SQL.
Avatar billede Slettet bruger
07. april 2011 - 14:52 #3
tja.. som sagt så kan du lave en tabel med et ja/nej felt og så hvis du har en formular, som kører altid ellers kan du lave en skjult formular og på den ligger du flg.

Private Sub Form_Open(Cancel As Integer)
On Error Resume Next
If DLookup("[JaNejSmidAfFelt]", "DinTabel") = True Then
DoCmd.Quit
End If
End Sub

Private Sub Form_Timer()
On Error Resume Next
If DLookup("[JaNejSmidAfFelt]", "DinTabel") = True Then
DoCmd.Quit
End If
End Sub

Så skal du bare sætte dit opdateringsinterval på formularen til eks. 60000 (1 minut!~)

Du laver så en database, som linker til tabellen hvor du kan skifte ja/nej.. ellers kan du ikke selv komme ind!~)
Avatar billede hnto Nybegynder
07. april 2011 - 14:55 #4
ved docmd.quit er det vel kun min applikation der lukker og ikke de andre brugeres som jeg ser scriptet.

jeg vil gerne kaste en "ekstern" bruger af databasen
Avatar billede mugs Novice
07. april 2011 - 15:02 #5
Der ligger en kode og flyder et eller andet sted med en eksempeldb der hedder "kick em off". Har ikke tid til at søge nu, men se på dette link:


http://www.google.dk/#hl=da&source=hp&biw=1020&bih=596&q=kick+em+off&btnG=Google-s%C3%B8gning&aq=f&aqi=&aql=&oq=kick+em+off&fp=a66efe593caa160a
Avatar billede Slettet bruger
07. april 2011 - 15:06 #6
mit forslag skal implementeres i databasen, så du fremover kan styre det og det er sikkert også det, som mugs's eksempel gør!~)

Jeg er nød til at smutte, held og lykke....
Avatar billede hnto Nybegynder
07. april 2011 - 15:19 #7
ahr selv fundet det som mugs henleder på men kan ikke heklt tyde hvor meget af scriptet der skal med.

Dim RetVal As Integer
Dim db As DAO.Database
Dim rst As Recordset
On Error GoTo Err_fGGO
Set db = DBEngine.Workspaces(0).Databases(0)
Set rst = db.OpenRecordset("KickEmOff", dbOpenSnapshot)
If rst.EOF And rst.BOF Then
RetVal = True
GoTo Exit_fGGO
Else
If rst!GetOut = True Then
  'This is where you close down any forms, and quit the database
  'I leave this section as an exercise in creativity
  Application.Quit
Else
  RetVal = True
End If
End If
Exit_fGGO:
fGetOut = RetVal
Exit Function
Err_fGGO:
'Note lack of message box on error
Resume Next

jeg mener jo kun det er:

Dim RetVal As Integer
Dim db As DAO.Database
Dim rst As Recordset
On Error GoTo Err_fGGO
Set db = DBEngine.Workspaces(0).Databases(0)
Set rst = db.OpenRecordset("KickEmOff", dbOpenSnapshot)
If rst.EOF And rst.BOF Then
RetVal = True
GoTo Exit_fGGO
Else
If rst!GetOut = True Then
  'This is where you close down any forms, and quit the database
  'I leave this section as an exercise in creativity
  Application.Quit
Else
  RetVal = True
End If
End If
Exit_fGGO:
fGetOut = RetVal
Exit Function
Err_fGGO:
'Note lack of message box on error
Resume Next
Avatar billede Slettet bruger
07. april 2011 - 22:05 #8
..jeg kan ikke se forskel på de 2 eksempler!~)
Avatar billede Slettet bruger
07. april 2011 - 22:35 #9
koden gør det samme med at slå op i en tabel "KickEmOff" for at se om et felt "GetOut" er sat til true. Hvis det er tilfældet, så.. application.quit

...men igen... denne kode ligger du ind i din database og så skal den køres med jævne mellemrum og på den måde kan du ved at ændre i tabellen (backend) få programmet (frontend) til at lukke!~)
Avatar billede hnto Nybegynder
08. april 2011 - 08:35 #10
det gik lidt stærkt... :-)

jeg mener kun det er følgende jeg har brug for. Kan ikke se hvorfor der skal være tjek på de andre parametre.

Set db = DBEngine.Workspaces(0).Databases(0)
Application.Quit
Avatar billede Slettet bruger
08. april 2011 - 09:31 #11
..jeg tror du stadig forsøger at lukke med et "script" ude fra... det kan du ikke...
Avatar billede hnto Nybegynder
08. april 2011 - 10:17 #12
jeg vil køre det fra den database der åben og ligge det heri.
Avatar billede Slettet bruger
08. april 2011 - 11:38 #13
ok og du er klar på at det kun virker for den enkelte instans af access!~)
Avatar billede hnto Nybegynder
08. april 2011 - 11:40 #14
definer venligst "instans" :-)
Avatar billede Slettet bruger
08. april 2011 - 12:19 #15
hvis vi sidder 2 i den samme database og du fyrede .quit af så vil det kun være din "instans" som lukker, jeg vil stadig være i databasen..
Avatar billede hnto Nybegynder
08. april 2011 - 12:23 #16
ja det duer ikke....alle skal smides af :-(

Jeg tager lige en anden drejning istedet.
Kunne man ikke lave det sådan at brugere skulle logge sig ind i dtabasen når den åbnede, og så får en oversigt over de brugere der var på hvis den skulle lukkes ned for service.

Det må da kunne lade sig gøre. skal jeg formuldere denne i nyt spørgsmål eller ?

har ikke prøvet at lave det med decideret login før og skal derfor have hele koden til dette.
Avatar billede Slettet bruger
08. april 2011 - 12:33 #17
..jeg laver lige et hurtigt eksempel!~)
Avatar billede Slettet bruger
08. april 2011 - 12:34 #18
ikke på det med login, men på eksemplet med at få folk smidt af!~)
Avatar billede Slettet bruger
08. april 2011 - 13:53 #19
nåh... jeg blev lige afledt, men på www.parodux.com under gratis er der nu et eksempel til download!~)
Avatar billede hnto Nybegynder
08. april 2011 - 14:14 #20
øh det kan jeg ikke finde på din side... der er kun de vante du har der.

hvad har du kaldt den ?
Avatar billede Slettet bruger
08. april 2011 - 14:19 #21
måske skal du genopfriske siden... den ligger øverst på gratis siden..
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