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
Next revision Both sides next revision
vba:access:classes:temptabledef [15.05.2017 10:42:16]
yaslaw
vba:access:classes:temptabledef [18.08.2017 12:28:07]
yaslaw
Line 1: Line 1:
 <​const>​ <​const>​
-    version=1.0.0 +    version=1.2.2 
-    vdate= ​02.03.2017+    vdate= ​15.08.2017
     fname=temptabledef.cls     fname=temptabledef.cls
     ns=%NAMESPACE%     ns=%NAMESPACE%
Line 21: Line 21:
 <code vb>​Public Sub temp() <code vb>​Public Sub temp()
     Dim tmp As TempTableDef     Dim tmp As TempTableDef
 +    'Die TempTable anlegen, der name ist t_1
     Set tmp = TempTableDef("​t_1"​).createBySqlSelect("​select * from ADDON_SEQUENZ where start_nr = 1")     Set tmp = TempTableDef("​t_1"​).createBySqlSelect("​select * from ADDON_SEQUENZ where start_nr = 1")
     ​     ​
Line 37: Line 38:
     '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 ​==== +==== Enums ==== 
-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! +^ Enum ^ Beschreibung ^ 
- +[[#​TempTableDefEnum]] | Settings zur TempTableDef |
-=== SQLScript === +
-Die Klasse kann für [[vba:​access:​classes:​sqlscript|]] erweitert werden +
-<code vb>#​Const SQLScript_exists = False</​code>​+
  
 ==== Creatoren ==== ==== Creatoren ====
Line 65: Line 62:
 Die folgenden Funktion werden verwendet um eine Tabelle anzulegen Die folgenden Funktion werden verwendet um eine Tabelle anzulegen
 ^ Methode ^ Rückgabetyp ^ Beschreibung ^ ^ Methode ^ Rückgabetyp ^ Beschreibung ^
-| [[#createBySqlSelect]] | %%TempTableDef%% | Erstellt eine Tabelle aus dem Resultat eines SQLs | +| [[#create]] | %%TempTableDef%% | Erstellt eine Tabelle aus dem Resultat eines SQLs | 
-| [[#createBySqlCreate]] | %%TempTableDef%% | Erstellt eine Tabelle ​anhand eines Create-Table Statement ​|+ 
 +==== Public Methodes ==== 
 +^ Methode ^ Rückgabetyp ^ Beschreibung ^ 
 +| [[#execute]] |Long | Führt ein execute() durch und parst dabei den Tabellenname | 
 +| [[#​openRecordset]] | %%DAO.Recordset%% | öffnet ein Recordset auf die TempTable | 
 +| [[#​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 | 
 +| [[#drop]] | | Löscht die physiche ​Tabelle ​
 +| [[#​dropAllTempTables]] | | Löscht alle physiche Temp-Tabellen | 
 + 
 +==== Public Properties ==== 
 +^ Property ^ Rückgabetyp ^ Getter/​Setter ^ Beschreibung ^ 
 +| [[#exists]] | Boolean | Get | Prüft ob die physische Tabelle exisitiert | 
 +| [[#​tempName]] | String | Get | Der physiche Name der Tabelle, wie sie in der DB angelegt wird | 
 +| [[#​tempNameSql]] | String | Get | Dito zu %%tempName%% aber mit [] umgeben um in einem SQL zu verwenden | 
 +| [[#​tableDef]] | TableDef | Get | TableDef Objekt auf die temporäre Tabelle 
 +| [[#name]] | String | Get & Let | Name der TempTable | 
 +| [[#user]] | String | Get & Let | Name des Anwenders für Userabhängige TempTables | 
 +| [[#db]] | DAO.Database | Get & Set | Datenbank, auf der sich die TempTable befindet | 
 +| [[#​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 | 
 +| [[#​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 | 
 + 
 +===== 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>​
vba/access/classes/temptabledef.txt · Last modified: 01.12.2017 10:32:12 by yaslaw