Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Tabellen Struktur Frage

Begonnen von silentwolf, Februar 23, 2011, 09:33:27

⏪ vorheriges - nächstes ⏩

silentwolf

Na ich bins mal wieder :)
Wieder eine Frage die ich nicht selbst wirklich beantworten kann damit auch meine Datenbank Struktur noch stimmt.
Ich sende die Datei mit damit Ihr sehen könnt wie ich es Strukturiert habe.
Tabelle Kunden ist mit Rechnung und Rechnungsdetails und dergleichen verbunden. Das ist auch ok so denk ich.
Dann sind die Kunden mit Projekten verbunden und die Strukture glaub ich passt auch.
Nun möchte ich aber Rechnungen schreiben oder muss ggg aber manche Rechnungen sind Projekt bezogen wo eine Pauschale ausgemacht worden ist mittels Angebot (Noch keine Tabelle Vorhanden) andere Projekte werden Stundenweise abgerechnent. Also Projekt 1 hat einen Stundensatz für Mitarbeiter Hans 25 Euro und für Peter 28 Euro. Diese werden in PrMitarbeiter geführt.
In dieser Datenbank kommt dann noch meine andere Datenbank dazu wo Artikel verkauft bzw.Eingekauft werden also kann eine Rechnung auch Artikel Nummern beinhalten.
Nun meine Frage wie sollte ich dies Beziehungen realisieren damit ich Eine Rechnung austellen kann die entwäder Artikel, Projekt Stunden oder Projekt Angebot haben soll.

Hoffe das es verständlich ist wie ich das vorhabe.
Jemand hat mir mal gesagt das ich eventuell es nur mit verschiedenen Rechnungsberichten sozusagen realisieren könnte. Bin mir aber nicht sicher und da hier sehr viele von Euch super Erfahrungen damit habe habe ich diese Frage an Euch gestellt.

Wäre sehr sehr dankbar um eine Antwort und Hilfe damit ich doch mal zu einen Ende komme :)

Lg Albert



[Anhang gelöscht durch Administrator]

silentwolf

Hallo nur zur Info habe nun die Vorläufig gesammte DB vieleicht mag jemand einen Blick draufwerfen :)
Habe die Tabellen Namen einheitlich gemacht und alle auf Deutsch :)
Feet back erwünscht sozusagen :)

Lg Albert

[Anhang gelöscht durch Administrator]

silentwolf

Hallo nochmal,
bitte nicht böse sein das ich nochmal hier schreibe aber es gab halt noch einige updates die ich gern reinstellen wollte.
Und noch einige Fragen dann sollte so hoffe ich die Struktur langsam mal passen. Und Ihr habt diesbezüglich mal ruhe von mir :)
In der Db sollten die Namen und die Struktur übersichtlich genug sein um die nachfolgenden Fragen zu verstehen.
Probleme mit Folgenden tabellen:

tblKontoLInk (Das ist nur so kurz zusammen gestellt und stimmt noch nicht! Denn ich weis nicht genau wie ich diese Tabelle linken soll)

tblLiefAngebot
Muss diese auch mit tblSteuersatz & tblBestRechnungen gelinkt sein oder werden?

tblBankKonten
soll eine tabelle sein wo die verschiedenen Konten die wir haben aufgelistet sind und wo wir die Lieferanten bezahlen bzw. die Rechnungen einbezahlen. Aber hier bin mir leider nicht sicher wie ich das genau realisieren kann?

Da nun schon wirklich fast alles was ich brauche in der Db vorhanden ist würde ich diesen letzten Teil auch gern dort haben um eine Komplett Lösung für mich zu haben.

Wie gesagt hoffe Ihr seid nicht böse das ich nochmal geschrieben habe und bitte nicht falsch verstehen ist kein Drängen!!!
Nur ein Update :)

Vielen vielen Dank an Euch alle!!!
Lg Albert


[Anhang gelöscht durch Administrator]

database

Hallo,

ZitatWie gesagt hoffe Ihr seid nicht böse
Nein --- wenn sich sonst niemand drum kümmert, bitte um etwas Geduld, ich komme vor Samstag nachmittag nicht dazu...  ::)

