我正在將Access應用程序轉換爲Web應用程序,並且無法將此vb/SQL轉換爲視圖。這似乎不是那麼難的問題,但它真的讓我陷入循環。將動態查詢中的邏輯從Access VBA轉換爲SQL Server視圖
Public Function GetProjectNumber(ByVal HeaderID As Long) As String
Dim retval As String
Dim rst As New ADODB.Recordset
Dim tempID As Long
On Error GoTo Err_Handler
rst.Open "SELECT TransferID, ProjectID FROM dbo.tblProject WHERE HeaderID = " & HeaderID
If Not (rst.EOF And rst.BOF) Then
If IsNull(rst!TransferID) Then
retval = rst!ProjectID
Else
tempID = rst!TransferID
If rst.State = adStateOpen Then rst.Close
rst.Open "SELECT ProjectID FROM dbo.tblProject WHERE HeaderID = " & tempID
If rst.EOF And rst.BOF Then
retval = "Transfer from ????"
Else
retval = "Transfer from " & rst!ProjectID
End If
End If
End If
If rst.State = adStateOpen Then rst.Close
Exit_Handler:
Set rst = Nothing
GetProjectNumber = retval
Exit Function
End Function
我試着使用嵌套case
語句,但情況下不能被應用到返回的每一行。有沒有辦法做到這一點IIF
?或者讓這個功能?
使用SQLserver的導入工具將MSAccess數據庫導入SQLserver會不會更容易? – Gerfried
它不是Access數據庫,它是一個訪問SQL前端數據庫的Access前端。我試圖將前端重寫爲一個Web應用程序,但需要在Access中接受任何SQL調用並將它們移動到存儲過程/視圖。 – Alex
無論您需要閱讀有關解決方案,瞭解並開始使用參數化查詢。建立字符串並直接對你的服務器執行它是一個公開邀請bobby表來訪問。 http://bobby-tables.com/ –