vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik:    |   VB-Versionen: VB6, VBA04.03.13
Mathematische Ausdrücke mittels SQL berechnen

Sie müssen einfache mathematische Ausdrücke berechnen können? Sollten Sie zudem eine Datenbank eingebunden haben, dann können Sie die Berechnung des Terms auch an die DB-Engine übertragen!

Autor:  Dieter OtterBewertung:     [ Jetzt bewerten ]Views:  1.927 
http://www.tools4vb.de/System:  WinXP, Win7, Win8, Win10, Win11 Beispielprojekt 

In diesem Tipp zeigen wir Ihnen eine ganz einfache Möglichkeit, mathematische Ausdrücke (Formeln) zu berechnen, z.B.:

(15 + 8) * 2 - (4 + 9) / 2 + 100

Die Idee ist es diese Berechnung direkt vom Datenbank-System erledigen zu lassen. Egal, ob SQL-Server oder MS-Access - innerhalb einer Datenbankabfrage kann man ja durchaus auch Berechnungen an die DB-Engine übergeben, die dann das Ergebnis zurückliefert.

Was liegt also näher, für die Berechnung einfacher mathematischer Ausdrücke eine kleine Datenbankabfrage zu generieren?

Voraussetzung:
Es existiert mindestens eine Tabelle und darin mind. ein Datensatz.

' Mathematischen Term berechnen
Dim oRs As ADODB.Recordset
Dim Ergebnis As Double
Dim sAusdruck As String
 
' Ausdruck, der berechnet werden soll
sAusdruck = "(15 + 8) * 2 - (4 + 9) / 2 + 100"
 
' Ergebnis auf 1 Datensatz begrenzen (Id = 1)
Set oRs = oConn.Execute("SELECT " & sAusdruck & " AS Formel FROM Tabelle1 WHERE Id=1")
 
If Not oRs.EOF And Not oRs.BOF Then
  ' Ergebnis der Berechnung zurückgeben
  Ergebnis = oRs("Formel")
Else
  ' Fehler
ENd If
oRs.Close
Set oRs = Nothing