silentwolf

Danke Peter!!
Sehr sehr nett von Dir!!

Lg Albert

database

Hallo Albert,

also dann lass uns mal beginnen:

tbl_Ein_Details:
Entsprach nicht den Normalisierungsregeln, daher geändert (Feld 'Bestaendig_gegen' eingefügt, die anderen ja/nein Felder rausgenommen)

tblBankKonten
kann m.E. entfallen, diese Aufgabe solle mit der tblKonten lösbar sein.
Ich habe in die tblKonten das Feld 'Vermerk' aus der tblBankKonten übernommen.

tblKontenLink
Wofür beinhaltet die Tabelle das Feld Sts_id_f oder woher kommt das Feld Sts_id_f?

tblMitarbeiter
zur Tabelle tblMitDet habe ich die 1:1 Beziehung in eine 1:n umgewandelt

tblMitAngehoerige
Umbenannt (ö gegen oe getauscht)
Der Vollständigkeit wegen habe ich ein Feld 'MitAngAnr_id_f' eingebaut

tblBestellung
Hat nun eine 1:n Beziehung zu tblBestRechnung
Was willst du mit dem Feld Steuer_id_f in dieser Tabelle? Bei einer Bestellung ist der Steuersatz des Bestellers ohne Aussage, hat keinerlei Bedeutung.
Eventuell ein Feld 'Bestellnummer' andenken?

tblBestRechnung
In der Annahme, dass hier die Rechnungen gespeichert werden, die DU zu bezahlen hast, habe ich das Feld 'Steuerleistung' eingebaut

tblRechnung
Ich habe, um den gesetzlichen Vorgaben zu entsprechen, ein Feld 'Rechnungsnummer' eingefügt.
Das Feld ist noch als Textfeld ausgeführt, da ich nicht weiß wie sich deine Rechnungsnummern zusammensetzen. Auf jeden Fall muss die Rechnungsnummer
einen fortlaufenden Charakter aufweisen, wodurch die Verwendung der ID als Rechnugnsnummer NICHT realisierbar ist!

tblRechDetails
Enthält keine Rechnungspositionen - was verrechnest du?
Die Beziehung zur tblKontoLink kann so nur dann Sinn machen, wenn du Rechnungspositionen einzeln abrechnest und nicht die gesamte Rechnung.
Im Fall einer Gesamtabrechnung sollte das Feld Rech_id_f in diese Tabelle und die Beziehung zur tblRechnung eingerichtet werden statt zu tblRechDetails.

tblKunden
Die Felder Tel1, Tel2, Tel3 und Tel(privat) müssen aus dieser Tabelle raus - dafür gibt es die tblKunTel

tblLiefMitarbeiter
Habe ein Feld LiefMitFunktion eingefügt um die Funktion der Person zu speichern

Die Beziehung zwischen tblLiefAngebot und tblLieferant ist mir nicht ganz schlüßig - hier gibt es zwar die Info, dass ein Lieferant ein Angebot gestellt hat, aber nicht worüber
(Ähnlich verhält sich die Tabelle tblRechDetails)

Dann habe ich aus allen Tabellen die Hyperlink-Felder zu Textfeldern gemacht. Tipp - speichere Hyperlinks als Text, die Verlinkung erfolgt auf Formularebene durch einen VBA-Einzeiler!


Das war's dann von meiner Seite zur letzten Version  ;)
Schau dir bitte die Version im Ahang durch und ändere bzw ergänze entsprechend meinen Hinweisen die tblRechDetails, tblKontenLink und tblLiefAngebot.

Für Rückfragen ... keine Scheu...  ;)

[Anhang gelöscht durch Administrator]

silentwolf

