これまでで一番「情けなかったとき」はいつですか?

いつもお世話になっております。

昨日質問先を間違えており再度、投稿させていただきます。

うまく説明する事ができないのですが、テストで作成したデータベースを
テーブル部分とその他部分に分けて、テーブルリンクを設定しフォームで
の実行をしたところ、"実行時エラー3251"が発生してしまいました。
対処方法が全然分らず大変困っております。
どなたか対処方法を教えていただけませんでしょうか。

処理内容と画像を添付させていただきます。

Private Sub コード_AfterUpdate()
Dim seekkey As String

'「コード」が未入力かの判定
If IsNull(Me!コード) = True Then
MsgBox "コードを入力してください", _
vbOKOnly, vbExclamation, "コード"
コード.SetFocus
Exit Sub
End If

'レコードセットが既に開いているかどうかを判定する処理
If rst.State = adStateOpen Then

'レコードセットが開いているときはいったん閉じる処理
rst.Close

End If

Set cnc = CurrentProject.Connection

'「T04_ツアーコード」を開く処理
rst.Open "T04_ツアーコース", cnc, adOpenKeyset, adLockBatchOptimistic, adCmdTableDirect

If rst.EOF Then
MsgBox "レコードが1件もありません", _
vbOKOnly + vbExclamation, "結果"
コード.SetFocus
Exit Sub
End If

rst.Index = "Primarykey"
seekkey = Me!コード '「コード番号」を検索キーに設定する処理
rst.Seek seekkey, adSeekAfterEQ

If rst.EOF Then
MsgBox "コードが存在しません。"
Me!コード = Null
Me!コース名 = Null
Me!宿泊施設 = Null
Me!担当者CD = Null
Me!担当者名 = Null

Else

Me!コード = rst!コード
Me!コース名 = rst!コース名
Me!宿泊施設 = rst!宿泊施設
Me!担当者CD = rst!担当者CD
Me!担当者名 = rst!担当者名

End If

Me!登録.Enabled = False '登録ボタンを使用不可とする
Me!クリア.Visible = True
Me!変更.Visible = True
Me!コード.SetFocus

End Sub

すいません。長くなってしまいましたが、よろしくお願いいたします。

アクセス2013を使用しています。

「実行時エラー3251対応処理方法」の質問画像

A 回答 (1件)

リンクテーブルに対してはSeek メソッドを使うことはできないので、Find を使う等の別の方法を考えた方がよいようです。

    • good
    • 0
この回答へのお礼

Sand_Dollarさんへ

 大変、お礼が遅くなってしまい申し訳けございません。
 Findを使う方法が何とか分ったような。また一つ勉強に
 なりました。
 ありがとうございます。

お礼日時:2018/01/06 13:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A