ACC2000: SQL-Statement in Dom-Funktion

29/09/2007 - 18:31 von Michael Hessler | Report spam
Hallo,
folgende Funktion funktioniert:
=DomSumme("Dauer";"AbfrageName";"Dicke=" & Str(Format$([Dicke])))
Nun möchte ich einfach "AbfrageName" durch das entsprechende
SQL-Statement
SELECT ... ;
ersetzen.

Wie lautet die richtige Syntax; ich erhalte immer nur #FEHLER.

Danke
Michael
 

Lesen sie die antworten

#1 Josef Poetzl
29/09/2007 - 18:45 | Warnen spam
Hallo!

Michael Hessler schrieb:
folgende Funktion funktioniert:
=DomSumme("Dauer";"AbfrageName";"Dicke=" & Str(Format$([Dicke])))
Nun möchte ich einfach "AbfrageName" durch das entsprechende
SQL-Statement
SELECT ... ;
ersetzen.

Wie lautet die richtige Syntax



Dim rst as dao.recordset
set rst = currendb.openrecordset("SELECT Sum(Dauer) FROM ...")
with rst
IF .eof then
xxx = NULL ' oder 0?
else
xxx = .fields(0)
end if
.close
end with
set rst=nothing
... hoffentlich schrieb ich jetzt keinen Syntaxfehler. ;)

Etwas kürzer wird es, wenn du eine Ersatzfunktion für DSum verwendest
und dort die Datenherkunft in Klammer setzt. Dann kannst du auch
SQL-Anweisungen übergeben.
Beispiele dafür gibt es z.B. unter
http://www.mvps.org/access/modules/mdl0012.htm

Ich nutze genre eine àhnliche Funktion:
Public Function DLookupSQL(sSQL As String) As Variant
Dim rst As DAO.Recordset
Set rst = CurrentDbC.OpenRecordset(sSQL, dbOpenForwardOnly)
With rst
If .EOF Then
DLookupSQL = Null
Else
DLookupSQL = .Fields(0)
End If
.Close
End With
Set rst = Nothing
End Function

mfg
Josef

EPT: (Access Error Prevention Table) http://access.joposol.com/
FAQ: (Access-FAQ von Karl Donaubauer) http://www.donkarl.com/

Ähnliche fragen