User Tools

Site Tools


vba:access:classes:temptabledef

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
vba:access:classes:temptabledef [17.08.2017 09:37:31]
yaslaw
vba:access:classes:temptabledef [01.12.2017 10:32:12] (current)
yaslaw
Line 1: Line 1:
 <​const>​ <​const>​
-    version=1.1.0 +    version=1.2.2 
-    vdate= 15.05.2017+    vdate= 15.08.2017
     fname=temptabledef.cls     fname=temptabledef.cls
     ns=%NAMESPACE%     ns=%NAMESPACE%
Line 7: Line 7:
 </​const>​ </​const>​
 ====== [VBA][Access] TempTableDef ====== ====== [VBA][Access] TempTableDef ======
-//EineKlasse ​um mit TempTables ​zuarbeiten//+//Eine Klasse ​um mit TempTables ​zu arbeiten//
 ==Version %%version%% %%vdate%%== ==Version %%version%% %%vdate%%==
  
Line 17: Line 17:
  
 Die Klasse erstellt eine Tabelle und verwaltet sie selbständig. Die Tabellen können Userabhängig sein, sich nur halten während die Klasseninstanz existiert. Müssen aber nicht. Zudem muss man sich nicht um den Namen kümmern. DieKlasse kann SQLs parsen um den Namen zu ersetzen. Die Klasse erstellt eine Tabelle und verwaltet sie selbständig. Die Tabellen können Userabhängig sein, sich nur halten während die Klasseninstanz existiert. Müssen aber nicht. Zudem muss man sich nicht um den Namen kümmern. DieKlasse kann SQLs parsen um den Namen zu ersetzen.
 +
 +Wichtig! Bevor man diese oder eine ähnliche Klasse/​Methode einsetzt sollte man sich Gedanken machen, ob man das wirklich braucht. Wenn nicht wirklich ein Sonderspezialfall vorliegt, dann hat man in seinem Datenbankmodel einen Fehler wenn man Temporäre Tabellen braucht....
  
 Hier mal schnell ein kleines Beispiel Hier mal schnell ein kleines Beispiel
Line 38: Line 40:
     'Es wird nicht nachgefragt     'Es wird nicht nachgefragt
 End Sub</​code>​ End Sub</​code>​
-<​code>#​TMP_Yaslaw_t_1 +<​code>#​TMP_Yaslaw_t_1 ​                                                                                    
-SEQ_NAME ​                                                                                                                                                                                                                                                       | START_NR | LAST_NR | LAST_TIMESTAMP ​     +SEQ_NAME ​  ​| START_NR | LAST_NR | LAST_TIMESTAMP ​     
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------|---------|-------------------- +-----------|----------|---------|-------------------- 
-N/A                                                                                                                                                                                                                                                             ​| 1        | 4       | 15.03.2017 14:13:48 +N/A        | 1        | 4       | 15.03.2017 14:13:48 
-                                                                                                                                                                                                                                                              ​| 1        | 3       | 15.01.2016 08:50:45 +         | 1        | 3       | 15.01.2016 08:50:45 
-test                                                                                                                                                                                                                                                            | 1        | 4       | 01.07.2016 09:55:38 +test       ​| 1        | 4       | 01.07.2016 09:55:38 
-Test 1                                                                                                                                                                                                                                                          | 1        | 3       | 01.03.2016 10:11:00 +Test 1     ​| 1        | 3       | 01.03.2016 10:​11:​00</​code>​
-Test 12</​code>​+
  
 ===== Definitionen ===== ===== Definitionen =====
-> Für die Ausgabe der Resultate verwendete ich die Funktion [[:​vba:​functions:​print_r:​|print_r() bzw. d()]]+> Für die Ausgabe der Resultate verwendete ich die Funktion [[:​vba:​functions:​print_r:​|print_r() bzw. d()]] und [[vba:​access:​functions:printrs|printRs()]].
- +
-==== Compile-Settings ==== +
-Am Anfang der Klasse hat es Compile-Settings. Falls die entsprechenden Module von mir im Projekt vorhanden sind, können die entsprechenden Settings auf True gestellt werden. Die Ausgaben in die Konsole oder in das LogFile können damit verbessert werden. Sie sind abernicht zwingend! +
- +
-=== SQLScript === +
-Die Klasse kann für [[vba:​access:​classes:sqlscript|]] erweitert werden +
-<code vb>#​Const SQLScript_exists = False</​code>​+
  
 ==== Enums ==== ==== Enums ====
