Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Zugriff auf bestimmte Datensätze verhindern (SQL Server 2008 mit Access 2010 als Frontend)

Mitglied: StefanKittel

StefanKittel (Level 4) - Jetzt verbinden

02.02.2011 um 01:05 Uhr, 7681 Aufrufe, 4 Kommentare

Hallo,

ich hatte schonmal anders gefragt, inzwischen konnte ich die Datenbank aber auf einen SQL-Server portieren.

Ich habe hier eine Datenbank auf einem SQL Server 2008.
Als Frontend kommte Access 2010 bzw. Access 2010 RunTime zum Einsatz.

Nach einer Neuaufteilung sollen nicht mehr alle Benutzer alle Datensätze sehen dürfen.
Ganz Konkret, alle Kunden.

Mein 1. Gedanke: Zugriff auf Tabelle entziehen, Abfrage mit Filter erstellen und am Client einbinden.
Das funktioniert auch prima, aber: ich würde gerne einen Client für alle Benutzer verwenden. Das erleichter die Pflege der DB doch erheblich.

Zugriffsrechte auf Datensatzebene habe ich nicht gefunden.
Kann man in Abfragen dynamisch den Benutzernamen verwenden?

Alternativ könnte ich natürlich mit VBA beim Start die Verknüpfung immer richtig hinbiegen, erscheint mir aber auch nicht "richtig".

Wie macht man sowas am saubersten?

Danke

Stefan
Mitglied: Logan000
02.02.2011 um 08:34 Uhr
Moin moin

Ich rate mal:

In der Tabelle Kunden befindet sich auch ein Feld in dem eine Art Benutzer ID steht? Quasi der "Eigentümer" des Datensatzes?
Und du möchtest jetzt das, egal welcher User das Frontend startet, immer nur seine Datensätze sieht?

Abfrage mit Filter erstellen und am Client einbinden
Diese Abfrage liegt auf dem Server oder ist das eine Access Abfrage?
Wie gehtst du mit Access auf die SQL DB? via ODBC?

aber: ich würde gerne einen Client für alle Benutzer verwenden.
Davon rate ich lieber ab. Da habe ich keine guten Erfahrungen mit Access gemacht.

Was hindert dich daran z.B. die eine VBA Proc zu schreiben, die den Windows Anmeldenamen ermittet
und damit ein SQL statement zusammenstellt das nur die Benutzereigenen Daten aus Kunden anzeigt?

Gruß L.
Bitte warten ..
Mitglied: StefanKittel
02.02.2011 um 08:40 Uhr
Zitat von Logan000:
Diese Abfrage liegt auf dem Server oder ist das eine Access Abfrage?
Server

Wie gehtst du mit Access auf die SQL DB? via ODBC?
ODBC

Was hindert dich daran z.B. die eine VBA Proc zu schreiben, die den Windows Anmeldenamen ermittet
und damit ein SQL statement zusammenstellt das nur die Benutzereigenen Daten aus Kunden anzeigt?
Nichts, ich wollte nur sicherstellen, dass er dafür nicht bereits eine Funktion am SQL-Server gibt.
Z.B. in einer Sicht, dass man den Benutzernamen verwenden kann.

Stefan
Bitte warten ..
Mitglied: Logan000
02.02.2011 um 12:05 Uhr
Moin Moin

Zitat von StefanKittel:
Nichts, ich wollte nur sicherstellen, dass er dafür nicht bereits eine Funktion am SQL-Server gibt.
Z.B. in einer Sicht, dass man den Benutzernamen verwenden kann.
Wobei mein 1. Gedanke war die Abfrage unter Access zu verwenden. Aber andersherum sollte es auch gehen.

Views kannst du keine Parameter übergeben.
Du könntest natürlich auf dem SQL Server auch eine Gespeicherte Procedur bauen, die als Parameter den Benutzernamen verarbeiten kann.
Diese soltest du dann von Access aus als SQL PassThrough aufrufen können.

