View Categories

DB.CREATETABLE

//Scriptfunktion 'DB.CREATETABLE'
// Erstellt eine neue Tabelle in der angegebenen Datenbank mit einem ersten definierten Feld.
//Parameter:
//DATABASENAME: Der Pfad und Name der Datenbank, in der die Tabelle erstellt wird.
//TABLENAME: Der Name der neuen Tabelle.
//FirstFieldName: Der Name des ersten Feldes in der Tabelle.
//FieldType: Der Datentyp des ersten Feldes (z.B. Text, Zahl).
//FieldSize: Die Größe des ersten Feldes, falls anwendbar (z.B. Anzahl Zeichen für ein Textfeld).
//FieldAttribute: Zusätzliche Attribute oder Eigenschaften des ersten Feldes.
//Beispiel:
//Erstellt eine Datenbank und Legt einen Datensatzt an und Sucht danach

// Datenbankpfad und SQL-Abfrage definieren
DATABASE={SYSDIR_DESKTOP}\TEST.MDB
SQL="Select * from Adressen"

// Prüfen, ob die Datenbankdatei existiert
EDIR=IFEXISTSFILE{{DATABASE}}

IFBLOCK{EDIR=False}
	// Datenbank und Tabelle "Adressen" erstellen, falls sie nicht existiert
	RESULT=DB.CREATEDATABASE{{DATABASE}}
	RESULT=DB.CREATETABLE{{DATABASE},Adressen,ID,4,4,17}
	RESULT=DB.CREATEFIELD{{DATABASE},Adressen,Name,10,30,2}
	RESULT=DB.CREATEFIELD{{DATABASE},Adressen,Vorname,10,30,2}
	RESULT=DB.CREATEFIELD{{DATABASE},Adressen,Strasse,10,60,2}
	RESULT=DB.CREATEFIELD{{DATABASE},Adressen,PLZ,10,5,2}
	RESULT=DB.CREATEFIELD{{DATABASE},Adressen,Ort,10,50,2}
	RESULT=DB.CREATEINDEX{{DATABASE},Adressen,ID,1}
ENDIF

// Erneut prüfen, ob die Datenbankdatei nun existiert
EDIR=IFEXISTSFILE{{DATABASE}}

IFBLOCK{EDIR=True}
	// Öffne die Datenbank und führe die SQL-Abfrage aus
	ANZ=DB.OPEN{{DATABASE},{SQL},True}
	IFBLOCK{ANZ=0}
		// Wenn noch kein Datensatz vorhanden ist, wird ein Musterdatensatz angelegt
		ERG=DB.NEWRECORD{}
		FLD.NAME="Mustermann"
		FLD.VORNAME="Hans"
		FLD.STRASSE="Musterweg 1"
		FLD.PLZ="66666"
		FLD.ORT="Musterhausen"
		ERG=DB.SETRECORD{FLD}
	ELSE
		// Neuer Datensatz mit Benutzereingaben anlegen
		ERG=DB.NEWRECORD{}
		ERG=CLEARVARS{FLD}
		FLD.NAME=DLGINPUTBOX{Name,0,Bitte geben Sie einen Namen ein,0,,,}
		FLD.VORNAME=DLGINPUTBOX{Vorname,0,Bitte geben Sie einen Vornamen ein,0,,,}
		ERG=DB.SETRECORD{FLD}
	ENDIF
	// Suche nach einem bestimmten Datensatz mit Benutzerangabe
	FINDSTR=DLGINPUTBOX{Suchstring?,Geben Sie einen gültigen Suchausdruck an:,0,false,NAME='Mustermann',abcdefghijklmnopqrstuvwxyz,1}
	FIND=DB.FINDRECORD{{FINDSTR}}
	IFBLOCK{FIND=True}
		// Datensatz gefunden, Namen und Vornamen anzeigen
		ERG=DLGMESSAGE{Gefunden!}
		ERG=DB.GETRECORD{GFLD}
		ERG=DLGMESSAGE{{GFLD.NAME} {GFLD.VORNAME}}
	ENDIF
	// Datenbank schließen
	ERG=DB.CLOSE{}
ELSE
	// Fehlermeldung, wenn die Datenbank nicht erstellt werden konnte
	ERG=DLGMESSAGE{Datenbank konnte nicht erzeugt werden!}
ENDIF