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? –