Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


446 / 9994 ←次へ | 前へ→

【12860】3061または94のエラーについて
質問  さっちも  - 15/7/2(木) 18:15 -

引用なし
パスワード
   はじめまして。

現在、以下のような関数を作成しているのですが、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
340 hits

【12860】3061または94のエラーについて さっちも 15/7/2(木) 18:15 質問[未読]
【12861】Re:3061または94のエラーについて かるびの 15/7/3(金) 0:07 回答[未読]
【12862】Re:3061または94のエラーについて さっちも 15/7/3(金) 15:38 お礼[未読]

446 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078190
(SS)C-BOARD v3.8 is Free