Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Formular beim Öffnen filtern im Abhängigkeit vom Benutzer
zurück: Probleme bei der Verknüpfung eines Listenfeldes weiter: Formular soll mit leerem Datensatz erscheinen Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Mike2
MS Office Standard - minimal VBA


Verfasst am:
29. Jan 2008, 15:21
Rufname:

Formular beim Öffnen filtern im Abhängigkeit vom Benutzer - Formular beim Öffnen filtern im Abhängigkeit vom Benutzer

Nach oben
       Version: Office 2k (2000)

Hallo,

ich möchte gerne mein Formular in Abhängigkeit vom Benutzer filtern.

Dazu habe ich eine Tabelle mit dem Benutzer und seinem Standort (z.B. mmustermann / 105)

Mein Formular greift auf eine Tabelle zu, in der der Standort in den ersten drei Stellen der Kostenstelle enthalten ist (z.B. 105***).

Nun möchte ich beim Anzeigen des Formulars (oder ist beim öffnen besser?), dass nur die Datensätze angezeigt werden, bei denen die ersten drei Stellen der Kostenstelle mit dem Standort des aktuellen Benutzers identisch sind.

Geht sowas überhaupt? Habe jetzt schon einen halben Tag nach Möglichkeiten gesucht und probiert, aber nichts gefunden.

Gruß

Michael
Marmeladenglas
komme zurecht


Verfasst am:
29. Jan 2008, 15:43
Rufname:


AW: Formular beim Öffnen filtern im Abhängigkeit vom Benutze - AW: Formular beim Öffnen filtern im Abhängigkeit vom Benutze

Nach oben
       Version: Office 2k (2000)

dukannst dein Formular beim Öffnen mit einer "where Anweisung" versehen, die dir das filtert. Oder du definierst direkt einen Filter und nutzt die FilterOn Anweisung.
Code:
    DoCmd.OpenForm "Formname", , , "Where - Anweisung (ohne WHERE)"
In der Where-Anweisung kannst du ja nach den ersten 3 Ziffern filtern ..
Mike2
MS Office Standard - minimal VBA


Verfasst am:
30. Jan 2008, 11:55
Rufname:

AW: Formular beim Öffnen filtern im Abhängigkeit vom Benutze - AW: Formular beim Öffnen filtern im Abhängigkeit vom Benutze

Nach oben
       Version: Office 2k (2000)

Hey,

vielen Dank für die Rückmeldung. Leider bin ich allerdings noch nicht so gut im Aufbau von Access-Codes, so dass ich mit dem Hinweis leider noch nicht zur Umsetzung meines Problems komme.

Trotzdem vielen Dank für die Unterstützung

Gruß

Michael
Marmeladenglas
komme zurecht


Verfasst am:
30. Jan 2008, 12:56
Rufname:

AW: Formular beim Öffnen filtern im Abhängigkeit vom Benutze - AW: Formular beim Öffnen filtern im Abhängigkeit vom Benutze

Nach oben
       Version: Office 2k (2000)

sowas ??
Code:
    DoCmd.OpenForm "Frm_Kostenstellen", , , _
                   "Kostenstelle Like '" & Me!Standort & "*'"
Mike2
MS Office Standard - minimal VBA


Verfasst am:
30. Jan 2008, 13:13
Rufname:


AW: Formular beim Öffnen filtern im Abhängigkeit vom Benutze - AW: Formular beim Öffnen filtern im Abhängigkeit vom Benutze

Nach oben
       Version: Office 2k (2000)

Hallo Marmeladenglas,

habs jetzt mal mit folgendem Code versucht:
Code:
Private Sub Form_Open(Cancel As Integer)
    DoCmd.OpenForm "ufrm_Daten", , , _
                   "tbl_Login.Login Like '" & Environ$("Username") & _
                   "tbl.Login.Standort Like '" & Mid(Me!Kostenstelle, 1, 3)
End Sub
Aber so funktionierts nicht, ist sicherlich nicht ausgereift genug.

In meiner tbl_Login steht der Username und der dazugehörige Standort.

Das Formular wird als Unterformular geöffnet und hat u. a. das Feld "Kostenstelle", allerdings beruht es auf einer anderen Datentabelle.
Nun soll nach dem Öffnen des Formulars nur noch die Datensätze angezeigt werden, bei denen die ersten drei Stellen der Kostenstelle mit dem Standort beim User aus der tbl_Login übereinstimmen, bzw es sollen alle Datensätze angezeigt werden, wenn kein Standort vorgegeben wurde.

