Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Endlosformular - Kombinationsfelder sperren
zurück: Abfrage berechnung: summen wenn weiter: Suche Unterformular Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Katrin6138
lernt immer mehr dazu


Verfasst am:
22. Aug 2012, 14:55
Rufname:

Endlosformular - Kombinationsfelder sperren - Endlosformular - Kombinationsfelder sperren

Nach oben
       Version: Office 2003

Hallo ihr Wissenden,

ich krieg es einfach mal wieder nicht hin:
Ich habe ein Endlosformular, in das Mitarbeiter ihre gewünschte Schicht eintragen sollen. Dieses sieht so aus:
Code:
Tag   Schicht    Mitarbeiter
01.09.  Früh   Müller
01.09.  Mittel
01.09.  Spät
usw.
Der Mitarbeiter wählt in einem Kombifeld bei "Mitarbeiter" seinen Namen aus.
Jetzt soll - sobald am entsprechenden Tag z.B. die Mittelschicht von dem Mitarbeiter ausgewählt wird - zu allen anderen Schichten die Eingabemöglichkeit gesperrt werden. Habt ihr eine Idee, wie ich das hinkriegen kann?

Ich habe schon hilfsweise in der zugrunde liegenden Tabelle ein Feld eingefügt "Eingabe möglich". Hier wird bei den Feldern, die gesperrt werden sollen, ein "Nein" hinterlegt. Wenn ich aber dies versuche, in mein Formular einzuladen, läuft der Code durch und es passiert mit den Kombifeldern NICHTS !

So sieht momentan der Code aus:
Code:
Private Sub Raum_1_bla_AfterUpdate()
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim aktuellerTag
   
    Set db = CurrentDb
    Set rs = db.OpenRecordset("tbl_Raumbelegung", dbOpenDynaset)
    rs.Edit
    If Raum_1_bla.Value <> "" Then
        aktuellerTag = Me!Tag
        rs.MoveLast
        rs.MoveFirst
        If Me!Schicht.Value = "Mittel" Then
            Do While Not rs.EOF
                If rs.Fields("Tag") = aktuellerTag And rs.Fields("Schicht") <> "Mittel" Then
                    rs.Edit
                    rs.Fields("Raum 1 bla möglich") = False
                    Raum_1_bla.Enabled = True
                    rs.Update
                End If
                rs.MoveNext
            Loop
        End If
    End If
End Sub
Falls ihr eine Idee habt, wie ich das grundsätzlich umbauen soll, dann auch her damit! Ich bin für alles dankbar!

Liebe Grüße
Katrin
mikael
Access/SQL Server Entwickler


Verfasst am:
22. Aug 2012, 15:52
Rufname:


AW: Endlosformular - Kombinationsfelder sperren - AW: Endlosformular - Kombinationsfelder sperren

Nach oben
       Version: Office 2003

Hi Katrin,

ich denke das hier ist das Problem:
Code:
Tag Schicht Mitarbeiter
01.09. Früh Müller
01.09. Mittel
01.09. Spät
usw.
Wenn eine Generalüberholung in Frage kommt und wenn ein Mitarbeiter am selben Tag sowieso immer nur eine der 3 Schichten wählen soll dann lieber so:
Code:
Tag      Schicht      Mitarbeiter
01.09   Mittel         Müller
01.09   Früh          Schulz
01.09   Früh          Meier
02.09   Spät          Müller
Praktisch so, dass die Schicht als Auswahl da steht.
Dann muss man das eigentliche Feld nicht in anderen Datensätzen sperren.
Jeder Mitarbeiter hat somit die Möglichkeit 1 Schicht pro Tag zu wählen

Gruß
Mikael
Gast



Verfasst am:
22. Aug 2012, 18:37
Rufname:

AW: Endlosformular - Kombinationsfelder sperren - AW: Endlosformular - Kombinationsfelder sperren

Nach oben
       Version: Office 2003

Hallo Mikael,

danke für die Antwort. Aber das löst das Problem leider noch nicht: ich hatte aber auch einen Fehler in meiner Frage. Sorry! Also die Grundtabelle sieht so aus:
Code:
Tag Schicht ARBEITSPLATZ1 Arbeitsplatz2 usw.
01.09. Früh Müller
01.09. Mittel
01.09. Spät
Also, der Mitarbeiter sucht sich seine Schicht aus und trägt sich in der Spalte des gewünschten Arbeitsplatzes ein. Der Arbeitsplatz ist bei Auswahl der Mittelschicht für andere Mitarbeiter nicht mehr frei, soll deshalb für die Eingabe gesperrt sein. Ich hoffe, ich konnte das Problem jetzt besser beschreiben!?

Liebe Grüße
Katrin
Gast



Verfasst am:
22. Aug 2012, 19:03
Rufname:

AW: Endlosformular - Kombinationsfelder sperren - AW: Endlosformular - Kombinationsfelder sperren

Nach oben
       Version: Office 2003

