![]() |
Re: Datenbankfelder addieren
Zitat:
Ergänzung: Oder nur die ausgefüllten Reihen speichern und entsprechend von oben nach unten wieder eintragen. Zum Thema Summe: Wenn du die Leistungen einzeln speicherst ist es ein leichtes über SQL auch die entsprechenden Summen zu berechnen. PS: mir würden zu dem Projekt spontan 5 Tabellen einfallen. Welche hast du ? |
Re: Datenbankfelder addieren
Hallo,
1. Arbeits-Tabelle (wie bisher) Arbeits-Id AutoInc Arbeits-Datum 2. Tabelle für mögliche Leistungen, nur Namen, keine Dopplungen - Schachtarbeiten - Maurerarbeiten Leistungs-Id AutoInc Leistungs-Name 3. Zuordnung der Leistungen zu einem Eintrag in Tabelle 1 Id AutoInc Arbeits-Id Integer Leistungs-Id Integer Menge Float OrderNo Integer // zur Sortierung oder Numerierung Ausserdem würde ich schleunigst weg von Paradox. Noch eine Entscheidungs-Hilfe. Was für einen Aufwand bedeutet es, das Programm von 14 auf 15 Leistungen umzubauen ? Bei meiner Struktur gar keinen. Heiko |
Re: Datenbankfelder addieren
So, dass hat jetzt eine ganze Weile gedauert, aber ich habe jetzt die große Datenbank in 3 kleine
zerpflückt.Eine dient als Mastersource und das Datum als Masterfield. Die Geschichte funktioniert mit DBGrid auch sehr gut, nur habe ich keine Ahnung wie ich 14 DBcomboboxen die Werte aus der Leistungsdatenbank zuweise. |
Re: Datenbankfelder addieren
Hallo,
du schreibst immer Datenbanken, meinst aber Tabellen. So dass musste ich mal loswerden ;) Durch das "Auseinanderpflücken" geht das gar nicht mehr so "einfach". Ich würde dafür ein eigenes Form nehmen links - alle möglichen Bauleistungen (in einem ListView, was du selber füllst per Query) rechts - ausgewählte Mitte - Button(s) zum Hin- und Rüberklicken Mit OK schreibst du die ausgewählten Leistungen in die hoff. jetzt existierende "Leistung - Arbeit" - Tabelle. Vorher wird noch geprüft, ob der Eintrag nicht schon existiert. Einfacher ist es, einfach auf Verdacht alle Leistungen der aktuellen Arbeit zu löschen Das Feld OrderNo stellt die Reihenfolge sicher. Heiko |
Re: Datenbankfelder addieren
Zitat:
|
Re: Datenbankfelder addieren
Das Formular, siehe Screenshot sollte schon so erhalten bleiben.
Die Leistungen kann ich nicht vorgeben. Für jeden Baustelle gib es vom Auftraggeber ein Angebotsschreiben in dem Leistungen stehen. Es gäbe alse viele hundert verschiedene Bauleistungen. |
Re: Datenbankfelder addieren
Hallo,
Dann zeige uns doch erst mal deine jetzige Datenbank-Struktur. Zitat:
Ich hoffe, du legst jetzt nicht für jede Baustelle ein Verzeichnis (=Datenbank) an ... Heiko |
Re: Datenbankfelder addieren
Doch es wird für jede Baustelle ein Ordner angelegt, da die Bautagebücher auf der Baustelle
geschrieben werden und wenn die Baustelle fertig ist ins Büro sollen.In der Mastertabelle werden Datum,Kalenderwoche(es soll KW weise gefiltert werden und Wochenleistung errechnet werden),die Arbeitsstunden pro Tag,die Geräte die in Einsatz kommen.In der Leistungstabelle wird Datum, Leistungsbezeichnung,Einheit und Menge gespeichert.Und in der Baustofftabelle das Datum, Baustoffeingang,Einheit und Menge. Ziel des ganzen ist ein zweites Formular auf dem (je nach KW-Filter )der Baustoffeingang gesammt und die einzelnen Leistungen addiert ausgeben werden. |
Re: Datenbankfelder addieren
Hallo,
habe ich immer noch nicht richtig verstanden ;) - geg: pro Baustelle eine DB (=Verzeichnis in Pdx) - ges: Summe X über alle Baustellen ? - Lösung: geht nicht Andere Frage: Warum ComboBoxen bei den Bauleistungen ? Oder anders: Woher weisst du, welche Bauleistungen pro Baustelle möglich sind ? Zeig doch mal deine jetzige DB-Struktur und zwar bitte so wie z.B. bei #12 (also nicht so viel Text) Heiko |
Re: Datenbankfelder addieren
Nein, Summe Baustoffe und Summe leistung1, Summe Leistung2 usw pro Baustelle.
Datenstrucktur Mastertabelle Nummer(autoinc) Datum Kalenderwoche 6mal für mögliche Geräte Arbeitsdtunden Leistungstabelle Nummer(autoinc) Datum Lv-Nummer Bezeichnung Einheit Mennge Baustofftabelle Nummer(autoinc) Datum Bezeichnung Einheit Menge Die Leistungsbezeichnung kenne ich garnicht, die trägt erst der Polier vor Ort ein. Combobox deshalb, wenn der Polier das erste mal schreibt wird der Eintrag in einer Stringlist gespeicher und steht beim nächtsten mal zur Auswahl. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz