Guten Abend,
ich erstelle eine Datenbank, um Montagetermine verschiedenen Kundenaufträgen, verschiedenen Mitarbeitern und auch Tagen zuzuordnen.
Es gibt die Tabelle Aufträge, in denen die Kundendaten erfasst werden. Außerdem wir hier erfasst, welcher Mitarbeiter das Fz des Kunden wann entgegen nimmt und welcher Mitarbeiter wann das Fz zurück gibt.
Ich kann die Daten in den Tabellen entsprechend erfassen.
Jetzt arbeite ich an einem Formular, um neue Montagetermine zu erfassen. In diesem Formular möchte ich die Referenz auf den Kundenauftrag erfassen, die Kundendaten darüber ausgeben, anzeigen wie viele AW (Arbeitswerte) der Auftrag umfasst und möglichst auch, wie viele AW bereits in Terminen verplant sind. Das Formular zeigt die bestehenden Daten an. Ich kann aber keine neuen Datensätze hinzufügen.
Die vorhandenen Beziehungen hänge ich mal an. Den Aufbau des Formulars ebenfalls. Was benötigt ihr noch, um meinen Fehler zu finden.
Danke auf jeden Fall im Voraus.
Danke im Voraus für eure Hilfe.
Hallo,
es liegt an der Abfrage, zeige daher den SQL Code der Abfrage (bitte formatiert und Code Tags).
Nachtrag:
In den Beziehungen würde ich grundsätzlich den Typ 1 einstellen. Den Typ ändert man nur bei Bedarf (und nur dann !) in den Verknüpfungen der Abfrage(n).
Hallo Klaus,
ich hoffe, das hier ist das, was Du gesucht hast?
SELECT
Auftraege.ID,
Auftraege.txt_AB_Nr,
Auftraege.txt_Kd_Name,
Termine.*,
Termine.ref_Auftrag,
Termine.sel_Mitarbeiter,
Termine.Dat_Datum,
Termine.Dat_Beginn,
Termine.int_AW_planen
FROM Auftraege INNER JOIN Termine ON Auftraege.ID = Termine.ref_Auftrag
ORDER BY Auftraege.int_Kd_Nr, Auftraege.txt_AB_Nr;
Die Verknüpfungen habe ich alle auf Typ 1 gestellt.
@andreas, hast du jetzt das Forum gewechselt?
Grundlegend:
Im Subform sollten im Select Teil sollten nur Daten von Termine stehen.
Also eigentlich nur die Spalten aus Tabelle Termine, die auch wirklich angezeigt werden bzw. benötigt werden und keine Daten aus Auftraege.
Außerdem ist die Sortierung doch sinnlos, da im HF ja nur ein Auftrag steht.
Also gesamten Join raus und wenn Sortierung nach einem sinnvollen Kriterium.
Übrigens: Das Datenmodell scheint auch noch überarbeitswert: Kundennummer und Kundenname in Aufträge geht gar nicht.
Hallo,
noch weitere Anmerkungen:
Du müsstest ja 2 Abfragen haben, eine für das Hafo und eine für das Ufo.
ZitatDie Verknüpfungen habe ich alle auf Typ 1 gestellt.
Im Beziehungsbild sind das Beziehungen und keine Verknüpfungen. Beziehungen werden im Beziehungsfenster eingestellt und werden im Regelfall nicht mehr geändert. Es sei denn, es muss am Datenmodell was geändert werden. Verknüpfungen werden in Abfragen angelegt. Verknüpfungen können (müssen aber nicht) sich von Beziehungen unterscheiden und können beligig (sinnvoll) geändert werden.
Das beziehungsbild sollte auch alle Tabeleln umfassen. Mir war das mit den Kundenfeldern (Hinweis Markus) gar nicht aufgefallen. In die Auftragstabelle gehört die KundenID und sonst keine Felder des Kunden (wie bereits gesagt).
Du solltest Dir eine Datenbank anlegen zum Entwickeln mit Spieldaten, eine soclhe Datenbank kannst Du auch mal komplett hier hochladen. Außerdem sparst Du das unkenntlich machen von Feldinhalten bei Bildern.
PS:
Die vielfach als vorteilhaft genannten Kürzel vor den Feldnamen (txt, bool, int, ....) halte ich für ersatzlos überflüssig. Machen nur Arbeit. Stelle Dir mal vor, Du bisst schon in einem fortgeshrittenen Statium der DB und stellst plötzlich fest, dass Du einen Datentyp ändern musst. Was Du da alles ändern musst wenn Du konsequent bis, Formulare, Abfragen, Berichte, VBA Code. Und manches findet man nicht auf Anhieb.
Das ist jetzt nur ein Rat und auch eine persönliche Sicht.
Hallo zusammen und erst einmal herzlichen Dank für die ausführlichen Erläuterungen. Meine Datenbank Zeiten sind lange her und ich komme nach und nach wieder rein.
Zitat von: markusxy am Dezember 16, 2022, 10:16:13@andreas, hast du jetzt das Forum gewechselt?
@markusxy Warum fragst Du? Ich bin doch hier im access-o-mania Forum und stelle meine Fragen in den jeweils Betroffenen Bereichen Tabellen, Abfragen, Formulare.
Ich habe auch in einem anderen Forum geschrieben, fühle mich hier aber deutlich besser aufgehoben. Ich hoffe ich darf bleiben ;) ?
Zitat von: MzKlMu am Dezember 16, 2022, 11:26:29Im Beziehungsbild sind das Beziehungen und keine Verknüpfungen.
Ja, ich verstehe. Es ist wichtig hier die richtigen Begriffe zu verwenden. Ich gelobe Besserung!
Zitat von: MzKlMu am Dezember 16, 2022, 11:26:29PS:
Die vielfach als vorteilhaft genannten Kürzel vor den Feldnamen (txt, bool, int, ....) halte ich für ersatzlos überflüssig.
:o Danke, mir ging das schon früher gegen den Strich und ich wollte es jetzt besonders gut machen... Jetzt kann ich wieder normal denken.
Zum Thema Tabelleninhalt Aufträge:
Wir haben zu 95% Einzelaufträge. Ein Kunde = ein Auftrag. Daher habe ich gar keine Tabelle Kunden angelegt und erfasse die Daten alle in der Tabelle Auftraege.
Ich gebe euch natürlich recht, dass im Normalfall eine Tabelle Kunden helfen würde, wenn es wiederkehrende Kunden sind. Wir haben jedoch festgestellt, dass sich bei den Kunden als "Wiederholungstäter" immer auch Daten ändern und ich möchte nicht für den Folgeauftrag eines Kunden die Handynummer in der Kundentabelle ändern und damit dann auch die Daten des alten Auftrags verändern.
Ich habe das Formular jetzt komplett neu aufgebaut und kann wieder neue Daten eingeben. Was mir jetzt allerdings fehlt ist die hilfsweise Darstellung zum Beispiel des Kundennamens, der Telefonnummer aus der Tabelle Aufträge im Terminformular.
Hintergrund: Der Mitarbeiter plant einen neuen Montagetermin und gibt dazu die Auftragsnummer ein. Nachdem bei uns sehr viele Unterbrechungen vorkommen, möchte ich halt dass der Mitarbeiter oder halt auch ich, wenn ich dann wieder an den Bildschirm komme und in der Hektik denke, die Montage für Kunde 0815 einzugeben, der Auftrag dann aber für Kunde 4711 ist.
Wenn ich jetzt dem Formular ein Feld Kd_Name aus der Tabelle Auftraege hinzufüge, kann ich wieder nichts mehr bearbeiten. Gibt es nicht die Möglichkeit die Infos, die hinter der Beziehung Termintabelle ref_Auftraege in der Tabelle Auftraege liegen?
Danke nochmals für Eure Hilfe.
Hallo,
Du hast doch hier ein Hafo und darin ein Ufo. Im Hafo zeigst Du die Auftragsdaten an (mit den Kundendaten) und im Ufo die Termindaten. In den Formularen nur die Tabellen/Abfragen die Du dazu brauchst.
Hafo und Ufo werden über IDAuftrag und ref_Auftrag verknüpft.
Dann hast Du im Ufo nur die Termine des im Hafo angezeigten Kunden. Wird durch das Hafo geblättert, passen sich die Termine im Ufo automatisch an.
Nenne die PS-Felder nicht einfach ID, sondern mit Bezug zur Tabelle (IDAuftrag, IDTermin, IDMitarbeiter).
Was kommt eigentlich in die Felder ..Fuen und ..Fueg mit den Datumsfeldern ?
Hallo Klaus,
also benötige ich eigentlich nur das Formular Auftraege, da ich dort ja die Montagetermine im Ufo mit eingeben kann.
Mann, Mann, manchmal steht man echt auf dem Schlauch!
Besteht eigentlich die Möglichkeit ein Ufo doppelt anzuzeigen? Ich denke da an das Ufo als Eingabeformular und dann noch einmal als Tabelle, damit man die bereits gebuchten Termine einfach als Tabelle sehen kann.
Übrigens noch zum Thema Fuen und Fueg. Das ist der Termin zur Fahrzeugübernahme (Kunde bringt das Fahrzeug) und Fahrzeugübergabe (Kunde holt es wieder ab).
Letzten Endes möchte ich hierüber alle Termine in die entsprechenden Outlook-Kalender schreiben und ermitteln, wie unsere Auslastung über einen bestimmten Zeitraum ist. Ich schätze, dass ich dazu sicher auch noch mal eure Hilfe benötigen werden. :-[
Hallo,
ZitatBesteht eigentlich die Möglichkeit ein Ufo doppelt anzuzeigen?
Ich würde hier im Ufo die Termine als Endlosformular anzeigen. Und dann bei einem Doppelkick ein weiteres Einzelformular öffen, das den Datensatz vollständig anzeigt und mit dem man dann auch neue Termine anlegen kann.
Was mich aber etwas wundert, ist dass es zu einem Auftrag mehrere Termine geben kann (es ist ja eine 1:n Bez.)
ZitatFuen und Fueg. Das ist der Termin zur Fahrzeugübernahme (Kunde bringt das Fahrzeug) und Fahrzeugübergabe
Die Werte gehören mit Datum und Art (Übernahme/Übergabe) als je ein Datensatz in eine extra Tabelle. Damit entfällt auch die Alliastabelle "Mitarbeiter_1".
Zitatalle Termine in die entsprechenden Outlook-Kalender schreiben und ermitteln, wie unsere Auslastung über einen bestimmten Zeitraum ist.
Was willst Du da mit Outlook, eine solche Auswertung kann Access besser.
Hallo Klaus,
das Endlosformular habe ich eingestellt und ich kann auch mit Doppelklick dann das zweite Formular zur Eingabe der Daten öffnen. Es wird allerdings immer der erste Datensatz geöffnet und nicht der von mir markierte Datensatz des Endlosformulars.
Ich habe die Öffnung bei Doppelklick hinterlegt über die Eigenschaft Doppelklick im Detailbereich des Ufos und dann mit dem Makrogenerator gearbeitet. Hast Du hier einen Tipp?
Zitat von: MzKlMu am Dezember 16, 2022, 23:43:33Die Werte gehören mit Datum und Art (Übernahme/Übergabe) als je ein Datensatz in eine extra Tabelle. Damit entfällt auch die Alliastabelle "Mitarbeiter_1".
Das ist schon umgesetzt!
Zitat von: MzKlMu am Dezember 16, 2022, 23:43:33Was mich aber etwas wundert, ist dass es zu einem Auftrag mehrere Termine geben kann (es ist ja eine 1:n Bez.)
Das ist einfach zu erklären: Wir haben die Fahrzeuge teilweise längere Zeit da und dann arbeitet zum Beispiel am Montag Monteur A und Mittwochs dann Monteur B. Donnerstags stellen dann A und C den Auftrag fertig.
Zitat von: MzKlMu am Dezember 16, 2022, 23:43:33Was willst Du da mit Outlook, eine solche Auswertung kann Access besser.
Natürlich laufen die Auswertungen über Access. Nur deswegen mache ich mir ja die Arbeit hier. Bei Outlook geht es mir rein um die Anzeigen im Kalender, weil ich da auch auf einer Messe im Handy reinsehen kann, wenn ich die Datenbank nicht zur Hand habe.
Zitat von: Andreas Irmer am Dezember 16, 2022, 18:44:59@markusxy Warum fragst Du?
Es gibt in einem anderem Forum grad das gleiche Thema, mit einem identen Usernamen.
Zitat von: Andreas Irmer am Dezember 16, 2022, 18:44:59Wir haben zu 95% Einzelaufträge. Ein Kunde = ein Auftrag. Daher habe ich gar keine Tabelle Kunden angelegt und erfasse die Daten alle in der Tabelle Auftraege.
Auch wenn man das macht ist es falsch eine KundenID zu führen.
Wenn der Kunde im Auftrag geführt wird, musst du bei allen Bezügen auf den Kunden die AuftragsID verwenden, ansonsten brichst du mit der Normalisierung.
Zitat von: markusxy am Dezember 17, 2022, 14:17:03Es gibt in einem anderem Forum grad das gleiche Thema, mit einem identen Usernamen
Hallo Markus, ich kann mich nicht erinnern, woanders dieses Thema gepostet zu haben. Kannst Du mir den Link dazu bitte senden? (Vielleicht habe ich ja eine gespaltene Persönlichkeit....)
Zitat von: markusxy am Dezember 17, 2022, 14:18:19Auch wenn man das macht ist es falsch eine KundenID zu führen.
Das verstehe ich natürlich. Allerdings verwende ich doch gar keine KundenID. Der Kunde wird lediglich mit Namen und Nummer im Auftrag unter der AuftragsID verwendet.
Hallo,
zeige bitte ,mal das neue Beziehungsbild.
Wie Markus, bin ich auch der Meinung, dass die Kunden in eine extra Tabelle gehören und in den Auftrag nur die KundenID als Fremdschlüssel.
Was er llerdings damit gemeint hat die KundenID sei falsch habe ich auch nicht verstanden.
Hier die Ansicht der Beziehungen:
Hallo,
und wo ist die vorgeschlagene extra Tabelle für Übernahme/Übergabe jeweils mit Datum ?
Du hast doch geschrieben ist umgesetzt.
Und noch mal der Hinweis: Die Kunden sollten in eine extra Tabelle.
Hallo Klaus,
die Tabelle Übernahme/Übergabe gibt es schon aber die habe ich erst mal vernachlässigt, weil ich mich auf die Montagen konzentrieren wollte.
Ich binde das jetzt mit ein und stelle auch eine Tabelle Kunden ein, wenn es denn wichtig ist.
Dann poste ich die Beziehungen erneut.
Wenn ich schon eine Extra Tabelle für die Kunden erstelle, dann könnte ich hier doch einen Export aus unserer Wawi machen, damit wir Kd-Nummer, Name, Telefonnr. und Mailadresse übernehmen kann.
Ich habe daher einen Export aus unserer Wawi mit den entsprechenden Feldern gemacht und in einer Excel Datei gespeichert.
Wenn ich jetzt über externe Daten versuche eine Verknüpfung zu dieser externen Datenquelle herzustellen, bekomme ich jedoch eine Fehlermeldung. Siehe Anhang
Hallo,
da musst Du Deine Access Installation überprüfen.
Also jetzt mal der aktuelle Stand.
Ich habe die Tabelle Kunden, die ich aus unserer Wawi exportieren kann, über den Tabellenverknüpfungsmanager in meiner Datenbak hinzugefügt.
Außerdem habe ich die Tabelle FuenFueg in den Beziehungen eingefügt und das Beziehungsbild hier angehängt.
Im nächsten Schritt habe ich dann das Formular zur Auftragserfassung neu erstellt und dort das Unterformular mit den Kundendaten hinzugefügt, damit diese angezeigt werden.
Aktuell hänge ich gerade daran, wie ich am sinnvollsten die Termine für die Fahrzeugübernahme und Übergabe eintragen kann.
Ich habe dazu zwei Formulare erstellt und diese als UNterformulare hinzugefügt.
Wie kann ich denn hier definieren, dass das eine Formular mir die vielleicht schon bestehen de Tabellezeile für die Fahrzeugübernahme oder falls noch kein Eintrag für den Auftrag da ist, ein leeres Formular? Und wie mache ich das dann auch für das andere Ufo?
Hallo,
in der Tabelle "FuenFueg" sind die Felder zur Tätigkeit und Dauer_AW (möglicherweise) überflüssig, dafür fehlt ein Feld für die Vorgangsart (Übergabe oder Übernahme), oder ist Übergabe bzw. Übernahme eine Tätigkeit zu der Du auch die AW brauchst?
Noch eine Frage zu Übergabe und Übernahme: Gelten diese je Auftrag, das heißt, das Fahrzeug ist während der ganzen Auftragsdauer im Hause, oder kommt das Fahrzeug zu jedem Termin neu ?
Für die Kundendaten braucht man kein Unterformular. Du kannst die Auftragsdaten und die Kundendaten (mit Hilfe einer Abfrage) direkt im Hafo anzeigen. Du brauchst nur ein Ufo für die Termine.
ZitatWie kann ich denn hier definieren, dass das eine Formular mir die vielleicht schon bestehen de Tabellezeile für die Fahrzeugübernahme oder falls noch kein Eintrag für den Auftrag da ist, ein leeres Formular?
Du musst im Befehl zu Öffnen des Terminformulars die die TerminID in den OpemArg übergeben. Und dann im öffnenden Formular die OpenArgs prüfen und dann entsprechend verzweigen.
TerminID da > bestehenden Termin anzeigen (FindFirst), noch nicht da zum neuen Datensatz/Termin.
Das wird alles per VBA gemacht, keine Makros anlegen, zu Makros kriegst Du keine Hilfe, die verwendet kaum jemand.
PS: Bei Beziehungsbildern die Tabellen immer so groß ziehen, dass man alle Felder sieht.
Zitat von: MzKlMu am Dezember 18, 2022, 17:21:28in der Tabelle "FuenFueg" sind die Felder zur Tätigkeit und Dauer_AW (möglicherweise) überflüssig, dafür fehlt ein Feld für die Vorgangsart (Übergabe oder Übernahme), oder ist Übergabe bzw. Übernahme eine Tätigkeit zu der Du auch die AW brauchst?
Die Tätigkeit ist eben Montage, Urlaub.... Übernahme und Übergabe. Und je nach Komplexität des Auftrags dauert die Übernahme und vor allem die Übergabe länger und wir erfassen dazu die AWs.
Zitat von: MzKlMu am Dezember 18, 2022, 17:21:28Noch eine Frage zu Übergabe und Übernahme: Gelten diese je Auftrag, das heißt, das Fahrzeug ist während der ganzen Auftragsdauer im Hause, oder kommt das Fahrzeug zu jedem Termin neu ?
Im allgemeinen bleibt das Fahrzeug für den Auftrag komplett vor Ort. Es gibt also nur eine Übergabe und eine Übernahme.
Zitat von: MzKlMu am Dezember 18, 2022, 17:21:28Für die Kundendaten braucht man kein Unterformular. Du kannst die Auftragsdaten und die Kundendaten (mit Hilfe einer Abfrage) direkt im Hafo anzeigen. Du brauchst nur ein Ufo für die Termine.
Es mag eine dumme Frage sein, aber wie mache ich das. Folgende Versuche habe ich gemacht:
1. Ich habe im Formularbereich unter Datenquelle die Tabelle Kunden_dB mit den entsprechenden Feldern hinzugefügt. Sobald ich die Felder in der Formularansicht anzeigen lasse, kann ich die Formulareinträge nicht mehr bearbeiten oder einen neuen Datensatz hinzufügen.
2. Ich habe eine Abfrage erstellt (Aufträge mit Kundendaten) Darin ist aus der Tabelle Auftraege die Auftraege_ID und das Feld Kunde und aus der Tabelle Kunden_DB die Felder Name, Telefon und Mail enthalten. Um dei Felder jetzt im Formular anzeigen zu können, habe ich wie unter Punkt 1 die Abfrage unter Datenquelle hinzugefügt. Wenn ich das Formular jetzt wieder anzeige ist das Ergebnis das Gleiche wie oben.
Zitat von: MzKlMu am Dezember 18, 2022, 17:21:28Das wird alles per VBA gemacht, keine Makros anlegen, zu Makros kriegst Du keine Hilfe, die verwendet kaum jemand.
Jetzt stehe ich schwer auf dem Schlauch. Wie bitte geht das?
Das Beziehungsbild habe ich hier noch mal neu hinterlegt.
Ich bin übrigens sehr dankbar für die Geduld und Hilfe hier!
Hallo,
Du solltest die Kundentabelle importieren und nicht verknüpfen, ein verknüpfen macht keinen Sinn, denn die verknüpfte Tabelle muss ja auch wieder regelmäßig importiert werden (aus dem Wawi). Dann ist die TAbelle auch physisch in der DB, und es kann RI bei den Beziehungen eingestellt werden. Dann dürfte das auch klappen mit der Bearbeitung ohne Ufo.
Warum hast Du die Fremdschlüsselfelder nicht als solche kenntlich gemacht (mit ref...) ?
In der Tabelle "FuenFueg" steht ja nicht der Mitarbeiter sondern nur dessen ID ? Die Frage gilt sinngemäß auch für Tätigkeit und Auftragsreferenz. Es empfiehlt sich für eine einheitliche Nomenklatur zu sorgen und die Fremdschlüsselfelder mit angehängtem _F zu kennzeichen. Z.B. Mitarbeiter_ID >>> Mitarbeiter_ID_F.
Es erleichtert später die Programmierung wenn man Primärschlüssel und Fremdschlüssel zweifelsfrei erkennen kann.
Gibt das eigentlich eine Mehrbenutzerumgebeung ?
Hallo,
Mal zur Diskussion gestellt; - die Tabelle FuenFueg ist überflüssig.
Die Annahme und Übergabe sind doch auch nur Termine eines Auftrags,
nämlich der erste und der letzte.
gruss ekkehard
P.S. Was da eher noch fehlen würde wäre eine Ersatzteiltabelle und eine
n:m zu den Terminen.
Hallo,
Zitatsind doch auch nur Termine eines Auftrags, nämlich der erste und der letzte.
Ja, sehe ich jetzt auch so. Also Tabelle ersatzlos löschen.
Ob hier noch eine Tabelle für die teile benötigt wird, kann ich im Moment nicht erkennen.
Es wäre ohnehin vorteilhaft wenn man mal die Aufgabe der DB kennen würde.
Wie Du siehst Andreas, ist das Datenmodell noch lange nicht ausdisskutiert. Daher lohnt es sich nocht nicht Formaulare anzulegen.
Ok, zur Erklärung, warum ich das hier alles mache und euch damit beschäftige.
In der Vergangenheit wurden Montagetermine manuell in den Outlook-Kalenbder eingetragen. Dann musste manuell noch bei dem jeweiligen Mitarbeiter die Übergabe und Übernahme eingetragen werden. Dann hat der Kunde angerufen und den Auftrag verschoben oder erweitert oder was auch immer. Jetzt wurde der Auftrag verschoben, die Übernahme aber nicht usw.
Dann ist Ware nicht rechtzeitig angekommen und wir mussten den Kunden informieren. Der Eintrag im Kalender hat aber nicht die richtige Telefonnummer hinterlegt und die Suche geht los...
Die Folge war, dass wir keinen echten Überblick über die realistische Auslastung hatten und dadurch die Monteure Leerlauf hatten, wo andere Termine hineingepasst hätten.
Ich möchte mit dieser Lösung erreichen, dass meine Mitarbeiter und ich Aufträge anlegen und entsprechend dem Zeitbedarf einplanen können. Mehruser-Lösung: Wenn ich das irgendwie hibekommen kann, dann sehr gerne!
Ziele sind also:
1. Kalendertermine mit allen nötigen und korrekten Einträgen zu erstellen und in die richtigen Kalender zu schreiben.
2. Überbuchungen zu vermeiden (es kann nur soviel Zeit verplant werden, wie der Auftrag hergibt)
3. Eine Auswertung zu erhalten, in welchem Zeitraum wir welche Auslastung haben
4. Wenn möglich, automatisiert Erinnerungsmails an die Kunden zu versenden
Ich hoffe, dass das so verständlich ist.
Hallo,
ZitatMehruser-Lösung:
Der Aufwand für eine Mehruser Lösung ist Dir bewusst ?
Bei einer Mehruser Datenbank
muss die Datenbank in Backend (nur die Tabellen) und Frontend (der ganze Rest) aufgeteilt werden. Das Backend kommt auf einen zentralen Server und das Frontend braucht jeder User auf seinem PC, jeder User braucht somit auch Access (zumindest als Runtime). Ob Access hier als Backend geeignet ist kann ich nicht beurteilen. ggf. kommt auch ein kostenloses Datenbanksystem (MySQL) in Frage, aber nur als Backend. Das Frontend (die Benutzeroberfläche) kann dann Access sein. Für die Programmierung der Benutzeroberfläche ist unbedingt VBA erforderlich. Mit Makros geht da nichts. Falls Du für Deine User keine Access Vollversion hast, muss eine Access Runtime verwendet werden. Das erfordert aber einen erhöhten Programmieraufwand, da bei jedem Laufzeitfehler der Programmierung Access einfach aussteigt.
Bitte bedenke, dass Access eine Software ist die der Entwicklung relationaler Datenbanken dient. Das ist keine fertige Anwendung wie Excel oder Word. Daraus folgt, dass man Access lernen muss, da geht nichts intuitiv.
Und Deine Anforderungen an die DB sind durchaus ambitioniert, da wird auch ein erfahrener Datenbankentwickler dran zu knabbern haben.
Zitat von: MzKlMu am Dezember 19, 2022, 00:12:11Hallo,
Du solltest die Kundentabelle importieren und nicht verknüpfen, ein verknüpfen macht keinen Sinn, denn die verknüpfte Tabelle muss ja auch wieder regelmäßig importiert werden (aus dem Wawi). Dann ist die TAbelle auch physisch in der DB, und es kann RI bei den Beziehungen eingestellt werden. Dann dürfte das auch klappen mit der Bearbeitung ohne Ufo.
Das verstehe ich jetzt nicht ganz. Wie bekomme ich denn dann geänderte Datensätze aus der Wawi in meine Tabelle? Ich kann ja nur sagen, dass ich eine neue Tabelle erstellen will oder dass ich eine Kopie der Datensätze an eine bestehen de Tabelle anhängen will.
Beides erscheint mir nicht sinnvoll. Ich könnte jedoch die Einträge der Tabelle Kunden_DB erst löschen und dann die ganzen Einträge neu einfügen. Ich hatte gedacht, dass das durch die Verknüpfung automatisch passiert.
Ich habe es jetzt aber geschafft die Daten zu importieren und es gibt jetzt eine echte Tabelle Kunden_DB.
Die Beziehungen sehen jetzt so aus:
Zitat von: MzKlMu am Dezember 19, 2022, 14:03:35Der Aufwand für eine Mehruser Lösung ist Dir bewusst ?
Klaus, das war mich nicht bewusst. Dann muss es ein einzelner Arbeitsplatz sein auf dem das läuft.
Hallo,
wieso gibt es 3 Felder für die Rechnungsanschrift ?
Warum nennst Du das Fremdschlüsselfeld zur Adressnummer Kunde ?
Warum nennst Du die Fremdschlüsselfelder mal ref.. und auch sel.. ?
Klaus,
ich sehe es ja ein. Mit dem mal hier ein wenig und mal da ein wenig machen, mache ich es mir und euch unnötig schwierig.
Das mit den drei Feldern zur Rechnungsanschrift liegt an unserer Wawi. Der Export kommt dort so raus. Ich sehe mir das gleich noch mal an und werde das wenn möglich ändern und dann die Beziehungen noch mal schicken.
So, ich hoffe, jetzt alles aufgeräumt zu haben.
Die Kunden_DB Tabelle kann ich direkt per ADO aus unserer Wawi schreiben und muss daher nicht mehr den Umweg über eine Exceltabelle gehen. Allerdings müssen die Feldnamen in der Tabelle so bleiben, da der Export das erfordert.
Die Namen in den Tabellen habe ich auch etwas sprechender gemacht.
Die Fremdschlüsselfelder sind inzwischen auch umbenannt mit _F und das Beziehungsfenster sieht jetzt auch übersichtlicher aus.Beziehungen 19.12.22_B.jpg
tblTermine.Termine_ID und tblTermine.TerminID ?
Das stimmt auch schon wieder. Ich Hatte TerminID geplant um die Synchronisation mit Outlook zu dokumentieren. Dafür habe ich inzwischen aber auch OL_TerminID angelegt.
TerminID ist raus.
Ich erkläre dieses Thema jetzt mal als erledigt, weil ja das eigentliche Problem gelöst ist.