DB für viele Nutzer

Hallo,

ich entwerfe z. Zt. eine kleine DB,in die viele Nutzer (diese arbeiten 10 verschiedenen Gebäuden) Daten eingeben sollen (die MA können alle gleichzeitig über ein Netzwerk auf die DB zugreifen).
Die Eingaben betreffen Angaben zu bekannten Personen, die über eine ID ausgewählt werden, dem MA sind über Hausnummern genau seine Personen zugeteilt.

Ich denke die Erfassung macht kein Problem, mich beschäftigt die Auswertung: Wie erreiche ich komfortabel, dass der MA genau die Personen in den notwendigen Berichten hat, die er bearbeitet hat??

Natürlich wäre eine einfache Abfrage vor dem Bericht mit den Klammern (z.B. [MA-Nr?]) möglich, aber gibt es nicht etwas besseres?
(Mein Gedanke war eine Tabelle mit den MA-Kennungen, aber dies funktioniert nicht)

Danke Harald

Hallo,

ich entwerfe z. Zt. eine kleine DB,in die viele Nutzer (diese
arbeiten 10 verschiedenen Gebäuden) Daten eingeben sollen (die
MA können alle gleichzeitig über ein Netzwerk auf die DB
zugreifen).

ok, aber dazu ist die Aufteilung in Backend und Frontend dringend empfohlen.

Die Eingaben betreffen Angaben zu bekannten Personen, die über
eine ID ausgewählt werden, dem MA sind über Hausnummern genau
seine Personen zugeteilt.

Ich denke die Erfassung macht kein Problem, mich beschäftigt
die Auswertung: Wie erreiche ich komfortabel, dass der MA
genau die Personen in den notwendigen Berichten hat, die er
bearbeitet hat??

Bei der Datenerfassung muß die MANR mitgeführt werden.

Natürlich wäre eine einfache Abfrage vor dem Bericht mit den
Klammern (z.B. [MA-Nr?]) möglich, aber gibt es nicht etwas
besseres?

Abfrage ist schon richtig. Ich befürchte aber lt. der Fragestellung, dass die Daten gar nicht über Formulare bearbeitet werden (sollen) und auch keine Formularablaufsteuerung existiert, was sehr sinnvoll wäre.
D. h. der Bericht würde dann per Klick auf einen Button geöffnet. Dabei kann man ein Kriterium mitgeben, der die DS entspr. filtert, z. B. nach der MANR

Sub btnBericht1_Click()
Docmd.Openreport „Bericht1“,acPreview,"MANR= " & pblMANR
End Sub

Dabei ist MANR die MA-Nummer des Bearbeiters des DS (in der Tabelle, die dem Bericht zugrunde liegt) und pblMANR eine globale Variable, die wie u. g. beim Start der DB mit der MANR des akt. Users gesetzt wird.

(Mein Gedanke war eine Tabelle mit den MA-Kennungen, aber dies
funktioniert nicht)

Für die MANr ist (bis hierher) keine extra Tabelle nötig. Die MANr könnte z. B. beim Starten der DB (des FE’s) abgefragt werden. Eine Tabelle wäre erst dann nötig, wenn man damit eine Art User-Berechtigung aufbauen wollte.

asd

(Leider ist dies schon mein 3. Versuch zu antworten, aber irgendwie klappt Heute mein Internet nicht)

erst mal Danke für die Antwort

Natürlich will ich die DB teilen.

Leider habe ich mich doch geirrt, da ich nicht die Berichte nach den Nutzern, sondern nach den Häusern machen will (ich möchte eine Nutzerverwaltung für 20 bis 50 Nutzer vermeiden).

Wie kann man dies umsetzten, dass man nicht mit einer Kriteriumsabfrage [Haus Nr?], die Nutzer verstört?
Die Häuser sind einfach durchnummeriert von 01, 02 bis 10.

Harald

Hallo,

naja, das Gleiche in grün…

Statt nach der MANR zu filtern, filterst Du nach der oder den Hausnummern.

Wobei ich jetzt hier nicht verstehe, wie Du das jetzt auf User zuordnen wilslt.

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Ich habe doch zu jedem Vorgang ein dazu gehöriges Haus.
Also kann ich doch im Bericht nur auswählen, die zu dem Haus gehören.

Die Auswahl könnte ich über eine Kriteriumsabfrage oder ein Kombifeld vor dem öffnen des Berichtes machen.

Oder gibt es noch eine Alternative zu dem Verfahren:
Der MA klickt auf einen Bericht z.B. „alle Vorgänge im Haus“,
danach geht ein Forms auf, wo er im Kombifeld seine HausNr auswählt
und die Nummer wird an das Kriterium in einer Abfrage übergeben,
danach öffnet sich der richtige Bericht für das jeweilige Haus.

Harald

Hallo,

Ich habe doch zu jedem Vorgang ein dazu gehöriges Haus.

mag sein, ich kenne Deine Tabellen/DB-struktur nicht. Ich denke aber eher, es gibt zu jedem Haus (mehrere) dazugehörende Vorgänge.

Also kann ich doch im Bericht nur auswählen, die zu dem Haus
gehören.

Du sollst nichts „im Bericht auswählen“. Der Bericht bekommt seine Daten von einer Abfrage (über z. B. mehrere Tabellen) oder direkt über eine Tabelle geliefert, und zwar ohne Filterung.

Die Auswahl könnte ich über eine Kriteriumsabfrage oder ein
Kombifeld vor dem öffnen des Berichtes machen.

Kombifeld in einem Form ist ok, Kriteriumsabfrage (in diesem Fall) weniger.

Oder gibt es noch eine Alternative zu dem Verfahren:
Der MA klickt auf einen Bericht z.B. „alle Vorgänge im
Haus“,
danach geht ein Forms auf, wo er im Kombifeld seine HausNr
auswählt

andersherum: in einem Formular wird die Hausnr ausgewählt (z. B. mit einem Kombifeld) und diese wird beim Klick auf einen Button (oder gleich im Nach Aktualisierung- Ereignis des Kombis) der Openreport-Methode im „Where-Condition“-Parameter übergeben.

und die Nummer wird an das Kriterium in einer Abfrage
übergeben,

nix Abfrage, sie oben.

danach öffnet sich der richtige Bericht für das jeweilige
Haus.

das tut er auch, wenn Du meinen Vorschlag umsetzt.

wie gehabt, etwa so:

Sub cmbHausNr_Afterupdate() ’ oder bei einem Button: btnDrucken_Click()
Docmd.Openreport „Bericht1“, acPreview,"HausNR= " & Me!cmbHausnr
End Sub

wenn das Kombi etwa eine solche Abfrage als Datensatzherkunft besitzt:

Select Hausnr, Strasse from tblHäuser order by Strasse, HausNr

und so eigestellt ist:
Spaltenanzahl: 2
Spaltenbreiten: 1cm;4cm
Gebundene Spalte: 1

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Danke für die Antwort!

Genau so werde ich es machen, über ein Kombifeld ein Haus auswählen und dann den passenden Bericht dazu anzeigen.

Viele Grüße aus dem kalten Osten

Harald