|
ISO Wochennummer berechnen
|
| Autor |
Nachricht |
Bitsqueezer
Office-VBA-Programmierer
Verfasst am: 18. Dez 2009, 16:55 Rufname:
|
|
| Version: (keine Angabe möglich) |
|
Hallo zusammen,
für die Ausgabe einer Wochennummer im Kalender gibt es ja in VBA die Möglichkeit, die Wochennummer berechnen zu lassen mit:
DatePart("ww","01.01.2010")
Leider ist das Ergebnis kein ISO-Datum, wie hierzulande verwendet wird, sondern die amerikanische Variante, nach der das Jahr immer mit Wochennummer 1 beginnt (es gibt also halbe Wochen dort, hier nur ganze).
Auf der Seite Week Numbers In Excel gibt es ein paar schöne, kurze Berechnungsmethoden in VBA als Lösung.
Diese habe ich hier mal umgesetzt als Funktion für einen SQL Server, der genau das gleiche Problem hat und fast die gleichen Funktionen wie VBA anbietet.
Das Ergebnis sieht so aus:
| Code: | SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: Christian Coppes
-- Create date: 18.12.2009
-- Description: Returns an ISO week (SQL Server returns US week)
-- Created from VBA on http://www.cpearson.com/excel/WeekNumbers.aspx
-- =============================================
CREATE FUNCTION dbo.fnISOWeek(@InDate AS smalldatetime)
RETURNS tinyint
AS
BEGIN
DECLARE @TmpDate AS smalldatetime;
DECLARE @Return AS tinyint;
SELECT @TmpDate=CAST('1/3/'+CAST(DATEPART(yy,DATEADD(dd,4,DATEADD(dd,-(DATEPART(dw,@InDate-1)),@InDate)))
AS varchar(4))
AS smalldatetime);
SELECT @Return= CAST((DATEDIFF(dd,@TmpDate,@InDate)+DATEPART(dw,@TmpDate)+5)/7 AS tinyint);
RETURN @Return;
END
GO | Damit kann man die Berechnung auch bei einer Pass-Through-Abfrage direkt auf dem SQL Server durchführen.
Gruß
Christian
|
|
Willi Wipp
Moderator

Verfasst am: 30. Apr 2010, 02:51 Rufname:
Wohnort: Raum Wiesbaden
|
| |
| Version: (keine Angabe möglich) |
|
| {Dieser Beitrag nimmt das Thema aus den unbeantworteten Themen heraus}
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum nicht posten Du kannst Dateien in diesem Forum herunterladen
|
|
|
|
| Verwandte Themen |
| Forum / Themen |
Antworten |
Autor |
Aufrufe |
Letzter Beitrag |
 |
Access Tabellen & Abfragen: Aggregatfunktionen effizient berechnen |
1 |
lottha |
109 |
20. Jul 2009, 11:26 MAPWARE  |
 |
Access Programmierung / VBA: Summe berechnen mit Nz-Funktion |
2 |
Lila3 |
142 |
21. Apr 2009, 13:41 Lila3  |
 |
Access Formulare: Summe berechnen |
4 |
Alex_der_kleine |
436 |
01. Apr 2009, 00:13 Dill  |
 |
Access Tabellen & Abfragen: Datumsdifferenz berechnen |
2 |
Thomas00 |
891 |
23. März 2009, 17:26 Thomas00  |
 |
Access Tabellen & Abfragen: Umsätze pro Quartal getrennt nach Steuersätzen berechnen |
5 |
romanschuettke |
733 |
11. Dez 2008, 04:16 Willi Wipp  |
 |
Access Hilfe: Zeit-/ Datumsdifferenz berechnen |
3 |
MDDD78 |
1933 |
20. Nov 2008, 16:55 KlausMz  |
 |
Access Berichte: Saldierung berechnen und anzeigen |
7 |
nauthiz |
2070 |
17. Jan 2008, 10:43 Willi Wipp  |
 |
Access Programmierung / VBA: Suchen und berechnen |
4 |
dkaj |
321 |
13. Aug 2007, 21:23 Nouba  |
 |
Access Formulare: Werte berechnen die auch gleich im Formular angezeigt werden |
13 |
hairgott |
626 |
16. Jul 2007, 16:15 Willi Wipp  |
 |
Access Tabellen & Abfragen: SQL Abfrage - Wert berechnen aus vorhergehender Zeile |
5 |
Hackepeter |
949 |
01. Dez 2006, 12:59 Willi Wipp  |
 |
Access Tabellen & Abfragen: Werte summieren & Quoten berechnen |
7 |
SCG_Shadow |
3574 |
07. Jul 2006, 14:30 rita2008  |
 |
Access Tabellen & Abfragen: Jahresgehalt aus Tabelle berechnen |
1 |
Gast |
2287 |
21. Apr 2006, 17:04 Nouba  |
| |
|