Line 74: Line 68:
 ==== Public Methodes ==== ==== Public Methodes ====
 ^ Methode ^ Rückgabetyp ^ Beschreibung ^ ^ Methode ^ Rückgabetyp ^ Beschreibung ^
-| [[#​execute]] | | Führt ein execute() durch und parst dabei den Tabellenname ​+| [[#​execute]] |Long | Führt ein execute() durch und parst dabei den Tabellenname |
-| [[#​executeSqlScript]] | | Führt ein SQLScript aus und parst dabei den Tabellennamen ​|+
 | [[#​openRecordset]] | %%DAO.Recordset%% | öffnet ein Recordset auf die TempTable | | [[#​openRecordset]] | %%DAO.Recordset%% | öffnet ein Recordset auf die TempTable |
-| [[#openQuery]] | | öffnet und zeigt ein SQL als Abfrage |+| [[#queryDef]] | QueryDef | Gibt ein QueryDef zurück | 
 +| [[#​showQuery]] | | öffnet und zeigt ein SQL als Abfrage |
 | [[#​convertSql]] | | Konvertiert in einem SQL den Name durch den tatsächlichen Tabellennamen | | [[#​convertSql]] | | Konvertiert in einem SQL den Name durch den tatsächlichen Tabellennamen |
 | [[#drop]] | | Löscht die physiche Tabelle | | [[#drop]] | | Löscht die physiche Tabelle |
Line 91: Line 85:
 | [[#user]] | String | Get & Let | Name des Anwenders für Userabhängige TempTables | | [[#user]] | String | Get & Let | Name des Anwenders für Userabhängige TempTables |
 | [[#db]] | DAO.Database | Get & Set | Datenbank, auf der sich die TempTable befindet | | [[#db]] | DAO.Database | Get & Set | Datenbank, auf der sich die TempTable befindet |
-| [[#params]] | TempTableDefEnum | Get & Let | Alle Settings auf einmal setzen |+| [[#paramter]] | Variant | Get & Let | Setzt eine SQL-Paramter | 
 +| [[#​paramters]] | Dictionary | Get & Set | Setzt eine SQL-Paramters | 
 +| [[#settings]] | TempTableDefEnum | Get & Let | Alle Settings auf einmal setzen |
 | [[#​forceDrop]] | Boolean | Get & Let | Setting: Beim löschen nicht nachfragen | | [[#​forceDrop]] | Boolean | Get & Let | Setting: Beim löschen nicht nachfragen |
 | [[#​scopeUser]] | Boolean | Get & Let | Setting: Dem physischen Tabellenname wird der User angehängt. Somit ist die TempTable Userabhängig | | [[#​scopeUser]] | Boolean | Get & Let | Setting: Dem physischen Tabellenname wird der User angehängt. Somit ist die TempTable Userabhängig |
 | [[#​scopeClass]] | Boolean | Get & Let | Setting: Die TempTable wird nur solange gehalten, solange die Klasse exisitiert | | [[#​scopeClass]] | Boolean | Get & Let | Setting: Die TempTable wird nur solange gehalten, solange die Klasse exisitiert |
  
 +===== Beispiele =====
 +Für die Beispiele verwende ich die folgenden 3 Tabellen
 +<​code>​TBL_DEMO_TMPTBL_USER
 +UID | VORNAME | NACHNAME | CODE
 +----|---------|----------|-----
 +  1 | Hans    | Müller ​  | BQ  ​
 +  2 | Doris   | Andres ​  | HG  ​
 +  3 | Fränzi ​ | Muster ​  | BQ  ​
 +
 +TBL_DEMO_TMPTBL_EVENT
 +EID | ENAME              ​
 +----|--------------------
 +  1 | Bierfestival Zürich
 +  2 | brasserie publique ​
 +  3 | Wortspiele ​        
  
 +TBL_DEMO_TMPTBL_LINK
 +UID | EID
 +----|----
 +  1 |   2
 +  1 |   3
 +  2 |   1
 +  3 |   1
 +  3 |   2
 +  3 |   ​3</​code>​
 +Fortsetzung folgt....
vba/access/classes/temptabledef.1502955451.txt.gz · Last modified: 17.08.2017 09:37:31 by yaslaw