User Tools

Site Tools


vba:access:sqlscript:sqlconsole

This is an old revision of the document!


[VBA][Access] SQL Console

Version 1.0.0 (16.04.2015)

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.

Download

Version 1.0.0 (16.04.2015)

Informationen zur SQL Console

Anwendung

Im Code verwendeteFunktionen/Klassen

Bilder

Einfaches Script

Weitere Bilder

Unterstützte SQL-Befehle

Noch nicht unterstützte SQL-Befehle

  • Crosstable (Pivot)
  • UNION

Referenzen

Die folgenden Nichtstandartfunktionen/Klassen werden verwendet. Sie sind aber bereits in der accdb-Datei enthalten

Definitionen

Buttons & Tastenkombinationen auf dem Editor

Von Links nach Rechts:

  1. Eine Scriptdatei öffnen (Ctrl + O)
  2. Scriptdatei schliessen (Ctrl + W)
  3. Scriptdatei neu laden (Ctrl + R)
  4. Script speichern (Ctrl + Shift)
  5. Script unter neuem Namen speichern
  6. Scriptfenster leeren (Ctrl + D)
  7. Gespeicherte Variabeln/SQL-Paramters löschen (Ctrl + Shift + R)
  8. Beim ausführen von DML und DDL nicht nachfragen
  9. Das Script unter dem Cursor ausführen (F9)
  10. Alle Scripts ausführen (F5)
  11. Alles markieren (Ctrl-Alt)
  12. Script beim Cursor markieren
  13. Autohighlighting (de)aktivieren
  14. Den Code highlighten (Ctrl + F7)
  15. Das Highlithing ausschalten

Ohne Button auf der Werkzeugliste des Editors

  1. Ausgabefenster (Logfenster) leeren (Ctrl + Shift + D)

Beispiele

SELECT

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.

VIEW

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         |               |
vba/access/sqlscript/sqlconsole.1429537094.txt.gz · Last modified: 20.04.2015 15:38:14 by yaslaw