This is an old revision of the document!
Seit ich mich mit SQL als Sprache und nicht als Resultat des Access-Klicki-Bunti-Abfrageeditor beschäftige, störe ich mich an den beschränkten oder nicht vorhanden Möglichkeiten mit SQL in der DB zu arbeiten.
Darum habe ich die SQL-Console programmiert. Damit kann ich SQL-Befehle direkt absenden. Mehrere SQL-Befehle hintereinander ausführen. Diese Scripte speichern etc.
Die aktuelle Version ist sicher noch nicht der Weisheit letzter Schluss, jedoch ergeben sich mehrere Möglichkeiten die ich bereits nicht mehr missen will.
Seit neustem gibts neben dem Formular ADDON_SQL_CODE_CONSOLE noch das Formular ADDON_SQL_CODE_MULTICONSOLE. Die Settings werden für beide in er Tabelle addon_sql_code_console_settings abgelegt. Diese wird beim ersten öffnen automatisch erstellt
Die folgenden Nichtstandartfunktionen/Klassen werden verwendet. Sie sind aber bereits in der accdb-Datei enthalten
Von Links nach Rechts:
Ohne Button auf der Werkzeugliste des Editors
Einfaches SELECT
SELECT * FROM tbl_t1;
| id | val | |----|-----| | 13 | ABC | | 14 | DEF |
SELECT mit Fehler
SELECT * FROM tbl_t1_t1;
Error 3078 The Microsoft Access database engine cannot find the input table or query 'tbl_t1_t1'. Make sure it exists and that its name is spelled correctly.
Erstelle eine Abfrage mit dem parameter param_id
CREATE OR REPLACE VIEW vw_1 AS SELECT t.* FROM tbl_t1 AS t WHERE t.id = [param_id];
View vw_1 created/replaced
Die View verändern (um ORDER BY ergänzen, param_id als Ausgabefled hinzugefügt)
CREATE OR REPLACE VIEW vw_1 AS SELECT t.*, [param_id] FROM tbl_t1 AS t WHERE t.id = [param_id] ORDER BY id;
View vw_1 created/replaced
Mit SHOW überprüfen, was für Felder dass die neue Abfrage hat
-- Zuerst eine id setzen. Ansonsten wird mit einem Popup nachgefragt SET param_id = 13; SHOW COLUMNS FROM vw_1;
Set Paramter [PARAM_ID] to 13 | nr | field_name | field_type | allow_zero_length | required | source_table | source_field | autoincrement | default_value | |----|------------|------------|-------------------|----------|--------------|--------------|---------------|---------------| | 1 | id | LONG | False | False | tbl_t1 | id | False | | | 2 | val | TEXT(25) | False | False | tbl_t1 | val | False | | | 3 | param_id | BINARY(0) | False | False | | | False | |