Gruß L.
Bitte warten ..
Mitglied: StefanKittel
02.02.2011 um 12:45 Uhr
Zitat von Logan000:
Du könntest natürlich auf dem SQL Server auch eine Gespeicherte Procedur bauen, die als Parameter den Benutzernamen
verarbeiten kann.
Diese soltest du dann von Access aus als SQL PassThrough aufrufen können.

Sowas als View wäre meine Idee gewesen, schade.
Da schreib ich doch lieber ne Init Routine die die Verlinkung in Abhängigkeit des Benutzernames anpaßt.
Danke

Stefan
Bitte warten ..
Ähnliche Inhalte
Datenbanken
SQL Frontend?
Frage von sschultewolterDatenbanken8 Kommentare

Hallo, bin auf der Suche nach einer MySQL Frontend Software. Zum Aufbau: Auf einem Debian Rechner läuft eine MySQL ...

Datenbanken

Access 2010 SQL Tabellen Datensätze einfügen

gelöst Frage von Dr.CornwallisDatenbanken6 Kommentare

Liebe Gemeinde, ich habe 3 Formulare(Access 2010), die ersten beiden greifen direkt auf einen SQL Table zu(der Table liegt ...

Datenbanken

Datensatz hinzufügen, nicht überschreiben Access

gelöst Frage von Dr.CornwallisDatenbanken19 Kommentare

Liebe Gemeinde, ich habe folgenden Code (bei Button klick): Wähle ich mit diesem Code einen anderen Wert im Kombifeld ...

Datenbanken

Datensatz mit 2 Felder anfügen Access

gelöst Frage von Dr.CornwallisDatenbanken2 Kommentare

Hallo, ich habe 2 Felder: 1. Kombifeld - PersNr zum auswählen 2. Textfeld - hier kann man beliebigen Text ...

Neue Wissensbeiträge
LAN, WAN, Wireless
Sophos RED50 stürzt ab und ist danach tot
Information von Ex0r2k16 vor 2 TagenLAN, WAN, Wireless3 Kommentare

Hey, nach meinem Thread bin ich durch Zufall auf das hier gestoßen: Also wenn ihr UTMs und RED50's im ...

Windows 10

Microsoft macht Bluetooth absichtlich kaputt: Windows 10 Update blockiert Bluetooth-Verbindungen zu Android

Tipp von 1Werner1 vor 3 TagenWindows 107 Kommentare

Moin, jetzt spinnt MS total , was muss ich da auf Chip.de lesen: Auch im Juni schließt Microsoft im ...

Soziale Netzwerke

Facebook - künftig ohne Account des Bundeslandes Sachsen-Anhalt

Information von VGem-e vor 3 TagenSoziale Netzwerke3 Kommentare

Servus, mal sehen, ob andere öffentliche Einrichtungen folgen wollen/können Gruß

Humor (lol)
Facebook Mailer auf NIX-Spamlist
Information von Henere vor 3 TagenHumor (lol)

Eben aus dem Log meines Postfix gefischt. Recht haben Sie. FB ist SPAM :-) lachende Grüße, Henere

Heiß diskutierte Inhalte
Router & Routing
Synology NAS in anderem Subnetz nicht erreichbar
Frage von Tech1KonniRouter & Routing24 Kommentare

Hallo Leute, ich bin Software-Entwickler und daher auch etwas bewandert in den Grundkenntnissen der Netzwerktechnik. Aktuell habe ich allerdings ...

Netzwerke
Zugriff auf mehrere Clients via RDP
Frage von xXMariusXxNetzwerke11 Kommentare

Moin, ich würde gerne auf mehrere Clients in einem Netzwerk via RDP zugreifen. Gibt es eine elegantere Lösung als ...

Windows 7
RDP funktioniert nur einmal
Frage von Sc0rc3dWindows 710 Kommentare

Hi, ich arbeite mittels Remote Desktop von zu Hause. Manchmal per VPN und manchmal direkt (Portfreigabe 3389 -> 46XXX). ...

Windows Server
Probleme Installation Windows Server 2019
Frage von AK-47.2Windows Server8 Kommentare

Hallo zusammen, ich habe das Problem einen Windows Server 2019 auf ein Testsystem zu bringen. Das Mainboard ist ein ...