0
我有一些VBA代码在MS Access中运行,我想“升迁”到存储过程。它现在使用ADO来生成排名(荷兰语中的PLAATS),但我必须在SQL Server上完成这项工作。谁可以帮忙?将VBA函数移动到SQL Server存储过程
在VBA代码是:
Function InvullenUitslag()
Dim MijnDb As Database
Dim rsWEDS As Recordset
Dim iCategorie As Integer
Dim iPlaats As Integer
Dim iExequo As Integer
Dim dblTotaal As Double
Dim iAantalDeelnemers As Byte
Set MijnDb = DBEngine.Workspaces(0).Databases(0)
Set rsWEDS = MijnDb.OpenRecordset("Q_UITSLAG")
rsWEDS.MoveFirst
If Not rsWEDS.EOF Then
iCategorie = rsWEDS![CATEGORIEID]
dblTotaal = -1
iPlaats = 0
iExequo = 0
iAantalDeelnemers = 0
End If
While Not rsWEDS.EOF()
If Not (iCategorie = rsWEDS![CATEGORIEID]) Then
iPlaats = 1
iExequo = 0
iAantalDeelnemers = 1
Else
If Abs(dblTotaal - rsWEDS![iTOTAAL]) <= 0.0001 Then
iExequo = iExequo + 1
iAantalDeelnemers = iAantalDeelnemers + 1
Else
iPlaats = iPlaats + iExequo + 1
iExequo = 0
iAantalDeelnemers = iAantalDeelnemers + 1
End If
End If
rsWEDS.Edit
rsWEDS![PLAATS] = iPlaats
rsWEDS![AANTALDEELNEMERS] = iAantalDeelnemers
If iExequo > 0 Then
rsWEDS![EXEQUO] = "*"
End If
rsWEDS.Update
iCategorie = rsWEDS![CATEGORIEID]
dblTotaal = rsWEDS![iTOTAAL]
rsWEDS.MoveNext
Wend
End Function
对于初学者...这是数据在SQL Server? 'DBEngine.Workspaces(0).Databases(0)'通常是指Access数据库,而不是SQL Server –
数据在Access数据库中,我将它移动到SQL Server。我是这件事的先行者 – Jan
我想你的第一步是把它放到SQL Server中。你能解释一下VBA在数据样本中的作用吗?它看起来可能是分区类型查询。它将进入哪个版本的SQL Server? –