Es müßte also zuerst geprüft werden, ob bzw. welcher Standort durch den User vorgegeben ist und dann im Formular filtern nach dieser Standorteinschränkung. Bin ziemlich am grübeln. Vielleicht gibt es aber auch ne viel einfacherer Lösung und komme bloß nicht drauf.

Trotzdem Danke

Gruß

Michael
Marmeladenglas
komme zurecht


Verfasst am:
30. Jan 2008, 14:51
Rufname:

AW: Formular beim Öffnen filtern im Abhängigkeit vom Benutze - AW: Formular beim Öffnen filtern im Abhängigkeit vom Benutze

Nach oben
       Version: Office 2k (2000)

ich dachte der Standort wäre vorgegeben und es sollen die Kostenstellen gesucht werden, die mit dem 3-Ziffern-Code des Standorts übereinstimmen ????
Bei dir ist es jetzt umgekehrt, anhand der Kostenstelle suchst du den Standort.
Mike2
MS Office Standard - minimal VBA


Verfasst am:
31. Jan 2008, 16:56
Rufname:

AW: Formular beim Öffnen filtern im Abhängigkeit vom Benutze - AW: Formular beim Öffnen filtern im Abhängigkeit vom Benutze

Nach oben
       Version: Office 2k (2000)

Mike2 am 30. Jan 2008 um 14:05 hat folgendes geschrieben:
Hallo,

nicht das wir uns jetzt verzetteln:

tbl_Login -> Spalten: Login (Username), Standort (3-stellig, z.B. 105)

ufrm_Daten -> beruht auf tbl_Daten: Spalte u.a. : Kostenstelle (z. B. 105123).

Bei Aufruf des Unterformulars Zuordnung prüfen mit Hilfe des eingeloggten Users.
Also prüfe über die tbl_Login, welcher Standort zum angemeldeten User gehört und filtere dann das Unterformular mit dieser Bedingung über die ersten 3stellen der Kostenstelle.
Bsp. angemeldeter User : ERICH (in der tbl_Login steht bei Erich - Standort 105)
jetzt öffne das ufrm_Daten nur mit den Datensätzen, deren Kostenstellen mit 105 beginnen.

Im Klartext: Suche aktuellen User in tbl_Login, nimm den zugeordneten Standort und Filtere jetzt das zu öffnende Formular nach dem Standort (die ersten drei Stellen der Kostenstelle). Aber wie in Code umsetzen???

Vielleicht wird jetzt einiges klarer. Danke für die Bemühungen

Michael

Hallo,

habe jetzt mal folgenden Code probiert, der zwar nicht funktioniert, aber vielleicht in die richtige Richtung zeigt:
Code:
    Dim strKrit As String

    strKrit = "Standort In (SELECT Standort " & _
                             "FROM tbl_Login " & _
                            "WHERE Login = " & Environ("Username") & ")"
    Me.Filter = "Standort2 =" & strKrit
    Me.FilterOn = True
Jetzt steht beim Formularfilter:
Zitat:
Standort2 = Standort In (SELECT Standort FROM tbl_Login WHERE Login = aktueller Benutzer)
Warum wird aus dem strKrit = Standort In (Select Standort from tbl_Login where Login = aktueller Benutzer) kein Wert? Er müsste doch jetzt in der tbl_Login nach dem aktuellen Benutzer schauen und den Wert, der dort unter Standort steht ausgeben oder interpretiere ich hier etwas völlig falsches?

den dann würde der Formularfilter: Standort2 = 105.

Gruß

Michael
Willi Wipp
Moderator


Verfasst am:
31. Jan 2008, 17:08
Rufname:
Wohnort: Raum Wiesbaden

Re: Formular beim Öffnen filtern im Abhängigkeit vom Benutze - Re: Formular beim Öffnen filtern im Abhängigkeit vom Benutze

Nach oben
       Version: Office 2k (2000)

Hi Mike2,

wie waere es denn etwa so
Code:
    Dim strKrit As String

    strKrit = Nz(DLookup("Standort", "tbl_Login", _
                         "Login = '" & Environ("Username") & "'"), "")
    If strKrit = "" Then
        Me.Filter = ""
        Me.FilterOn = False
      Else
        Me.Filter = "Standort2 =" & strKrit
        Me.FilterOn = True
    End If
