"Sprechende Nummern" in Access mit jährlichen Anpassungen (Access)

BlackMusic, Montag, 11. Dezember 2017, 17:58 (vor 160 Tagen)

Hallo zusammen :)

Meine Datenbankkenntnisse liegen in den 80ern (Informix, relational) und damit ein wenig "out of order". Nach dem Studium des Access-Tutorials - sehr informativ, danke dafür - stehe ich dennoch vor einem umfangreicheren Problem.

Es liegt ein Excel-Mappe mit insgesamt fünf Tabellenblättern vor und (zu) vielen sverweis(en). Darum soll eine Accesslöusung her.

Drei Tabellenblätter beinhalten folgende Spalten:

  • Tabellenblatt Kunden: KuNr, Kunde
  • Tabellenblatt Lieferanten: LiNr, Lieferant
  • Tabellenblatt Nachunternehmer: NaNr, Nachunternehmer

Alle drei Tabellenblätter werden von Hand gefüllt wobei das jeweilige Nummernfeld im Format TJJ### (T für Tabellenblattanfangsbuchstaben z. B. K bei Kunden, JJ für Jahreszahl z. B. 17, und dreistellige laufende Nr innerhalb des aktuellen Jahres). Dieses Format soll beibehalten werden, da die Geschäftsführung auf diese "sprechenden Nummern" besteht und diese später sogar noch zusammenführt.