Hallo,
Zitat:
ARBEITSPLATZ1 Arbeitsplatz2 usw.
Solche Aufzählungen deuten auf ein falsches Datenmodell hin. Und genau das bedingt deine Schwierigkeiten.

Es sollte nur ein Feld "Arbeitsplatz" geben, in welchem die Fremdschlüssel aus der tblArbeitsplatz (in welcher dann alle vorhandenen Arbeitsplätze aufgelistet sind) eingetragen werden.

Um jetzt zu verhindern, daß ein Arbeitsplatz für eine Schicht an einem Tag mehrfach belegt wird, muß du lediglich in deiner Zuordnungstabelle einen zusammengesetzten eindeutigen Index über die Fremdschlüsselfelder TagID (Datum-Tabelle), SchichtID (Schicht-Tabelle) und ArbeitsplatzID (ArbeitsplatzID) setzen. Access kümmert sich dann darum, daß es zu keiner Doppelbelegung eines Arbeitsplatzes pro Tag und pro Schicht kommt.
Katrin6138
lernt immer mehr dazu


Verfasst am:
22. Aug 2012, 20:10
Rufname:


AW: Endlosformular - Kombinationsfelder sperren - AW: Endlosformular - Kombinationsfelder sperren

Nach oben
       Version: Office 2003

Lieber Gast,

ich glaube, deine Antwort trifft es noch nicht genau. Aber vielleicht kannst du mir sie noch genauer erklären?

Eine Beispieldatei kann ich leider nicht hochladen. Ich kriege die Antwort: "Die Erweiterung mdb ist in diesem Forum verboten"

Vielleicht hilft ein Screenshot? Ich hänge mal einen von meinem Formular an.

Voraussetzungen: jeder kann Arbeitsplatz und Schicht wählen (später gibt es dann noch genaue Vorgaben, wieviel Mitarbeiter pro Schicht notwendig sind). Aber wenn die Mittelschicht und "8.Std" (für Vollzeitbeschäftigte) gewählt ist, soll der betreffende Arbeitsplatz für weitere Eingaben gesperrt sein.

Ich finde ja, daß das Formular eigentlich eine "Vergewaltigung" von Access ist und die Eingaben in Excel einfacher und eleganter zu lösen wären. Aber es ist ausdrücklich eine Access-Datenbank gewünscht.



frm_Raumbelegung.docx
 Beschreibung:

Download
 Dateiname:  frm_Raumbelegung.docx
 Dateigröße:  201.43 KB
 Heruntergeladen:  14 mal

KlausMz
Moderator Access


Verfasst am:
22. Aug 2012, 20:15
Rufname:
Wohnort: Irgendwo in der Pfalz

AW: Endlosformular - Kombinationsfelder sperren - AW: Endlosformular - Kombinationsfelder sperren

Nach oben
       Version: Office 2003

Hallo,
Zitat:
Eine Beispieldatei kann ich leider nicht hochladen. Ich kriege die Antwort: "Die Erweiterung mdb ist in diesem Forum verboten"
Du musst die MDB zippen, dann kannst Du diese hochladen.

Wie Gast bereits schrieb ist das Datenmodell ist falsch.
Du brauchst eine extra Tabelle für die Arbeitsplätze und eine extra Tabelle für die Erfassung der Zeiten.
Dabei wird für jeden Arbeitspaltz und Mitarbeiter für jede Schicht eine Datensatz angelegt, keine Felder für die Arbeitsplätze.

Bei korrektem Datenmodell ist die Eingabe/Erfassung in Access einfacher und eleganter. Du musst Dich für Access vollkommen von der Exceldenke lösen. Der Tabellenaufbau einer Datenbank ist mit Exceltabellen nicht zu vergleichen. Mit einer Tabelle für die Zeiterfassung wirst Du Dein Vorhaben nicht umsetzen können.

Lade die DB gezippt mal hoch, ich fürchte da liegt einiges im Argen.

_________________
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
Katrin6138
lernt immer mehr dazu


Verfasst am:
22. Aug 2012, 20:38
Rufname:

AW: Endlosformular - Kombinationsfelder sperren - AW: Endlosformular - Kombinationsfelder sperren

Nach oben
       Version: Office 2003

Hallo Klaus,

vielen Dank für den Tipp mit dem Zippen. Und hier ist jetzt die Beispieldatenbank.

Liebe Grüße
Katrin



Raumbelegung.zip
 Beschreibung:

Download
 Dateiname:  Raumbelegung.zip
 Dateigröße:  50.95 KB
 Heruntergeladen:  15 mal

Gast



Verfasst am:
23. Aug 2012, 09:39
Rufname:

AW: Endlosformular - Kombinationsfelder sperren - AW: Endlosformular - Kombinationsfelder sperren

Nach oben
       Version: Office 2003

Hallo,

Oha, da ist ja so gut wie alles falsch. Shock

