Hallo Andreas,
schane65 hat geschrieben:
Jetzt möchte ich aber erreichen, dass die User nicht die Datenbank aufmachen, damit dort nicht versehentlich Sachen verändert werden (z.b. Tabellen löschen, verändern, pp.).
Bereits hier ergibt sich das erste Problem. Du kannst natürlich auf verschiedene Arten versuchen, Deine Datenbank vor den Nutzern zu verstecken. Aber es ist nur eine Frage der zeit, bis zu der sie vermutlich doch an die Tabellensicht kommen.
Variante 1: Du arbeitest mit externen Formularen, hast aber die Datenbank in OpenOffice/LibreOffice angemeldet. Dann reicht ein Klick auf den Datenquellenbrowser und Tabellen und Abfragen sind verfügbar. Tabellen sind auch erstellbar ...
Variante 2: Du arbeitest mit externen Formularen, meldest die Datenbank aber nicht an, sondern machst den Kontakt über die URL. Vorläufig fein raus. Hat der Nutzer aber den Pfad aus den Formulareinstellungen heraus gelesen, so kann er nachträglich die Datenbank anmelden und - siehe oben. Das Ganze geschieht dann natürlich nicht "versehentlich".
Variante 3: Du arbeitest mit einer Server-Datenbank und beschneidest auf dem Server rigoros die Benutzerrechte, so dass Tabellen eben nicht gelöscht oder in der Struktur verändert werden können. Das geht dann natürlich nicht mehr mit dem einfachen *.odb-Päckchen. Dann geht es an MySQL, PostgreSQL oder auch die externe HSQLDB. Unter Linux ist die Auswahl da recht groß.
Für ein Unternehmen würde ich Variante 3 wählen. Die Zugriffe von der *.odb-Datei sind für Makros usw. gleich. Je nach Datenbank ist eventuell neben den Tabellennamen auch noch der Datenbankname in den Abfragen wichtig.
Sichtbarer Unterschied von Variante 1/2 zu Variante 3: Es wird nach einem Nutzernamen und einem Passwort gefragt. Abhängig vom Nutzer werden dann entsprechende Rechte gewährt.
Immer noch möglich ist dann natürlich, dass sich ein Nutzer, der Zugriff auf die Tabellen hat, diese Daten in eine eigene Datenbank kopiert.
Bei Variante 2, die Du vermutlich probierst, verstehe ich jetzt nicht, warum Du erst einen Button brauchst, um das Formular zu öffnen. Du öffnest doch eine separate Datei, nicht das Formular in dem *.odb-Container.
Gruß
Robert