Hallo, Munich!
in (my)SQL gibt es doch mit dem Schalter LIMIT eine
limitierung der Ergebnisse zu setzen…
Nun habe ich versucht diese Limitierung auch in Access
anzuwenden, allerdings meckert Access dann, dass der
SQL-String nicht korrekt wäre.
Jetzt ist die Frage, ob ich in Access auch die möglichkeit
habe irgendwie nur die ersten 10 Treffer anzuzeigen…?
SELECT TOP 10 …
Kleiner Hinweis: Wenn Du eine Liste hast und sortierst und die Sortierfelder die Werte 1, 2, 3, 3, 3, 5 haben und Du SELECT TOP 3 … wählst, bekommst Du 5 Datensätze, nämlich 1, 2, 3, 3, 3. Macht auch Sinn, denn mit welchem Recht soll Access entscheiden können, welchen der „3“-Datensätze Du willst und welchen nicht.
Eine zweite Anfrage, für die ich kein neues Thema eröffnen
möchte ist folgendes:
Ich habe eine Datei, die im Netzwerkverzeichnis liegt (access
natürlich). Diese Datei soll von mehreren Leuten bearbeitet
werden können. Dafür wäre jetzt noch eine bzw zwei
optimierung(en) notwendig…
Zum einen: (wie) Kann ich es einrichten, dass mehrere User
diese Datei gleichzeitig öffnen können?
zum Zweiten: Kann ich beim aktivieren einer Seite eines
Registersteuerelements prüfen, ob die Datei noch in diesem
Verzeichnis liegt und eine Warnung ausgeben, wenn sie dort
nicht liegt („Warnung, dies ist eine lokale Kopie, änderungen
werden nur in dieser Kopie wirksam“)
Zum einen solltest Du die verwendeten DB trennen, wenn nicht schon geschehen, in Frontend/Benutzerschnittstelle und Backend/Daten. Die Daten, die auf dem Netz (oder auch lokal) liegen, verknüpfst Du. Über die Connect-Eigenschaft der Tabelle kannst Du den Speicherort der Quell-DB auslesen. Wenn Du auf die Tabelle zugreifen willst, die Quelldatenbank aber nicht vorhanden ist (z. B. weil das Netzlaufwerk getrennt wurde), gibt’s eine Fehlermeldung, die Du abfangen kannst und so entweder auf eine lokale DB umverdrahtest, damit man wenigstens weiter arbeiten kann, oder Du gibst gleich die Meldung „Gearbeitet wird im Büro, gefeiert zu Hause“ aus.
Wenn auch ein lokales Arbeiten nötig sein sollte oder viele Leute auf die zentrale DB zugreifen wollen, würde ich die Datenbank replizieren. Heißt: Datenmaster liegt zentral auf dem Netzlaufwerk, ein Replikat lokal auf jedem Rechner der Anwender. Diese arbeiten auf der lokalen Version (weniger Netzlast, keine Zugriffskonflikte, schneller) und replizieren ihre Daten zu bestimmten Zeitpunkten oder auf Knopfdruck mit der zentralen Master-DB.
Gruß, Manfred
Vielen Dank
Munich