Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Mediaan berekenen in query

100 views
Skip to first unread message

Wouter van Embden

unread,
Jun 2, 2003, 10:31:49 AM6/2/03
to
Ik wil de mediaan van een aantal waardes in een query
automatisch laten berekenen. Het lukt me wel om het met VB
te doen, maar in een query niet. Kan iemand helpen?

Bert

unread,
Jun 2, 2003, 11:39:03 AM6/2/03
to
Wouter,

Dat is een functie die in Access niet bestaat. Je kunt hem idd zelf nabouwen
in VBA.

Vervolgens kun je hem nog wel gebruiken in je query door er in VBA een
Public function van te maken die het resultaat van de berekening
retourneert. Je kunt waarden uit de query ook gewoon meegeven als
argumenten, via een berekend veld.

succes,
Bert


"Wouter van Embden" <wou...@ictnet.nl> wrote in message
news:071101c32913$b3f79310$a001...@phx.gbl...

Wouter van Embden

unread,
Jun 2, 2003, 10:53:36 AM6/2/03
to
Beste Bert,

Heb jij een voorbeeld van zo'n VBA script?

Groeten Wouter.

>.
>

Bert

unread,
Jun 2, 2003, 1:57:33 PM6/2/03
to
Wouter,

Zou hiermee moeten kunnen:

-----
Function fMediaan(sTabel As String, sVeld As String) As Double
Dim db As Database
Dim rs As Recordset
Dim lngAantal As Long
Dim intAntw1 As Integer
Dim intAntw2 As Integer

Set db = DBEngine(0)(0)
Set rs = db.OpenRecordset("select " & sVeld & " from " & sTabel & "
order by " & sVeld)
If rs.RecordCount = 0 Then
fMediaan = 0
Else
rs.MoveLast
lngAantal = rs.RecordCount
If lngAantal Mod 2 = 0 Then
rs.MoveFirst
rs.Move lngAantal / 2 - 1
intAntw1 = rs(sVeld)
rs.Move 1
intAntw2 = rs(sVeld)
fMediaan = (intAntw1 + intAntw2) / 2
Else
rs.MoveFirst
rs.Move Int(lngAantal / 2)
fMediaan = rs(sVeld)
End If
End If

rs.Close
Set rs = Nothing
Set db = Nothing
End Function
-----

Met dank aan Harry van www.officeforum.nl

in je query zet je in een berekendveld:
VeldNaam: fMediaan(Tabelnaam;Veldnaam)

Succes,
Bert


"Wouter van Embden" <wou...@ictnet.nl> wrote in message

news:09b301c32916$bec3d3f0$a601...@phx.gbl...

0 new messages