kosamonのプロフィール

@kosamon kosamon
ありがとう数22
質問数1
回答数42
ベストアンサー数
11
ベストアンサー率
47%
お礼率
16%

  • 登録日2007/06/12
  • 実行時エラー3021

    実行時エラー3021「BOFとEOFのいずれかTRUEになっていか、または現のレコード要求された操作には、現在のレコードが必要です。」 というエラーが発生します。 エラーになるコードの一部を掲載します。 コードの内容は、アクセスのT_店名テーブルで、str店名の値同じレコードの地図フィールドの値を取得する内容です。 地図フィールドがnullなら何も取得しないようにifステートメントで分けています。 ------------------------------------------------------------ str店名="abc会社" rs.Open "SELECT * FROM T_店名", cn, adOpenStatic, adLockPessimistic rs.Filter = "店名 = '" & str店名 & "'" If IsNull(rs("地図")) = True Then Else ’ここでエラーになる str地図 = rs("地図") End If rs.Close: Set rs = Nothing ------------------------------------------------------------ "abc会社"は、コード上(VBA上) IsNull(rs("地図")) = True では、Falseになってしまい、 str地図 = rs("地図") でエラーになります。 目で見た限り "abc会社"は、T_店名テーブルに存在しますし、 地図フィールドはNullっぽいです。 なのになぜ If IsNull(rs("地図")) = True Then で、True にならないのでしょうか? True にならないために、 str地図 = rs("地図") で、実行時エラー3021というエラーになってしまうようです。

  • アクセスで更新クエリ 「引数が無効です」

    アクセスで更新クエリを実行しようとしたら 「引数が無効です」というエラーになってしまいます。 更新クエリの内容(SQL文)は、 UPDATE T_詳細 SET T_詳細.name = StrConv([T_詳細]![name],8); のような感じで、半角にしようとしています。 どこが間違っているのでしょうか?

  • ACCESS どこがおかしいのか?

    ACCESSで。クエリからフォームを作成し、検索フォームを作成しようとしています。 AND条件とOR条件を作り検索(抽出)を行いたいのですが、何が間違っているのか、 検索をかけるとすべて「登録がありません」になってしまいます。 どこが間違っているのか、もしくは代替案を教えていただけますでしょうか。 以下は記述した、VBAコードです。 Private Sub 検索ボタン_Click() Dim db As DAO.Database Dim rs As DAO.Recordset Dim stFil As String Set db = CurrentDb() Set rs = db.OpenRecordset("Q_Autoweb", dbOpenDynaset) 'オプションボタンで条件を選択 If 検索条件 = 1 Then rs.Filter = "[タイトル]='" & タイトル検索 & "' and [本文]='" & テキスト15 & "'" Else rs.Filter = "[タイトル]='" & タイトル検索 & "' or [本文]='" & テキスト15 & "'" End If Set rs = rs.OpenRecordset Set Me.Recordset = rs If rs.EOF = True Then MsgBox "登録がありません" Else Me.ID = rs!ID Me.案件名 = rs!案件名 Me.タイトル = rs!タイトル Me.本文 = rs!本文 End If rs.Close Set rs = Nothing db.Close Set db = Nothing End Sub よろしくお願いします。

  • ACCESS どこがおかしいのか?

    ACCESSで。クエリからフォームを作成し、検索フォームを作成しようとしています。 AND条件とOR条件を作り検索(抽出)を行いたいのですが、何が間違っているのか、 検索をかけるとすべて「登録がありません」になってしまいます。 どこが間違っているのか、もしくは代替案を教えていただけますでしょうか。 以下は記述した、VBAコードです。 Private Sub 検索ボタン_Click() Dim db As DAO.Database Dim rs As DAO.Recordset Dim stFil As String Set db = CurrentDb() Set rs = db.OpenRecordset("Q_Autoweb", dbOpenDynaset) 'オプションボタンで条件を選択 If 検索条件 = 1 Then rs.Filter = "[タイトル]='" & タイトル検索 & "' and [本文]='" & テキスト15 & "'" Else rs.Filter = "[タイトル]='" & タイトル検索 & "' or [本文]='" & テキスト15 & "'" End If Set rs = rs.OpenRecordset Set Me.Recordset = rs If rs.EOF = True Then MsgBox "登録がありません" Else Me.ID = rs!ID Me.案件名 = rs!案件名 Me.タイトル = rs!タイトル Me.本文 = rs!本文 End If rs.Close Set rs = Nothing db.Close Set db = Nothing End Sub よろしくお願いします。

  • ACCESS どこがおかしいのか?

    ACCESSで。クエリからフォームを作成し、検索フォームを作成しようとしています。 AND条件とOR条件を作り検索(抽出)を行いたいのですが、何が間違っているのか、 検索をかけるとすべて「登録がありません」になってしまいます。 どこが間違っているのか、もしくは代替案を教えていただけますでしょうか。 以下は記述した、VBAコードです。 Private Sub 検索ボタン_Click() Dim db As DAO.Database Dim rs As DAO.Recordset Dim stFil As String Set db = CurrentDb() Set rs = db.OpenRecordset("Q_Autoweb", dbOpenDynaset) 'オプションボタンで条件を選択 If 検索条件 = 1 Then rs.Filter = "[タイトル]='" & タイトル検索 & "' and [本文]='" & テキスト15 & "'" Else rs.Filter = "[タイトル]='" & タイトル検索 & "' or [本文]='" & テキスト15 & "'" End If Set rs = rs.OpenRecordset Set Me.Recordset = rs If rs.EOF = True Then MsgBox "登録がありません" Else Me.ID = rs!ID Me.案件名 = rs!案件名 Me.タイトル = rs!タイトル Me.本文 = rs!本文 End If rs.Close Set rs = Nothing db.Close Set db = Nothing End Sub よろしくお願いします。