Einen SQL-Code muss man auswerten oder richtig an den Filter uebergeben.
Den kann man nicht einfach in einen String uebergeben und hoffen das auf irgend eine Art da ein Wert reinkommt ;)
Oder Du haettest es etwa so machen koennen
Code:
    Dim strKrit As String

    strKrit = "Standort2 In (SELECT Standort " & _
                              "FROM tbl_Login " & _
                             "WHERE Login = " & Environ("Username") & ")"
    Me.Filter = strKrit
    Me.FilterOn = True
Das sollte auch funktionieren. Den X In (SELECT ...) liefert ja nur True oder False!
_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
Mike2
MS Office Standard - minimal VBA


Verfasst am:
31. Jan 2008, 17:15
Rufname:


AW: Formular beim Öffnen filtern im Abhängigkeit vom Benutze - AW: Formular beim Öffnen filtern im Abhängigkeit vom Benutze

Nach oben
       Version: Office 2k (2000)

Hallo Willi,

so lernt man Schritt für Schritt dazu. Euer Forum ist echt Klasse und deine Anmerkung hats jetzt gebracht.

Zumindest beim testen scheint es jetzt zu funktionieren.

besten Dank

und einen angenehmen Abend

Gruß

Michael

P.S.:
Habe den Code jetzt in die Abfrage getan (SQL)

Code:
 Nz(DomWert("Standort", "tbl_Login", "Login = '" & Umgebung("Username") & "'"), "")  oder Nz(DomWert("Standort", "tbl_Login", "Login = '" & Umgebung("Username") & "'"), "")  =""

Das scheint die Sache zu vereinfachen.
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Leeres Datum-Feld filtern 2 Hockstrasse 900 16. Feb 2005, 00:36
Hockstrasse Leeres Datum-Feld filtern
Keine neuen Beiträge Access Tabellen & Abfragen: Automatische Aktualisierung von generiertem Wert im Formular 9 GandalfTCM 1041 09. Feb 2005, 17:40
lothi Automatische Aktualisierung von generiertem Wert im Formular
Keine neuen Beiträge Access Tabellen & Abfragen: Berechnung in Abhängigkeit vom Datum 1 Christian22 1004 03. Feb 2005, 14:00
lothi Berechnung in Abhängigkeit vom Datum
Keine neuen Beiträge Access Tabellen & Abfragen: mehrer abfragen ein formular 1 romu 719 10. Jan 2005, 15:54
lothi mehrer abfragen ein formular
Keine neuen Beiträge Access Tabellen & Abfragen: spalte dynamisch und in abhängigkeit vom wochtag füllen 3 doc77 812 10. Jan 2005, 13:32
lothi spalte dynamisch und in abhängigkeit vom wochtag füllen
Keine neuen Beiträge Access Tabellen & Abfragen: Öffnen von verschiedenen Tabellen aus einer Liste 8 Gast 493 05. Jan 2005, 10:35
Gast Öffnen von verschiedenen Tabellen aus einer Liste
Keine neuen Beiträge Access Tabellen & Abfragen: Doppelte Einträge durch Abfrage filtern 26 Gast 28323 28. Dez 2004, 10:50
lothi Doppelte Einträge durch Abfrage filtern
Keine neuen Beiträge Access Tabellen & Abfragen: Abfragefenster beim Öffnen 4 Kartanic 885 06. Dez 2004, 09:50
Gast Abfragefenster beim Öffnen
Keine neuen Beiträge Access Tabellen & Abfragen: Filtern aus Kombi & Listenfeld 1 Gast 817 16. Nov 2004, 22:07
lothi Filtern aus Kombi & Listenfeld
Keine neuen Beiträge Access Tabellen & Abfragen: Add Record - Formular in ein Nebenformular 6 User007 926 27. Okt 2004, 11:49
Gast Add Record - Formular in ein Nebenformular
Keine neuen Beiträge Access Tabellen & Abfragen: Standardwert in Formular aus einer Abfrage? 3 Gast 1777 04. Okt 2004, 12:53
Pfobeman Standardwert in Formular aus einer Abfrage?
Keine neuen Beiträge Access Tabellen & Abfragen: Kriterien aus nem Formular die mich fertig machen!!! 19 Martin von der Bergwiese 2658 24. Aug 2004, 12:53
Lorenz Kriterien aus nem Formular die mich fertig machen!!!
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Excel Tipps