Hallo Peter,
Super danke danke danke für Deine Hilfe!
Ich möchte Deine Fragen mal beantworten so gut ich kann und vieleicht könntest Du mir dann nochmals kurz ein update geben?
ZitattblKontenLink
Wofür beinhaltet die Tabelle das Feld Sts_id_f oder woher kommt das Feld Sts_id_f?
Das Feld war nur falsch geschrieben es solte eigentlich Steuer_id sein? Ob ich das nun so brauch weis ich leider nicht :(
ZitattblBestellungEventuell ein Feld 'Bestellnummer' andenken?
Ich hätte die PK als Vortlaufende Nummer gehabt das selbe wäre auch mit RechnungsNummer gewesen. Also ich kann ja mit einer Abfrage den Wert oder den Anfangswert ändern und somit die vortlaufenden Zahlen bestimmen. Ist das nicht gut??
ZitattblRechDetails
Enthält keine Rechnungspositionen - was verrechnest du?
Ja hier habe ich mehrere Sachen die ich Verrechnen muss. 1. Ich verkaufe Produkte oder Artikel die wir ja von Lieferanten beziehen. Dann verkaufe ich z.B. Pauschalangebote. Ein Kunde möchte ein Pauschal Angebot für einen Job. Hier wird ein Angeobt erstellt von uns und nach Auftragsbestätigung dieser für diesen Preis erledigt und natürlich abgerechnent.
Zudem werden auch öfters Stunden Verrechnet. Also ein Job hat einen Stundensatz von X für Mitarbeiter Y und einen Stundensatz von Y für Mitarbeiter Z. sozusagen. Hier würde ich gerne eine Stundenaufzeichnung in der DB führen und dann die Stunden die nicht abgerrechnt sind in Rechnung stellen.
ZitattblKunden
Die Felder Tel1, Tel2, Tel3 und Tel(privat)
Das ist mir schon klar ich habe diese Felder nur noch in dieser Tabelle da in meiner bestehenden Db einige Felder mit diesen Nummern vorhanden sind. Ich möchte diese natürlich nicht verlieren und erst wenn ich diese in meine neue Db eingefügt habe können diese Felder gelöscht werden.
ZitatDie Beziehung zwischen tblLiefAngebot und tblLieferant ist mir nicht ganz schlüßig
Ein Lieferant kann z.B. von 1.1.2011 bis 1.2.2001 einige Artikel von seinen Sortiment zu einen billigeren Preis verkaufen. Und wenn ich diese Produkte auch zu diesen Zeitpunkt brauche dann würde ich diese kaufen. Aber wie schon mal erwähnt bin ich mir nicht sicher ob er diese Angebot Artikel mit einer neuen Artikel Nummer kennzeichnent oder nicht.



database

Hallo,

rasches Update:

Das Feld Steuer_id_f brauchst du in tblKontenLink NICHT

PK als Nummerierung ist IMMER kritisch! die Autowerte sind 'Eigentum' von Access, bilden in der Regel Primärschlüssel.
Lösch mal einen Datensatz und erstell einen neuen - was ist nun mit der Rechnungsnummer? Wie erklärst du dem Finanazamt das Loch in deiner Nummerierung?

Zu RechDetails - du mußt da in irgend einer Weise erfassen, was du abrechnest - momentan ist das nicht ersichtlich und somit in der Folge auch auf einem Rechnungsformular nicht ausgegeben!
Die abgerechneten Waren oder Dienstleistungen MÜSSEN auf einer Rechnung ersichtlich sein, bei Dienstleistungen inkl. Leistungsdatum ! (gesetzliche Vorgabe)

Zu LiefAngebot - auch hier - es ist nicht ersichtlich WAS angeboten wurde - in irgend einer Form MUSS das drin stehen, mit Datum und einem Preis, der sich auf nichts bezieht kannst ja nicht arbeiten

Zu den Tel. Nummern - alles klar, aber nicht darauf vergessen! ;)

silentwolf

