Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Anzahl von Zuordnungen als Fremdschlüssel begrenzen
zurück: #Fehler verhindern weiter: Zugriff auf Access Datenbank ohne Lizenz Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
leonardokroeger
Access-Einsteiger oder eher Excel-Umsteiger:)


Verfasst am:
06. Jul 2011, 16:13
Rufname:

Anzahl von Zuordnungen als Fremdschlüssel begrenzen - Anzahl von Zuordnungen als Fremdschlüssel begrenzen

Nach oben
       Version: Office 2010

Hallo Access-Freunde,
ich habe wieder ein Problem, wo mir leider die richtigen Suchbegriffe fehlen, um die Lösung selbst zu recherchieren.

Ich habe folgende Fragestellung:

Wir rufen Kunden an, um einen Termin auszumachen. An diesem Tag werden sie dann von uns besucht. Wir haben nur eine begrenzte Anzahl an Tagen zur Verfügung, die solchen Terminen zur Verfügung stehen. Und wir können nicht, sagen wir mal, 500 Kunden an einem Tag besuchen.

Folgende Struktur habe ich mir überlegt:
tblClientes mit allen Kontaktdaten und weiteren "Totschlagfeldern" für Filter (Kunde will nie mehr etc.)
tblAgendamentos mit allen unseren Anrufen an den jeweiligen Kunden (diese Tabelle dient neben der offensichtlichen Funktion auch noch zur weiteren Sortierung der Kunden, sodass wir erstmal die noch nie angerufenen anrufen können und dann diejenigen, wo der letzte Anruf schon länger zurückliegt als bei allen anderen. Für Interessierte: Bei der Lösung wurde mir hier im Forum auch schon geholfen.)
tblExecucoes mit ausgemachtem Termin und weiteren Schritten.
tblDias mit allen zur Verfügung stehenden Tagen und der jeweiligen Tageskapazität.

In tblExecucoes wird der Termin mit einem Tag aus tblDias befüllt (im Formular z.B. mit einer Dropdownliste), bisher kann ich aber die Tageskapazität nicht berücksichtigen. Es stehen also auch dann Tage für die Terminvergabe zur Verfügung, wenn das jeweilige Limit erreicht ist.

Was kann ich tun? Wonach sollte ich bei Mutter Google suchen, was sind eure wichtigsten Tipps, was häufige Fehler, ach, ihr wisst schon Wink ...

Danke für die Hilfe!
derArb
getting better


Verfasst am:
06. Jul 2011, 16:27
Rufname: derArb
Wohnort: Berlin


AW: Anzahl von Zuordnungen als Fremdschlüssel begrenzen - AW: Anzahl von Zuordnungen als Fremdschlüssel begrenzen

Nach oben
       Version: Office 2010

Hallo,
das verhält sich wie im realen Leben.
Es können an Tag X 20 Termine sein, welche ohne Problem abzufertigen sind.
Es kann an Tag Y ein Termin sein, der den ganzen Tag Deiner Aufmerksamkeit benötigt.
Du könntest pro Termin eine geschätzte Bearbeitungszeit mitführen.
Oder einfach eine Uhrzeit von und Uhrzeit bis pro Termin mitführen.
Dann siehst Du ja selbst sofort, ob noch jemand aufnehmbar ist an Termin X oder Termin Y.
Vor dem Eintragen eines Termins sollte Deine DB Dir melden, wer denn an dem Termin schon eingetragen ist, bevor Du den neuen Termin eintragen kannst.
MfG
derArb

_________________
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.
leonardokroeger
Access-Einsteiger oder eher Excel-Umsteiger:)


Verfasst am:
06. Jul 2011, 16:39
Rufname:

AW: Anzahl von Zuordnungen als Fremdschlüssel begrenzen - AW: Anzahl von Zuordnungen als Fremdschlüssel begrenzen

Nach oben
       Version: Office 2010

Hallo derArb,
danke für deine schnelle Antwort!
Beim Termin wird eine relativ schnelle Standardprozedur durchlaufen, sollte sich hier grundlegend was ändern (es ist die erste Durchführung dieses Projektes, Erfahrungswerte werden also erst gesammelt) müsste dann der Kapazitätsparameter angepasst werden.
Der entscheidende Satz in deiner Antwort ist für mich in diesem Moment dieser:
Zitat:
Vor dem Eintragen eines Termins sollte Deine DB Dir melden, wer denn an dem Termin schon eingetragen ist, bevor Du den neuen Termin eintragen kannst.
Ich bin blutigster Anfänger, ich weiss einfach nicht, wie ich diese Lösung umsetzen kann...

