Forums Neueste Beiträge
 

Re: Benutzergruppe als abfragebedingung

13/11/2007 - 15:11 von Tobias Demmer | Report spam
das als Modul geschrieben :

Function AlleGruppenVonCurrentUser() As String

Dim strGruppe As String
Dim wspDieser As DAO.Workspace
Dim grpDiese As DAO.Group

Set wspDieser = DBEngine.Workspaces(0)
For Each grpDiese In wspDieser.Users(CurrentUser()).Groups
strGruppe = strGruppe & ", " & grpDiese.Name
Next
AlleGruppenVonCurrentUser = Mid(strGruppe, 3)
End Function

und das in extra Spalte in der Abfrage:
SELECT *
FROM Geràtetràger
WHERE (((InStr(AlleGruppenVonCurrentUser(),
[Gruppe])>0)=True));

Beim Versuch zu speichern dann folgende Fehlermeldung .

Die Unterabfrage in diesem Ausdruck hat eine fehlerhafte Syntax.
Prüfen Sie die Syntax der Unterabfrage, und setzen Sie die Unterabfrage
in Klammern .

Also für meinen Geschmack reichen die Klammern dicke ( aber das sieht
Access offensichtlich etwas anders .
Ich weiss ich stelle mich etwas dàmlich an , aber mit SQL Abfragen
stehe ich genauso auf Kriegsfuß .


MfG Tobias
Es braucht die Rechenpower eines Pentium IV, 256MB RAM und 10GB
Festplattenspeicher, um Windows XP halbwegs laufen zu lassen.
Es brauchte die Rechenpower von drei C64, um zum Mond zu fliegen.
Irgendetwas stimmt mit unserer Welt nicht...

Auch die "Großen" irren sich ja öfter mal:
Bill Gates (1981): "Nobody will ever need more than 640k RAM!"
Bill Gates (1996): "Windows 95 needs at least 8 MB RAM."
 

Lesen sie die antworten

#1 Thomas Möller
13/11/2007 - 18:31 | Warnen spam
Hallo Tobias,

Tobias Demmer schrieb:
das als Modul geschrieben :

Function AlleGruppenVonCurrentUser() As String

Dim strGruppe As String
Dim wspDieser As DAO.Workspace
Dim grpDiese As DAO.Group

Set wspDieser = DBEngine.Workspaces(0)
For Each grpDiese In wspDieser.Users(CurrentUser()).Groups
strGruppe = strGruppe & ", " & grpDiese.Name
Next
AlleGruppenVonCurrentUser = Mid(strGruppe, 3)
End Function

und das in extra Spalte in der Abfrage:
SELECT *
FROM Geràtetràger
WHERE (((InStr(AlleGruppenVonCurrentUser(),
[Gruppe])>0)=True));

Beim Versuch zu speichern dann folgende Fehlermeldung .

Die Unterabfrage in diesem Ausdruck hat eine fehlerhafte Syntax.
Prüfen Sie die Syntax der Unterabfrage, und setzen Sie die
Unterabfrage in Klammern .



Du hast den obigen Ausdruck als extra Spalte in Deiner Abfrage
definiert. Das brauchst Du aber nicht.

Deine gesamte Abfrage sollte ungefàhr so aussehen, wie Lorenz es Dir
gestern Abend gepostet hat:

Select Feld1, Feld2, Feld3
From Geràtetràger
WHERE (((InStr(AlleGruppenVonCurrentUser(),
[Gruppe])>0)=True));

Dabei geht dieser SQL-String davon aus, dass Deine Tabelle den Namen
"Geràtetràger" hat. Ausserdem sollte das Feld, in dem die Gruppe
gespeichert ist, den Namen "Gruppe" tragen.

HTH
Thomas

Homepage: www.Team-Moeller.de

Ähnliche fragen