|
はじめまして。
現在、以下のような関数を作成しているのですが、Nullの入ったフィールド値をSQL文で読みだそうとすると、「Set R1 = DB.OpenRecordset(SQL_Txt)」のところで、エラー番号3061または94のエラーが発生します。
いろいろ調べてみたのですが、原因と修正方法がわかりません。
■関数の概要:
指定したテーブル名、キーフィールド名とキー値から、指定したフィールドの値を取得する。
SQL文の例:
SELECT 名前 AS A FROM テーブル1 WHERE テーブル1.ID=13
ご教授いただければと思います。
よろしくお願いします。
================================
Function getDataFromDB(ByVal Sql_table As String, ByVal Sql_keyid As String, ByVal Sql_keyidvalue As Variant, ByVal WantToGet_item As Variant)
Dim SQL_Txt, A, B As String
If Sql_keyid = "ID" Or Sql_keyid = "管理番号" Then
SQL_Txt = "SELECT " & WantToGet_item & " AS A FROM " & Sql_table & " WHERE " & Sql_table & "." & Sql_keyid & "=" & Mid(Str(Sql_keyidvalue), 2)
Else
SQL_Txt = "SELECT " & WantToGet_item & " AS A FROM " & Sql_table & " WHERE " & Sql_table & "." & Sql_keyid & "='" & Sql_keyidvalue & "'"
End If
On Error GoTo Err:
Dim DB As DAO.Database
Dim R1 As DAO.Recordset
Set DB = CurrentDb()
Set R1 = DB.OpenRecordset(SQL_Txt) ★ここでエラー発生★
B = R1!A
R1.Close
Set R1 = Nothing
DB.Close
Set DB = Nothing
getDataFromDB = B
Exit Function
Err:
Call goError("DBエラー(getDataFromDB)", SQL_Txt)
End Function
|
|