Zunächst mal was ganz Grundsätzliches:
Keine Leerzeichen in Benennungen verwenden!
Von Access reservierte Benennungen wie "Name", "Datum", "Monat" nicht verwenden.
In jede Tabelle einen Primärschlüssel definieren.
Beziehungen zwischen den Tabellen (Primärschlüsselfeld auf der 1-Seite mit Fremdschlüsselfeld auf der n-Seite) setzen.
Aufzählungen bei Feldnamen (Raum1, Raum2 usw.) sind grundsätzlich falsch!

Ich fürchte du mußt nochmal ganz von vorne anfangen mit deinem Datenmodell. Dann wird sich auch deine Frage nach dem Sperren der Kombinationsfelder erübrigen, denn das wird dann nicht mehr nötig sein.

Hier findest du eine gute allgemeinverständliche Hilfe bei der Erstellung deines Datenmodells:
Datenmodell entwickeln: Welche Tabellen und Beziehungen?
KlausMz
Moderator Access


Verfasst am:
23. Aug 2012, 10:01
Rufname:
Wohnort: Irgendwo in der Pfalz


AW: Endlosformular - Kombinationsfelder sperren - AW: Endlosformular - Kombinationsfelder sperren

Nach oben
       Version: Office 2003

Hallo,
und zusätzlich:
- Tabelle Feiertage ist überflüssig, die Feiertage kommen als Häkchenfeld in die Tabelle mit den Tagen (Kalendertabelle)
- Die Tabelle mit den Monatsnamen kann ersatzlos entfallen, die hat Access standardmäßig
- Die Monatszahl in der Kalendertabelle ist überflüssig
- Der zusammgesetzte Name in der Mitarbeitertabelle ist überflüssig, wird mit einer Abfrage gemacht.

Ich halte die DB in der vorliegenden Form für unbrauchbar.
Primärschlüssel, Fremdschlüssel und gesetzte Beziehungen sind für eine funktionierende DB unerlässlich.

Und noch mal der Hinweis: Löse Dich von der Exceldenke, das geht mit Access schief.

Du solltest Dich mit den Grundlagen zum Aufbau relationaler Datenbanken beschäftigen.
Zur Datenmodellierung/Datenbankstruktur findest Du hier weitere Infos:
Dokumente zur Datenmodellierung
Relationale Datenbanken, Eine Einführung

_________________
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
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: Mehrere Kombinationsfelder nach Datenimport ausfüllen 1 vrosin 292 29. Jan 2013, 14:39
Gast Mehrere Kombinationsfelder nach Datenimport ausfüllen
Keine neuen Beiträge Access Tabellen & Abfragen: Datensatz sperren 8 Iron70 292 16. Sep 2012, 21:09
JMalberg Datensatz sperren
Keine neuen Beiträge Access Tabellen & Abfragen: einfache Abfrage im Endlosformular 1 Fleet 182 15. Dez 2010, 18:38
blackoutNO einfache Abfrage im Endlosformular
Keine neuen Beiträge Access Tabellen & Abfragen: Navigation über Endlosformular 4 Tranfunsel 495 17. Sep 2009, 10:14
Gast Navigation über Endlosformular
Keine neuen Beiträge Access Tabellen & Abfragen: Problem: endlosformular -> zelle im Währungsformat anzeig 1 Heini_net 893 16. Sep 2009, 20:31
Heini_net Problem: endlosformular -> zelle im Währungsformat anzeig
Keine neuen Beiträge Access Tabellen & Abfragen: Aus einem Endlosformular Datensatz durch klicken anzeigen 2 frontera66 292 02. Jul 2009, 07:19
frontera66 Aus einem Endlosformular Datensatz durch klicken anzeigen
Keine neuen Beiträge Access Tabellen & Abfragen: Abhänige Kombinationsfelder. Hilfe! 1 Toffel84 405 04. März 2009, 01:44
Willi Wipp Abhänige Kombinationsfelder. Hilfe!
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage: Datensätze sperren 9 wotan85 399 09. Mai 2008, 10:58
wotan85 Abfrage: Datensätze sperren
Keine neuen Beiträge Access Tabellen & Abfragen: Datensatz in einer Tabelle sperren 1 Tomate007 806 01. Aug 2007, 12:29
RadiatoR Datensatz in einer Tabelle sperren
Keine neuen Beiträge Access Tabellen & Abfragen: tabelle sperren! 2 jevertom 502 11. Jul 2007, 10:59
jevertom tabelle sperren!
Keine neuen Beiträge Access Tabellen & Abfragen: Tabelle für andere sperren, sobald einer sie nutzt 5 RatlosIn Köln 484 08. Jun 2007, 00:15
Willi Wipp Tabelle für andere sperren,  sobald einer sie nutzt
Keine neuen Beiträge Access Tabellen & Abfragen: Endlosformular - Inhalt Textfelder 1 arnoldh 490 20. Mai 2007, 19:30
stpimi Endlosformular - Inhalt Textfelder
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: MS Frontpage