SQL: Erstellen der Pivottabelle t1000

Aus DBWiki
Wechseln zu: Navigation, Suche

Zurück zur Übersicht



Bei dieser Tabelle handelt es sich um eine Tabelle mit 1000 fortlaufenden Werten, die hauptsächlich zur Pivotisierung von Daten benutzt wird.


(Analog lassen sich für andere Bedarfe natürlich auch ähnliche Tabellen, wie t10, t50, t100, t500, etc. erstellen.)


Die folgende Methode ist dazu einmalig in einem allgemeinen VBA-Modul auszuführen:

Public Sub CreateT1000()
   Const CREATE_T1000 As String = _
         "CREATE TABLE t1000 ( n INTEGER PRIMARY KEY," & vbLf & _
         "CONSTRAINT [Der Wert für n muss zwischen 0 und 999 liegen]" & vbLf & _
         "CHECK ( n BETWEEN 0 AND 999 ) )"
 
   Const CREATE_CHECK As String = _
         "ALTER TABLE t1000" & vbLf & _
         "ADD CONSTRAINT [Die Tabelle t1000 muss exakt 1000 Werte enthalten]" & vbLf & _
         "CHECK ( (SELECT count(*) FROM t1000) = 1000 )"
 
   Dim i As Long
 
   CurrentProject.Connection.Execute CREATE_T1000
   With CurrentDb.OpenRecordset("t1000", dbOpenTable, dbAppendOnly)
      Do While i < 1000
         .AddNew
         !n = i
         .Update
         i = i + 1
      Loop
      .Close
   End With
   CurrentProject.Connection.Execute CREATE_CHECK
End Sub


Anmerkung
Will man diese Tabelle wieder aus der Datenbank löschen, so muss man zuerst die beiden Constraints löschen:

   CurrentProject.Connection.Execute "ALTER TABLE t1000" & vbLf & _
                                     "DROP CONSTRAINT [Der Wert für n muss zwischen 0 und 999 liegen]"
   CurrentProject.Connection.Execute "ALTER TABLE t1000" & vbLf & _
                                     "DROP CONSTRAINT [Die Tabelle t1000 muss exakt 1000 Werte enthalten]"



Zurück zur Übersicht