Rubrik: Datenbanken · Sonstiges | VB-Versionen: VB6 | 30.11.12 |
Now-Funktion im SQL-Statement Dieser Code zeigt, wie man innerhalb einer SQL-Abfrage die Now-Funktion verwenden kann - sowohl für Access-Datenbanken, als auch MS SQL Server Datenbanken. | ||
Autor: Dieter Otter | Bewertung: | Views: 7.088 |
www.tools4vb.de | System: WinXP, Win7, Win8, Win10, Win11 | kein Beispielprojekt |
Vor einigen Wochen haben wir Ihnen die dbSQLFunc-Funktion vorgestellt, mit der sich häufig benötigte Abfragefunktionen innerhalb einer SQL-Anweisung so formulieren lassen, dass diese sowohl mit einer Access-Datenbankumgebung, als auch mit dem MS SQL-Server korrekt ausgeführt werden:
IIf-Abfragen im SQL-StatementDateDiff-Funktion im SQL-Statement
MID-Funktion im SQL-Statement
Mit unserem heutigen Tipp erweitern wir die Funktion um die Now-Funktion:
' VBA-Funktionen / SQL-Funktionen Public Function dbSQLFunc(ByVal sFunc As String, ParamArray vExpr() As Variant) As String Select Case UCase$(sFunc) ' IIf(...,...,...) Funktion ' ... ' Mid(...) Funktion ' ... ' DateDiff(...) Funktion ' ... ' Datum/Zeit Case "NOW" If DbSystem = dbMSAccess Then dbSQLFunc = "Now()" Else dbSQLFunc = "GetDate()" End If End Select End Function
Je nach verwendetem Datenbanksystem (Access oder SQL-Server) generiert die Funktion dbSQLFunc die korrekte SQL-Syntax.
Beispiel:
' Aktuelles Datum/Zeit in Datenbank speichern sSQL = "UPDATE tblKunden SET LastChanged = " & dbSQLFunc("NOW") & " WHERE ..."