
どうもお世話になります。
Accessに関しましての質問でございます。
以下のVBAでコンパイルエラーが出るのですが、
どのように致したらエラーが出なくなるでしょうか?
こちらのプログラムは、
チェックインから宿泊最終日を入力すると
日付を1日ずつ増やして、ほかのデータは
固定したままフォームに入力するプログラムです。
ただし、請求書_詳細IDもオートナンバー型です。
--------------------------------------------
Option Compare Database
Private Sub レコードの追加_Click()
Dim strWHERE As String
Dim D As Date
strWHERE = ""
strWHERE = strWHERE & " AND 宿泊日 >=#" & Me.チェックイン & "#"
strWHERE = strWHERE & " AND 宿泊日 <=#" & Me.宿泊最終日 & "#"
If DCount("*", "Qh2f_請求書_詳細", strWHERE) = 0 Then '条件に当て嵌まるデータ件数を取得
Me.Fh2f_請求書_詳細_sub.Requery
With Me.Fh2f_請求書_詳細_sub.Form.RecordsetClone
For D = Me.チェックイン To Me.宿泊最終日
.FindFirst "宿泊日=#" & D & "#AND 請求書_詳細ID ='" & Me.請求書_詳細ID & "'"
If .NoMatch Then
.AddNew
!宿泊日 = D
!請求書_詳細ID = Me.請求書_詳細ID
!部屋番 = Me.部屋番
!氏名2 = Me.氏名2
!商品名 = Me.商品名
!単価 = Me.単価
!人数 = Me.人数
!宿泊数 = Me.宿泊数
!備考 = Me.備考
.Update
End If
Next
End With
Else
MsgBox ("すでに同じ日付が入っています")
End If
End Sub
--------------------------------------------
こちらの設定にしたところ
「コンパイルエラー」
「メソッドまたはデータメンバが見つかりません。」という
エラーが出てしまいます。
そうして、「.請求書_詳細ID」だけが
ブルーになります。
どうしたら、エラーを消して
連投できるようになるでしょうか?
大変お手数とはぞんじますが、
ご返信お待ち致しております。
【補足】
実は他の方に教えてもらった
プログラムを応用して作ったものです。
VBA初心者です。
どうぞよろしくお願い致します。
No.5ベストアンサー
- 回答日時:
>Private Sub レコードの追加_Click()
のコマンドボタンなどがメインフォーム上にあり
.FindFirst "宿泊日=#" & D & "# AND 請求書_詳細ID =" & Me.請求書_詳細ID
の末尾のMe.請求書_詳細IDがサブフォーム上にあるのでしたら
.FindFirst "宿泊日=#" & D & "# AND 請求書_詳細ID =" & Me!サブフォームコントロール名.Form!請求書_詳細ID
でしょうけど、。。。
http://hatenachips.blog34.fc2.com/blog-entry-347 …
Me.請求書_詳細ID が重複している、
OR コントロール名を間違えている、かも?
Me.請求書_詳細ID は何処にあるのでしょう。?
謎の仕様。
上手く行かなかったらより単純に
.FindFirst "宿泊日=#" & D & "# AND 請求書_詳細ID =1"
でもお試しを。
この度は度重なるご返信をありがとうございます。いろいろ参考にさせていただきましたが、あれこれ試した結果無事できるようになりました。どうもありがとうございます。
No.4
- 回答日時:
>請求書_詳細IDもオートナンバー型
であるならば、
>請求書_詳細ID ='" & Me.請求書_詳細ID & "'"
で抽出されるデータは多くて一個しかないということになり、それがなかった場合でも
>!請求書_詳細ID = Me.請求書_詳細ID
繰り返し入れることができなくなるような気がする。
お金に関することなので、状況があまりよくわかっていないので、間違っていてもかまわないという前提の元に話を進めるなら、
・「請求書_親ID」みたいなフィールドを追加し、
セレクト文を
・・・請求書_親ID ='" & Me.請求書_ID & "'"
として、インサートを
.addnew
・・・
!請求書_親ID = Me.請求書_ID
・・・
.update
とする。
インサートするフィールドを眺めていると、テーブルの構造がいまいちな気がして、もう少しRDBについて勉強をしたほうが良いというアドバイスがしたくなるけど、まあ、それは別な話。
No.3
- 回答日時:
ANo2は無視してください。
エラーの出ている行を勘違いしました。
スミマセンでした。
度重なるご返答ありがとうございます。なんとかできるようになりたいです。VBAって本当に難しいですね。本を読んでもよく分かりません。この度はどうもありがとうございます。
No.2
- 回答日時:
フォームの請求書_詳細IDを入れるテキストボックスの名称が間違っている
可能性がありますので、ご確認ください。
というか、me.を入れたときに出てくる候補のどれかを選ぶようにすれば、
そのようなことにはならないと思います。
丁寧なご返信ありがとうございます。
無視とのことですが、一応返信をさせてください。
meの候補には出て参りません。
別の候補はたくさん出てくるのですが・・・
請求書IDとか。ただ、これは親のIDなので関係ないかと思います。
どうでしょうか?
再び話は戻りまして、請求書_詳細IDですが
サブフォーム(出力用)にはテキストボックスはあります。
そのかわり、入力用のテキストボックスはありません。
どうでしょうか? よくわからなくてどうもすみません。
後、外せない理由があって、
請求書IDはオートメーション型ではありません。
数値型になっております。こちらは関係あるでしょうか?
No.1
- 回答日時:
ただし、請求書_詳細IDもオートナンバー型です。
なので、どの行でエラーなのか不明ですが、とりあえず、
.FindFirst "宿泊日=#" & D & "#AND 請求書_詳細ID ='" & Me.請求書_詳細ID & "'"
↓
.FindFirst "宿泊日=#" & D & "# AND 請求書_詳細ID =" & Me.請求書_詳細ID
です。
数値型の場合はシングルクォートで囲みません。
文字列型の場合には必要になります。
かな?
ご返信ありがとうございます。
またわかりやすい解説をありがとうございます。
ただ、修正しましたが、やはり同じ個所にエラーが出てしまいます。
どうしたらよいでしょうか?
.FindFirst "宿泊日=#" & D & "# AND 請求書_詳細ID =" & Me.請求書_詳細ID
の一番末尾の「.請求書_詳細ID」がエラーとなります。
ご指南いただけましたら幸いでございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) docmd.gotorecordを起動するには 5 2022/06/17 15:20
- Access(アクセス) DoCmd.SearchForRecord が動かない時の解決方法 3 2022/07/22 15:31
- Visual Basic(VBA) VBA 請求書自動作成 3 2022/04/24 01:58
- Access(アクセス) チェックボックスにチェックが入った後の挙動 1 2022/08/21 12:39
- Access(アクセス) Accessのテキストボックスの入力文字制限 1 2023/01/18 20:43
- Visual Basic(VBA) Accessフォームで全レコードを指定のExcelのセルへ転送し印刷する方法について 2 2022/09/08 18:23
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
このQ&Aを見た人はこんなQ&Aも見ています
-
【お題】大変な警告
【大喜利】「今このパソコンは大変危険な状態です」という警告メッセージを無視してパソコンを開いたら、こんなことが起こった
-
何回やってもうまくいかないことは?
みなさんには、何回やってもうまくいかないことはありますか?
-
コンビニでおにぎりを買うときのスタメンはどの具?
コンビニでおにぎりを買うとき、何の具材を選ぶことが多いですか?
-
テレビやラジオに出たことがある人、いますか?
テレビやラジオに取材されたり、ゲスト出演したことある方いますか?
-
14歳の自分に衝撃の事実を告げてください
タイムマシンで14歳の自分のところに現れた未来のあなた。 衝撃的な事実を告げて自分に驚かせるとしたら何を告げますか?
-
access2021 VBA メソッドまたはデータメンバーが見つかりません エラー発生
Access(アクセス)
-
Accessで別テーブルの値をフォームに表示したい
その他(データベース)
-
Access2010 「演算子がありません」エラー
その他(データベース)
-
-
4
実行時エラー 3265「要求された名前、または序数
Visual Basic(VBA)
-
5
コンパイルすると「メソッドまたはデータメンバが見つかりません」
Visual Basic(VBA)
-
6
エラー「メソッドまたはデータメンバが見つかりません」
Access(アクセス)
-
7
アクセスVBAのMe!と[ ]
Access(アクセス)
-
8
Access2003 メソッドまたはデータメンバが見つかりません
Visual Basic(VBA)
-
9
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
10
Returnに対するGoSubがありません
Access(アクセス)
-
11
コンパイルエラーが出ます。助けて下さい。
その他(データベース)
-
12
Access サブフォームでの選択行の取得
その他(データベース)
-
13
access別のテーブルを参照してテキストボックスに値を表示、編集したい
Access(アクセス)
-
14
実行時エラー3131 FROM 句の構文エラーです について
Access(アクセス)
-
15
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
16
エラー(型が一致しません。)の対処方法
Visual Basic(VBA)
-
17
ACCESS VBAの実行時エラーなんですが
PowerPoint(パワーポイント)
-
18
Accessのサブフォームから値を参照する方法について
その他(データベース)
-
19
Accessのフォーム上にレコード数とレコード番号の表示
その他(データベース)
-
20
ADO VBA 実行時エラー3021
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESSのフォームからデータの...
-
Access 別フォームへの再クエ...
-
Accessのフォーム上にレコード...
-
アクセスのフォームのビューが...
-
accessの自動更新処理をできな...
-
選択したチェックボックスのみ...
-
Accessのフォームで作業領域を...
-
アクセスでテーブルの変更内容...
-
Accessのフォーム画面について
-
Access:サブフォームにクエリ...
-
MS-Access レコードセレクタの...
-
Access フォーム上でコンボボッ...
-
アクセス 0以外をカウントす...
-
アクセスでの項目追加について...
-
テキストボックス(アクセス)内...
-
ACCESSで入力フォームをHTMLフ...
-
アクセス非連結フォームのテキ...
-
Accessで現金出納簿を作りたい...
-
ACCESSで、フォームのレコード...
-
アクセスのフォームで連結コン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESSのフォームからデータの...
-
アクセスのフォームのビューが...
-
Accessのフォーム上にレコード...
-
選択したチェックボックスのみ...
-
Access 別フォームへの再クエ...
-
ACCESSで入力フォームをHTMLフ...
-
accessの自動更新処理をできな...
-
Access2002 フォームを閉じるた...
-
アクセスでの項目追加について...
-
アクセスでテーブルの変更内容...
-
ADOでRecordsetオブジェクトを...
-
Accessフォームのテキストボッ...
-
Accessのフォームで作業領域を...
-
アクセス 0以外をカウントす...
-
他フォームのチェックボックス...
-
access レコードソースを選択...
-
Accessのフォームに表示...
-
入力途中の入力した値をすべて...
-
Accessのフォーム画面について
-
ACCESSでのテキストボックスの...
おすすめ情報