kosamonのプロフィール
- ベストアンサー数
- 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というエラーになってしまうようです。
- ベストアンサー
- オフィス系ソフト
- ahvdxeqtoje
- 回答数2
- アクセスで更新クエリ 「引数が無効です」
アクセスで更新クエリを実行しようとしたら 「引数が無効です」というエラーになってしまいます。 更新クエリの内容(SQL文)は、 UPDATE T_詳細 SET T_詳細.name = StrConv([T_詳細]![name],8); のような感じで、半角にしようとしています。 どこが間違っているのでしょうか?
- ベストアンサー
- その他MS Office製品
- zyqhvpjd
- 回答数1
- 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 よろしくお願いします。
- 締切済み
- オフィス系ソフト
- arimasouitirou
- 回答数5
- 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 よろしくお願いします。
- 締切済み
- オフィス系ソフト
- arimasouitirou
- 回答数5
- 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 よろしくお願いします。
- 締切済み
- オフィス系ソフト
- arimasouitirou
- 回答数5