Seite 1 von 1

Geschäftsjahr abweichend zu Kalenderjahr - für Cracks sehr i

BeitragVerfasst: Fr 26. Mär 2004, 10:51
von Anonymous
Hinweis: Eintrag wurde aus altem Forum importiert. Ggf. kann es dadurch zu Darstellungsproblemen kommen.
Vollständiger Titel: Geschäftsjahr abweichend zu Kalenderjahr - für Cracks sehr interessant
Nachrichtensymbol: Bild
FileMaker Client Version: FM Client 5.5

Hallo Forum,

in einer Datenbank habe ich ein Problem mit einem vom Kalenderjahr abweichenden Geschäftsjahr:

Das Geschäftjahr beginn am 1.05.04 und endet am 30.04.05.
Nun soll aufgrund eines Datums im Datensatz das Geschäftsjahr ermittelt werden, z.B. wenn [Datum] > [Startdatum] und [Datum] < [Enddatum] dann [GJ].

Das Problem hierbei liegt in der Sache, daß es Daten aus mehreren Jahren gibt und die Berechnung auch für neue Daten funktionieren muß (zukunftsfähig)!

Ich habe es schon über Beziehung zu eine Jahresdatenbank versucht - vergebens.

Ich möchte keine DB erstellen, in dem die Tage der nächsten 20 Jahre mit dem GJ festegzurrt werden sollen.

Im SQL kann ich über eine sog. innerjoin-Beziehung die Abfrage von und bis Datum realisieren.

Weiß jemand einen Lösungsansatz?

Antwort

BeitragVerfasst: Sa 27. Mär 2004, 01:34
von schube
Hinweis: Eintrag wurde aus altem Forum importiert. Ggf. kann es dadurch zu Darstellungsproblemen kommen.
Nachrichtensymbol: Bild

Hallo!

Ich hab die Problematik leider nicht ganz verstanden.

Wieso kannst Du das Datumsfeld icht eifach in 3 Felder Tag, Monat und Jahr zerlegen und dann anhand des Monats schauen ob Du zum Jahr eines dazu oder abziehen musst - je nachdem ob Du vor Deinem Stichtag bist oder nicht.

Zeig mal deinen virtuellen INNER JOIN, vielleicht kapier ich dann besser was Du meinst.

Bernhard

Antwort

BeitragVerfasst: Mo 29. Mär 2004, 11:32
von rnusser
Hinweis: Eintrag wurde aus altem Forum importiert. Ggf. kann es dadurch zu Darstellungsproblemen kommen.
Nachrichtensymbol: Bild

Das Geschäftsjahrproblem lässt sich einfach mit den SmartRanges lösen, welche Herr Edoshin auf http://www.onegasoft.com bereitstellt.

Das Datum in der Hauptdatenbank wird in einem Formelfeld in einen DateKey umgewandelt. Das Geschäftsjahr in der separaten Datei hat ein Formelfeld mit einem DateRangeKey, welcher aus Beginn und Ende errechnet wird. Jedes Geschäftsjahr hat eine Geschäftjsahrnummer, welche über die Beziehung DateKey::DateRangeKey in die Hauptdatenbank referenziert wird.

Der Artikel zu SmartRanges ist ausführlich und die Implementierung sollte keine allzu grosse Schwierigkeiten bereiten.
MfG Ralph_Nusser

Antwort

BeitragVerfasst: Di 30. Mär 2004, 11:11
von Anonymous
Hinweis: Eintrag wurde aus altem Forum importiert. Ggf. kann es dadurch zu Darstellungsproblemen kommen.

Hallo,
in diesem SQL-Update (MS-ACCESS) geht es darum über einer INNER JOIN Beziehung und einer Unterabfrage Userdaten in eine Tabelle einzufügen, die abhängig von der Arbteitszeit des User sind.
Die User wechseln innerhalb der Firma die Abteilungen und tragen dann unter dem Userkennzeichen und dem Tagesdatum die Abteilung ein, in der sie gerade sind.
Diese Auswertung fügt dann aufgrund des Datums und des Userzeichens die Lagerkoordninate ein, wo sich der User an diesem Tag befand.
Da dies nun eine variable Tabelle ist (User fügen jeden Tag oder nur 1 x im Monat einen Satz hinzu), muß eine Abdatum und ein Bis-Datum eingetragen werden.
Diese Funktionalität, über einer Unterabfrage einen Datenbereich zu selektieren, wollten wir auch bei der GJ-DB in Filemaker nutzen.

GJ03/04 01.05.03 30.04.04
GJ04/05 01.05.04 30.04.05
...



UPDATE [Packstücke Grunddaten Kopf Tab] INNER JOIN Userverwaltung ON [Packstücke Grunddaten Kopf Tab].USERW2 = Userverwaltung.User SET [Packstücke Grunddaten Kopf Tab].Lager = [Userverwaltung]![Lager], [Packstücke Grunddaten Kopf Tab].LagerNr = [Userverwaltung]![Lager NR]
WHERE ((([Packstücke Grunddaten Kopf Tab].LagerNr) Like "XXX") AND (([Packstücke Grunddaten Kopf Tab].ErstDat)>=[ab Dat] And ([Packstücke Grunddaten Kopf Tab].ErstDat)<=[bis Dat]));

Zitat:

schube schrieb am 2004-03-27 00:34:
Hallo!

Ich hab die Problematik leider nicht ganz verstanden.

Wieso kannst Du das Datumsfeld icht eifach in 3 Felder Tag, Monat und Jahr zerlegen und dann anhand des Monats schauen ob Du zum Jahr eines dazu oder abziehen musst - je nachdem ob Du vor Deinem Stichtag bist oder nicht.

Zeig mal deinen virtuellen INNER JOIN, vielleicht kapier ich dann besser was Du meinst.

Bernhard


Antwort

BeitragVerfasst: So 4. Apr 2004, 09:50
von Anonymous
Hinweis: Eintrag wurde aus altem Forum importiert. Ggf. kann es dadurch zu Darstellungsproblemen kommen.

Formelfeld:

Wenn(Rechdatum >= TextZuDatum("01.04." & Jahr(Rechdatum)) ; Jahr(Rechdatum) ; Jahr(Rechdatum) - 1 )

Ergebnistyp: zahl

Antwort

BeitragVerfasst: So 4. Apr 2004, 14:40
von schube
Hinweis: Eintrag wurde aus altem Forum importiert. Ggf. kann es dadurch zu Darstellungsproblemen kommen.
Nachrichtensymbol: Bild

Hi Fritz!

So wie Du hätte ich es auch gemacht - aber mit Datentyp DATUM und nicht als Zahl.


Ciao

Antwort

BeitragVerfasst: So 4. Apr 2004, 16:10
von schube
Hinweis: Eintrag wurde aus altem Forum importiert. Ggf. kann es dadurch zu Darstellungsproblemen kommen.
Nachrichtensymbol: Bild

Hi!

Ich nehms zurück - so wie die Formel ist, ist wohl "Zahl" besser :-)