Das vierte Tabellenblatt Bauvorhaben hat ebenfalls ein Nummernfeld welches aber wirklich nur eine fortlaufende vierstellige Nr. (####) beinhaltet.

Die zuvor genannten Nummern kumulieren in einem fünften Tabellenblatt Belegerfassung in der Spalte ArbeitsNr nach folgenden Schema:

  • z. B. Erfassung Ausgangsrechnung an den Kunden als K170010001 (TJJ########)
  • z. B. Erfassung Lieferantenrechnung als L170010001 (TJJ########)
  • z. B. Erfassung Nachunternehmerrechnung als N170010001 (TJJ#######)

Dort werden letztendlich alle Geld Zu- und Abgänge in einfacher Addition / Subtraktion gegenübergestellt.

Wie bereits erwähnt, die Geschäftsführung besteht auf die "sprechenden Nummern".

Mir ist klar, dass ich für die ersten vier Tabellenblätter der Excelmappe analog Tabellen in Access erstelle.

Probleme bereitet mir - wer hätte es gedacht - die jeweilige "sprechende Nummer". Normalerweise würde ich das Feld (z. B. Kundennummer) als AutoWert definieren und den gewünschten Buchstaben in Berichten und Formularen voranstellen. Da aber mit dem Jahreswechsel zum einen die Jahreszahl für neue Einträge wechseln soll (benötigt sie sicherlich ein eigenes Feld) und zum anderen ein Reset im Zähler erfolgen soll und AutoWert das m. E. nicht hergibt geht diese Überlegung für mich nicht auf bzw. mir fehlt ein entscheidender input. Den erhoffe ich mir hier zu erhalten.

Ich hoffe das Problem verständlich erläutert zu haben, gern gebe ich bei Bedarf weitere Informationen.

Vielen Dank und
freundliche Grüße

Alexander

"Sprechende Nummern" in Access mit jährlichen Anpassungen

Martin Asal @, Montag, 11. Dezember 2017, 19:47 (vor 160 Tagen) @ BlackMusic

Hallo Alexander,

ja, so ist das mit Geschäftsführungen: Bloß nicht alte Zöpfe über Bord werfen ;-) Manchmal muss man denen aber auch ganz klar sagen: Man muss sich auch mal auf Neues einlassen.

Aber natürlich ist das, was du willst, machbar. Eigentlich sogar ganz einfach: Ignoriere erst mal die "sprechenden Nummern" und baue die Datenbank ganz normal, ohne diese Nummern auf. Anschließend generierst du die Nummern über Abfragen. D.h.; die Nummern werden gar nicht mehr in den Tabellen gespeichert, sondern die User bekommen sie "zusammengebastelt" zu sehen.

Beispiel: "K17001"

Das "K" ist in der Abfrage statisch. Dann wirst du irgendwo ja ohnehin ein Datum speichern, aus dem beziehst du mit Jahr(Datum) das Jahr, und ein Autowertfeld für den Rest.

Ich hoffe, mich verständlich ausgedrückt zu haben. Falls du weitere Unterstützung brauchst, frag :-)

Martin

"Sprechende Nummern" in Access mit jährlichen Anpassungen

BlackMusic, Dienstag, 12. Dezember 2017, 23:31 (vor 159 Tagen) @ Martin Asal

Hallo Martin,

danke für Deine Antwort der ich gut folgen konnte.

Lediglich der Reset der jährlichen Nummern bereitet mir Probleme.

Beispiel:
In der tblKunde werden durch AutoWert im Jahr 2017 insgesamt 315 Kunden mit 001 bis 315 erfasst. Durch statisches Feld und Datumsabfrage ergeben sich also die Kundennummern K17001 bis K17315.

Der erste erfasste Kunde im Jahr 2018 soll die Kundennummer K18001 erhalten. K für Kunden bleibt statisch, die Jahreszahl wird bei der Anlage errechnet und dann bleibt das Problem mit dem wieder bei 001 beginnenen Zähler. Mir erschliesst sich nicht, wie ich das umsetzen kann bzw. soll.

Vielen Dank und Gruß
Alexander

P.S.: Ja, das Abschneiden alter Zöpfe kenn' ich. Geht mir selber manches Mal so, setze ich auch das eine oder andere Mal bei meinem Gegenüber durch. Hier beisse ich aber auf Granit. Man findet es halt toll aus den reinen Nummern bereits Informationen ziehen zu können.

"Sprechende Nummern" in Access mit jährlichen Anpassungen

Martin Asal @, Mittwoch, 13. Dezember 2017, 08:35 (vor 159 Tagen) @ BlackMusic

Hallo Alexander,

was ich bei der letzten Mail vergessen hatte: Du kennst Format(), um führende Nullen einzufügen?

Außerdem hat Autowert einen kleinen Nachteil: Wenn man anfängt, einen neuen Datensatz einzugeben, und dann abbricht, ist die Nummer weg und lässt sich auch nicht mehr ohne weiteres nutzen. Es können also leicht Lücken in der Nummerierung entstehen. In der Praxis ist das üblicherweise kein Problem, sollte aber kommuniziert werden.

Lediglich der Reset der jährlichen Nummern bereitet mir Probleme.

Beispiel:
In der tblKunde werden durch AutoWert im Jahr 2017 insgesamt 315 Kunden mit 001 bis 315 erfasst.

Schon im Altsystem stellt sich die Frage: Was passiert, wenn ihr mal mehr als 999 Kunden in einem Jahr habt? Ich habe schon oft gehört, dass jemand sagt "das wird niiie passieren". Bis es knallt.

Mir fallen zwei Lösungen ein:

Entweder du zählst durch: Der erste Kunde 2018 bekommt die Nummer K18316. Im Jahr 2019 bekommt irgendwann der 999zigste Kunde die Nummer K19999, dann folgt K19000 und dann K19001.

Oder du fügst immer am 1. Januar manuell einen neuen Datensatz per Anfügeabfrage ein. Die Nummer wird dabei in der Anfügeabfrage vorgegeben, für 2018 ist das die Nummer 18000. Danach löschst du diesen Datensatz wieder, und wenn man dann einen neuen Datensatz anlegt, bekommt er den Autowert 18001.

Ja, das Abschneiden alter Zöpfe kenn' ich.

Ich habe es mal in einer ähnlichen Situation wie folgt gemacht: Bei einem späteren Update habe ich die Nummer, die ursprünglich unbedingt rein sollte, einfach mal ausgeblendet. Die User haben ÜBERHAUPT KEINE Nummer zu Gesicht bekommen. Es hat drei(!) Monate niemand gemerkt. Als ich dann darauf angesprochen wurde, habe ich gefragt: "Wenn Sie das drei Moante nicht merken, brauchen Sie die Nummer dann überhaupt?". Ich persönlich werde ja auch lieber als Kunde und nicht als Nummer wahrgenommen.

Martin

"Sprechende Nummern" in Access mit jährlichen Anpassungen

BlackMusic, Mittwoch, 13. Dezember 2017, 11:24 (vor 159 Tagen) @ Martin Asal

Hallo Martin,

für Deine Ausführungen vielen Dank. Den gesammelten input werde ich mir zu Gemüte führen und testen.

Dein Beispiel zu den alten Zöpfen kann ich gut nachvollziehen ;)

Nochmals Danke und die besten Wünsche für die kommenden Tage und das neue Jahr
Alexander

RSS-Feed dieser Diskussion
powered by my little forum