[gelöst] Macro-Syntax

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

hk3003
**
Beiträge: 36
Registriert: Mo, 31.12.2007 14:19

[gelöst] Macro-Syntax

Beitrag von hk3003 »

Hallo Forum,
in der Beispieldatenbank Zeitmessung ist ein Macro bei dem ich 2 Zeilen nicht ganz verstehe:

Code: Alles auswählen

SUB Zeitmessung_Start_System(oEvent AS OBJECT)
	DIM oForm AS OBJECT
	DIM oFeld AS OBJECT
	DIM oConnection AS OBJECT
	DIM oSQL_Statement AS OBJECT
	DIM stStartzeit AS STRING
	DIM stSql AS STRING
	DIM loZeit AS LONG
	oForm = oEvent.Source.Model.Parent
	stStartzeit = Left(oForm.getString(oForm.findColumn("Startzeit")),19)	<-- was passiert hier genau?
	loZeit = getSystemTicks() ' Gibt die Systemzeit in Millisekunden an
	oConnection = oForm.activeConnection()
	oSQL_Statement = oConnection.createStatement()
	stSql = "UPDATE ""T_Zeitspeicher"" SET ""Zeitspeicher"" =  '"+loZeit+"' WHERE ""Startzeit"" = '"+stStartzeit+"'"	<-- wozu die Pluszeichen?
	oSQL_Statement.executeUpdate(stSql)
END SUB
ich hoffe es kann mir jemand helfen,
lg heinz
Zuletzt geändert von hk3003 am Di, 14.03.2023 13:33, insgesamt 1-mal geändert.
RobertG
********
Beiträge: 2034
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Macro-Syntax

Beitrag von RobertG »

Hallo Heinz,

da ich die Datenbanken und die Beschreibung erstellt habe hier zur ersten Frage ein Verweis auf die Beschreibung zu den Beispielen:
Aus dem Feld "Startzeit" soll der Zeitstempel für die Startzeit ausgelesen werden (Zeile 10). Dieser kann auch Nachkommastellen enthalten. Deshalb wird der Wert als String ausgelesen und berücksichtigt nur die ersten 19 Zeichen (10 Zeichen für das Datum, ein Leerzeichen, 8 Zeichen für die Zeit).
In der Variable stSql wird ein Text gespeichert. Der Text wird dabei zusammengesetzt aus SQL-Code und einigen Variablen. Mit + oder & werden einzelne Elemente im Makro verbunden. Du könntest also die + - Zeichen auch durch & - Zeichen ersetzen.

Gruß

Robert
hk3003
**
Beiträge: 36
Registriert: Mo, 31.12.2007 14:19

Re: Macro-Syntax

Beitrag von hk3003 »

Hallo Robert,
In der Variable stSql wird ein Text gespeichert. Der Text wird dabei zusammengesetzt aus SQL-Code und einigen Variablen. Mit + oder & werden einzelne Elemente im Makro verbunden. Du könntest also die + - Zeichen auch durch & - Zeichen ersetzen.
Es ist mir noch immer nicht klar warum die + Zeichen am Anfang und am Ende der Feldnamen sind. Noch dazu sind sie - nach meiner Logik - ja von Hochkomma begrenzt und daher zum Namen gehörend? Oder bewirken diese Steuerzeichen (+), dass hier keine Tabellen- oder Formularfelder eingebunden werden?
Ich hoffe ich bin nicht zu lästig,
lg heinz
RobertG
********
Beiträge: 2034
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Macro-Syntax

Beitrag von RobertG »

Hallo Heinz,

wenn Du den Code im Editor von Base siehst wird Dir das durch die Farbgebung schneller klar.

Code: Alles auswählen

"…""Zeitspeicher"" =  '"
Damit endet der erste Textteil

Code: Alles auswählen

+loZeit
Damit wird die Variable loZeit an den vorhergehenden Textteil angehängt.

Code: Alles auswählen

+"' WHERE …"
Und hiermit folgt wieder Text.
Die einfachen Anführungszeichen stehen in dem vorgefertigten Textteil. Sie wären bei loZeit auch nicht notwendig, weil es sich dabei ja um eine Zahl handelt. Text muss in SQL hingegen auf jeden Fall in einfache Anführungszeichen gesetzt werden.

Gruß

Robert
hk3003
**
Beiträge: 36
Registriert: Mo, 31.12.2007 14:19

Re: Macro-Syntax

Beitrag von hk3003 »

Hallo Robert,
Screenshot 2023-03-13 172500.png
Screenshot 2023-03-13 172500.png (4.95 KiB) 1594 mal betrachtet
jetzt ist mir das klar! Und das gilt nur für Variablen?
lg heinz
RobertG
********
Beiträge: 2034
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Macro-Syntax

Beitrag von RobertG »

Hallo Heinz,

Du kannst auch Text mit Hilfe von + oder & ganz normal verbinden.

Gruß

Robert
hk3003
**
Beiträge: 36
Registriert: Mo, 31.12.2007 14:19

Re: Macro-Syntax

Beitrag von hk3003 »

Hallo Robert,
danke für die intensive Unterstützung und Kompliment für das Handbuch,
lg heinz
Antworten