Ich stelle mir vor, dass im Formular, das wir beim Anruf verwenden, alle vorher festgelegten Tage zur Auswahl stehen (sodass auch der Kunde wählen kann). Ist dann aber an einem Tag eine bestimmte Anzahl (möglichst die, die ich veränderbar in de tblDias als Kapazitätsfeld bestimme) erreicht, fliegt dieser Tag automatisch aus der (Dropdown)liste, sodass es schlicht von der Struktur unmöglich ist, die Kapazität zu überschreiten. Ich möchte möglichst vermeiden, dass es zu Fehlerrückmeldungen kommt, sondern schlicht und einfach die Möglichkeit gar nicht erst angezeigt wird...

Der erste Schritt ist intuitiv aber wahrscheinlich vor der Formularebene zu erledigen...
Ich denke an eine Abfrage, die die Kapazität berücksichtigt und die ich dann vielseitig einsetzen kann, zb. in dropdownlisten.

also, wie kann ich es umsetzen? Very Happy

Danke!!
MissPh!
Office-VBA-Programmiererin


Verfasst am:
06. Jul 2011, 16:50
Rufname:
Wohnort: NRW

AW: Anzahl von Zuordnungen als Fremdschlüssel begrenzen - AW: Anzahl von Zuordnungen als Fremdschlüssel begrenzen

Nach oben
       Version: Office 2010

Hallo,

du kannst während der Eingabe im Formular, bspw. im AfterUpdate-Ereignis, prüfen ob das Tageslimit erreicht ist und die weitere Eingabe unterbinden.
Hierzu kannst du die DCount-Methode einsetzen, um die Datensätze zu zählen, sowie DLookUp, um das Limit auszulesen, falls du es nicht schon irgendwo im Formular zur Verfügung hast.
Das Sperren des Formulars kann durch Festlegen der Eigenschaft "AllowAdditions" per VBA erfolgen.

_________________
Gruß MissPh!
Gast



Verfasst am:
06. Jul 2011, 16:55
Rufname:

AW: Anzahl von Zuordnungen als Fremdschlüssel begrenzen - AW: Anzahl von Zuordnungen als Fremdschlüssel begrenzen

Nach oben
       Version: Office 2010

Zitat:
Ich denke an eine Abfrage, die die Kapazität berücksichtigt und die ich dann vielseitig einsetzen kann
Einen OUTER JOIN hast Du schon kennengelernt. Das funktioniert auch bei Terminen: Lege Dir eine Hilfstabelle an, die die möglichen Termine vollständig enthält (über ausreichende Zeiträume), wobei der Termin aus Datum und Uhrzeit besteht.

Eine solche Lösung bietet dann nicht nur eine Einzelprüfung (Formular, DCount etc.), sondern viele zusätzlichen Massenauswertungen (freie Tage, dünn terminierte Tage uva.)
derArb
getting better


Verfasst am:
06. Jul 2011, 16:56
Rufname: derArb
Wohnort: Berlin

AW: Anzahl von Zuordnungen als Fremdschlüssel begrenzen - AW: Anzahl von Zuordnungen als Fremdschlüssel begrenzen

Nach oben
       Version: Office 2010

Hallo,
ich kenne Dein DB Modell nicht. Habe auch momentan wenig Zeit, um mich näher da hinein zu vertiefen.
Aber:
Nimm pro Termin ein Feld estimatedTime
Summiere in einer Abfrage diese Zeiten.
Überprüfe in einem Berechnungsfeld dieser Abfrage, ob ein vorgegebener ZeitWert
überschritten wird, bevor ein neuer Eintrag in die Termintabelle möglich ist.
MfG
derArb

_________________
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.
Gast



Verfasst am:
06. Jul 2011, 16:58
Rufname:

AW: Anzahl von Zuordnungen als Fremdschlüssel begrenzen - AW: Anzahl von Zuordnungen als Fremdschlüssel begrenzen

Nach oben
       Version: Office 2010

