こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

Access2013の質問です。

Access2013でフォームを作っています。コンボボックスを使ってレコードを検索するコードを作ったのですが、もし、コンボボックスの内容に対応するレコードがなかった場合、新しくレコードを作るコードは、どう書くのですか?情報不足でしたらすいません。
環境)Windows8.1
    Access2013
回答よろしくお願いします。

投稿日時 - 2014-02-11 14:53:45

QNo.8470713

困ってます

このQ&Aは役に立ちましたか?

13人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

NotInList イベントはコンボボックスに無いデータを入力したときに発生します。

>もし、コンボボックスの内容に対応するレコードがなかった場合
にフォームに新たなレコードを追加したいのですから
>コンボボックスを使ってレコードを検索するコードを
に書き加える形になります。

分からなければ、レコードを検索するコード、
コンボボックスのコントロールソースまたは値集合ソース、
それとフォームのレコードソース、
以上3点を提示ください。

投稿日時 - 2014-02-25 02:29:21

ANo.2

>「実行時エラー'2105' 指定したレコードに移動できません。」
結果だけを表示されても困ります。
>内容次第で変わってきますので。
少なくともコードの提示ぐらいないと全く分かりません。

投稿日時 - 2014-02-22 18:51:55

補足

>少なくともコードの提示ぐらいないと全く分かりません。
次のようなコードを使いました。
Private Sub コンボ91_NotInList(NewData As String, Response As Integer)
Response = acDataErrContinue
Dim L As Long: L = MsgBox("…", vbYesNo)
Select Case L
Case vbYes
DoCmd.GoToRecord , , acNewRec ←ここでエラーが出ました。
Exit Sub
Case vbNo
コンボ91.Text = ""
End Select
End Sub

投稿日時 - 2014-02-23 09:35:02

ANo.1

>新しくレコードを作るコードは
Docmd.gotoRecord について調べてください。
http://www.tsware.jp/study/vol4/docmd_3.htm
など。

>対応するレコードがなかった場合

>レコードを検索するコード
の内容次第で変わってきますので割愛します。

投稿日時 - 2014-02-12 14:16:10

お礼

NotFound404さん、ご回答ありがとうございます。リンクを参考に作ってみたのですが、
「実行時エラー'2105' 指定したレコードに移動できません。」
というエラーが発生しました。どうすればいいのでしょうか。

投稿日時 - 2014-02-22 18:15:15

あなたにオススメの質問