【发布时间】:2016-04-26 14:03:18
【问题描述】:
我正在将 Access 应用程序转换为 Web 应用程序,但我无法将此 vb/SQL 转换为视图。这似乎不是那么难的问题,但它真的让我陷入困境。
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 DB 导入 SQLserver 不是更简单吗?
-
它不是 Access 数据库,它是访问 SQL 2012 数据库的 Access 前端。我正在尝试将前端重写为 Web 应用程序,但需要在 Access 中进行任何 SQL 调用并将它们移动到存储过程/视图。
-
无论您需要阅读、理解并开始使用参数化查询的解决方案。建立字符串并直接针对您的服务器执行它们是对 bobby 表访问的公开邀请。 bobby-tables.com
标签: sql sql-server vba ms-access