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
Iは、ネストされたcase
ステートメントを使用しようとしたが、場合によっては、返された各列には適用できません。 IIF
でこれを行う方法はありますか?それとも、これを機能させるか?
SQL Serverのインポートツールを使用してMSAccess DBをSQL Serverにインポートする方が簡単ではないでしょうか? – Gerfried
これはAccessデータベースではなく、SQL 2012データベースにアクセスするAccessフロントエンドです。フロントエンドをWebアプリケーションとして書き直そうとしていますが、AccessでSQL呼び出しを行い、ストアドプロシージャ/ビューに移動する必要があります。 – Alex
解決策に関係なく、パラメータ化されたクエリを理解し、使用し始める必要があります。文字列を構築し、それらをサーバーに対して直接実行することは、ボビー・テーブルが訪問するための公開された招待です。 http://bobby-tables.com/ –