Ja hatte es nicht gesehen das Du ja schon so brav an meiner Db Struktur gearbeitet hast!!!
Ich lese Deine Antwort aber weis jetzt noch nicht ganz genau was ich ändern oder machen soll?
Also ich werde mal bei Bestellungen und Rechnungen ein textfeld einfügen wo ich dann manuell die Rechnungsnummer bzw.Bestell nummer eintrage ja?
Der rest ist wie gesagt noch a bissl schwierig für mich :(
Bin schon eine schwere Geburt was???  :'(

database

Hallo,

ZitatAlso ich werde mal bei Bestellungen und Rechnungen ein textfeld einfügen
das muss nicht zwangsweise ein Textfeld sein, das hängt davon ab wie deine Rechnungs- bzw. Bestellnummern aufgebaut sind.

Wenn es einfache fortlaufende Nummern sind, dann kannst du ohne Weiteres auch ein Zahlenfeld (Long Integer) dazu verwenden.

Die Rechnungsnummer wird dann immer bei Bedarf generiert.

Möglich wäre beispielsweise DMax("Rechnungsnummer","tblRechnung") + 1

ZitatBin schon eine schwere Geburt was
Wieviel wiegst du denn?
Mach dir mal nicht ins Hemd, dieses Forum hat die Hlfestellung als Thema - also ...

Was ist dir denn an den anderen Dingen noch unklar?
Nehmen wir die Rechnungen her:

Die tblRechDetails, in der die zu verrechnenden Posten stehen sollen, enthält ja nicht mal ein Feld mit dem Rechnungsbetrag.
Wenn du nun ein ganzes Projekt abrechnen würdest, sollte in dieser Tabelle zumindest ersichtlich werden, dass es ein Projekt ist, das du abrechnest, es muss ersichtlich sein WELCHES Projekt das ist und was es kostet, dich zu beauftragen - verstehst du?
Es ist ja nett, eine Datenbank zu haben, in der auch Rechnungen gespeichert werden können - nur was wird da gespeichert?
Der Sinn un Zweck einer Datenbank liegt sicher in erster Linie darin, Daten zu sammeln. Gleich knapp dahinter kommt aber die nächste Anforderung an eine Datenbank,
nämlich die, Daten die zu verschiedensten Zwecken weiterver- oder bearbeitet werden, auch effizient wieder auszuspucken.
Darunter fallen jetzt beispielsweise auch deine Rechnungsdaten.
Wie willst du jemals eine Rechnung aus der Datenbank heraus erstellen, wenn nirgends ersichtlich ist, was du verrechnen möchtest.
Also muss deine Leistung in irgend einer Form mit der Rechnungstabelle zusammengeführt werden können.

Ich darf mich dann nochmal auf deine Antwort beziehen:
ZitatJa hier habe ich mehrere Sachen die ich Verrechnen muss.
Und genau um diese 'Sachen' geht es - derzeit ist es NICHT ersichtlich welche 'Sachen' du verrechnest.
Es würde ja auch wenig Sinn machen, die Rechnungen, die du schreibst in Access zu verwalten, das Rechnungsformular aber dann wegen fehlender Funktionalität der Datenbank in Word zu schreiben.
(Auch das habe ich schon erlebt - vergiss das gleich wieder, wenn dir solche Gedanken kommen)

Verstehst du was ich damit meine?




silentwolf

Hallo Peter,
danke für Deine Antwort!!
Ja ich verstehe schon das Konzept einer Datenbank und ich möchte eben nicht mit Word und Excel und Outlook und eventuell noch mit einer Buchhaltungs software arbeiten dazu machte na ein bischen wenigstens ich diese Datenbank.
Nehmen wir mal tblLiefAngebot her.
Soll dann in dieser Tabelle wann wir es gekauft haben drinnen sein? Und nicht mit tblBestellungen verknüpft werden?
Oder geht da beides?
Also Beispiel für tblLiefAngebot:
Ich soll dort ja auch LiefWerkzeug verknüpfen oder brauch ich das nicht mehr? Ein Feld dazugeben mit Datum, VPE_id_f, Menge, Steuer???
und dann mit tblBestellungen verknüpfen oder?
ZitatWas ist dir denn an den anderen Dingen noch unklar?
Also ich weis nicht so genau was in einer Tabelle wirklich enthalten sein soll und welche Information ich von den anderen die eh schon mit dieser Tabelle verknüpft sind bekomme.



database

Hallo,

Zitat... welche Information ich von den anderen die eh schon mit dieser Tabelle verknüpft sind bekomme
Wenn du 2 Tabellen über Primärschlüssel und Fremdschlüssel in Beziehung setzt, bedeutet das, dass in der Detailtabelle - das ist jene auf der n-Seite - alle Informationen der Matertabelle - das ist jene auf der 1-Seite - bekanntgegeben wurden.
Nimmst du aus der Detailtabelle einen gespeicherten Fremdschlüssel (XY_ID_f) heraus, kannst du mit diesem ALLE Informationen aus der Mastertabelle lesen, die zu diesem Schlüssel gespeichert wurden.

Ich schaue mir dein Gesamtkonzept nochmal genauer an und werde dir dann einen Vorschlag machen, wie eine effiziente Lösung zu Angebot, Bestellung, Lieferung und Rechnung aussehen könnte.
Bitte aber um etwas Geduld, das kann ein paar Tage in Anspruch nehmen.



silentwolf

Hallo Peter,
nun ich habe a bissl was geändert in der Db aber da gibt es natürlich für mich schon wieder Fragen Fragen Fragen  ???
Na ja das erste offensichtliche ist in der tblBestRechnung dort hast Du ja Steuerleistung eingefügt nun ist das das selbe als Steuersatz? Also kann ich ja auch Steuer_id_f anstatt Steuerleistung einsetzen oder bin ich da schon wieder falsch?
Zudem habe ich noch drei weitere Tabellen eingefügt tblLiefKunNr; tblKundenNr;tblRabatt;
Es ist nähmlich bei uns so wenn wir bei einem Lieferanten für Eigenverbrauch einkaufen haben wir KundenNr xxxx und wenn wir für den wiederverkauf einkaufen dann KundenNr yyyy und auch einen eigenen Rabatt dafür.
Also das sollte denke ich mal so passen.
tblLiefAngebot hab ich auch etwas geändert habe in dieser tabelle auch noch LiefWerk_id_f eingefügt aber hier wie so oft bin ich mir wieder mal nicht sicher ob das nicht falsch ist. Meine Überlegung war so das ein LiefAngebot ja nur von bestehenen Artikel kommt also könnte ic mir doch das eingeben von all den Details des Werkzeuges sparen.
LiefAngNummer hab ich auch eingefügt da ich mir wie schon erwähnt nicht sicher bin ob das Angebot mit der selben Artikel Nummer angelegt wird.
Ich sende Dir mal den Entwurf zu und vieleicht wenn Du Zeit hast in paar Tagen oder wie auch immer vieleicht ein Auge darauf zu werfen.

Vielen Dank erstmal wieder!!
Ach was kann ich den in der Zwischenzeit schon machen?? Oder soll ich das ganze nochmal besser in Ruhe lassen bis es komplett in Ordnung ist?

Danke!!!
Schöne Grüße
Albert

[Anhang gelöscht durch Administrator]

database

Hallo,

ZitatNa ja das erste offensichtliche ist in der tblBestRechnung dort hast Du ja Steuerleistung eingefügt
Nein, ist nicht das gleiche.
Wenn ich davon ausgehe, dass es sich dabei um Rechnungen handelt, die DU als Unternehmer zu bezahlen hast wirst du die Steuerleistung aus diesen Rechnungen ja nicht aus der eingenen Tasche bezahlen sondern dem Finanzamt gegenverrechnen also als s.g. Vorsteuer deiner Steuerschuld abziehen. In Österreich ist das zumindest so.
Dieses Feld dient einzig dazu die auf diese Weise abzugsberechtigte Steuerleistung zu erfassen und zeitraummäßig in einer Abfrage zu summieren.
Hier wird also kein Steuersatz sondern ein Steuerbetrag erfasst - nämlich der, den dir ein Lieferant verrechnet.

Den Rest schau ich mir natürlich gerne an - aber bitte etwas Geduld.
Warte besser noch, bis das Datenkonstrukt vollständig ist.
Was du aber machen kannst - Entwürfe für deine Erfassungsformulare zeichnen - ist oft ganz gut, das zu haben, besonders wenn diese umfangreich sind.

silentwolf

Ok verstehe,
Danke nochmals mit Zeichnen meinst Du aber schon in Access oder nur zu überlegen wie die aussehen sollten?

Lg Albert