Nachtrag:
Vor allem kannst Du eine solche Abfrage als Datenherkunft für ein Kombifeld nutzen, um dem User nur gültige (freie) Werte zur Auswahl anzubieten.
leonardokroeger
Access-Einsteiger oder eher Excel-Umsteiger:)


Verfasst am:
07. Jul 2011, 14:29
Rufname:


AW: Anzahl von Zuordnungen als Fremdschlüssel begrenzen - AW: Anzahl von Zuordnungen als Fremdschlüssel begrenzen

Nach oben
       Version: Office 2010

Hallo!
Vielen Dank für die zahlreichen Antworten.

Mit meinen beschränkten Mitteln bin ich den offensichtlichsten und einfachsten Weg gegangen und habe die Abfrage der Kombibox wie folgt gestaltet:
Code:
SELECT   tblDias.IDDia, tblDias.Dia, tblDias.Capacidade,
         Count(tblEs.FKC) AS [Clientes Agendados]
FROM     tblDias LEFT JOIN tblEs ON tblDias.IDDia = tblEs.FKDia
GROUP BY tblDias.IDDia, tblDias.Dia, tblDias.Capacidade
HAVING   Count(tblEs.FKC)<[tblDias]![Capacidade]
ORDER BY tblDias.Dia;
Ist für meine Bedürfnisse perfekt! (Es muss z.b. nicht im gleichen Schritt über Requery aktualisiert werden o.ä.)

Wenn ihr da Probleme seht, bitte gerne kritisieren!

Nochmals Danke!
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: Nach Kriterien suchen und anzahl ausgeben 3 romu2000 602 11. Feb 2007, 23:43
Willi Wipp Nach Kriterien suchen und anzahl ausgeben
Keine neuen Beiträge Access Tabellen & Abfragen: Begrenzung max. Anzahl an Tabellen 1 Jadexy 909 05. Feb 2007, 19:56
rita2008 Begrenzung max. Anzahl an Tabellen
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage einer bestimmten Anzahl von max-Werten 1 Gast245 488 30. Jan 2007, 10:14
jens05 Abfrage einer bestimmten Anzahl von max-Werten
Keine neuen Beiträge Access Tabellen & Abfragen: Anzahl der Datensätze zählen 5 mr_ratlos 7248 15. Nov 2006, 05:40
Gast Anzahl der Datensätze zählen
Keine neuen Beiträge Access Tabellen & Abfragen: Anzahl der Einträge aus einer Tabelle ermitteln 1 Bernett22 821 22. Sep 2006, 12:27
Gast Anzahl der Einträge aus einer Tabelle ermitteln
Keine neuen Beiträge Access Tabellen & Abfragen: Anzahl pro Monat ermittlen! 10 Mini84 796 16. Aug 2006, 10:42
Mini84 Anzahl pro Monat ermittlen!
Keine neuen Beiträge Access Tabellen & Abfragen: Ist es möglich die Anzahl der Reihen zu zählen? 2 Andreas_04 2329 20. Jul 2006, 13:56
RRobert Ist es möglich die Anzahl der Reihen zu zählen?
Keine neuen Beiträge Access Tabellen & Abfragen: Anzahl Stellen als Suchkriterium 15 Jenny_neu 1325 12. Mai 2006, 11:31
Jenny_neu Anzahl Stellen als Suchkriterium
Keine neuen Beiträge Access Tabellen & Abfragen: Wie setze ich einen Fremdschlüssel? 2 B00n 1216 21. März 2006, 10:56
B00n Wie setze ich einen Fremdschlüssel?
Keine neuen Beiträge Access Tabellen & Abfragen: DS Anzahl 9 lily 615 13. März 2006, 19:32
jens05 DS Anzahl
Keine neuen Beiträge Access Tabellen & Abfragen: Access Abfrage -> Anzahl vorhandener Zeilen je neuem Inha 4 spoily 8427 22. Feb 2006, 09:27
spoily Access Abfrage -> Anzahl vorhandener Zeilen je neuem Inha
Keine neuen Beiträge Access Tabellen & Abfragen: Anzahl: mind. 2 1 Access-Unerfahrene 484 21. Feb 2006, 15:45
steffen0815 Anzahl: mind. 2
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: HTML Editor Forum