accessのフォームのデータを複製する方法を教えてください。
フォームに商品登録する画面があります。
普通なら新規データを登録するのですが、たまに管理番号だけが違って商品や内容は全部同じというものがあります。
その時にフォーム上で複製したいデータのところで「コピー」というボタンを押すと新しい管理番号(連番)だけ切り替わりあとは同じデータというものにしたいです。
私ではお手上げ状態ですのでどなたかわかる方宜しくお願いします。
あと、このフォームには陳列外商品も表示できてフォーム上のチェックが外れていれば陳列されている商品、チェックがついていれば陳列外商品も含めた表示になります。
チェックによりレコードソースを書き換えているのですが、そのせいなのか調べて作ったコードも機能してくれません・・・
またメインフォームにはサブフォームを含んでおりそのデータも複製したいです。
入力したコードは下記です。
Private
1 On Error GoTo Err_コマンド1_Click 2DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70 3DoCmd.DoMenuItem acFormBar, acEditMenu, 2, , acMenuVer70 4DoCmd.DoMenuItem acFormBar, acEditMenu, 5, , acMenuVer70 'Paste Append 5 6 Exit_コマンド1_Click: 7Exit Sub 8 9 Err_コマンド1_Click: 10MsgBox Err.Description 11Resume Exit_コマンド1_Click 12 13 End Sub``` 14 15これでボタンを押すと、「入力した値は、フィールドまたはコントロールに対して定義されている入力規則に従っていません」と出てしまいます・・・ 16デバッグを押すと 17 18```Private Sub チェック64_AfterUpdate() 19 20If Me!チェック64 = True Then 21 Me.RecordSource = "テーブル1" 22Else 23 Me.RecordSource = "クエリ2" 24 End If 25 26End Sub``` 27 28上記コードの Me.RecordSource = "クエリ2"ここが黄色くなっています。 29 30フォームに戻ると一応新規画面に入力されてますが、登録はできません。 31 32【9/18追記】 33フォームの構成などが不明ということでしたので今どんな構成になっているか簡単に書いていきます。 34まずメインフォームのレコードソース 35[テーブル1] 36管理番号:数値型(フィールドサイズ:整数型、書式:数値) 37商品名:短いテキスト 38商品価格:数値型(フィールドサイズ:整数型、書式:数値) 39陳列の有無:Yes/No型 40 41チェックで切り替えたときのレコードソース 42[クエリ2] 43管理番号:数値型(フィールドサイズ:整数型、書式:数値) 44商品名:短いテキスト 45商品価格:数値型(フィールドサイズ:整数型、書式:数値) 46陳列の有無:Yes/No型 47クエリ2はテーブル1からつくり陳列の有無の抽出条件でFalseで抽出しました。 48 49その他サブフォーム 50全部で6つのサブフォームがあり、タブコントロールで切り替えられるようにしています。 51 52まだまだ不足分がありましたらご教授願います。 53 54。
とりあえず複数の質問が混在しているので、整理して、一つの問題点に対して一つの質問というように複数の質問に分けた方かいいと思います。で一つずつ解決していく方が混乱が少ないでしょう。
1.コマンド1_Click で「入力した値は、フィールドまたはコントロールに対して定義されている入力規則に従っていません」エラーがでる。
2.Me.RecordSource = "クエリ2"ここが黄色くなっています。
3.またメインフォームにはサブフォームを含んでおりそのデータも複製したいです。
すくなくともこの3点ありますね。
まずは、2.を解決、次に 1.、3. という順番かいいかと思います。
1と2は一つの問題と思ってた・・・
1. は コマンド1_Click でのエラー(エラーラベルからの推測ですが)
2. は チェック64_AfterUpdat でのエラー
ですので、一つの問題ではないかと。ソースの変更が「入力規則に従っていません」に関連している可能性はありますか、まずは、2.を先に解決しないと、その可能性の判断もできないですね。
回答ありがとうございます。
また質問のアドバイスも参考にさせていただきます。
2番のクエリ2が黄色く光るのはなくなり次は、「コマンドまたはアクション追加、貼り付けは無効です」と表示されるようになりました・・・
メインフォームとサブフォームの内、コピーしようとしているのはどちらのデータのつもりですか?
どちらのデータもコピーしたいと思っています。
でもそうするとそれぞれのテーブルにデータを格納することになるので不可能なのかと思ったりもします・・・
こういうことは可能なのでしょうか。
質問にあるコードがどちらの事なのかです。
すみません、読み違えました
このコードだとメインフォームになるかと思います。
しかしコピー自体出来ていないのでこのコードではだめなのだと思います。
他の方も書かれていますが問題点の整理という事で
フォームにはじめからRecordSource = "クエリ2"を指定してフォームを開いて見てください。
"クエリ2"でエラーは発生しないか確認してください
後他のサブフォームがあるならその内容も記載したほうが良いですよ
ただ内容から推察すると回答が結果「開発依頼」になる可能性があるんですが...
とりあえずあとは表示の切り替えだけに絞った方が良いかと思います。
(コピーの仕方は以前に回答していますので)
そうするならVBA記載できますがどうしますか?
一度VBAを教えて頂いてもよろしいでしょうか。
もしこれでもうまくいかないようであればだれかに頼るのではなく自分で解決するか、あきらめるかにします・・・
申し訳ないです。
判りました
それでは「陳列外商品」チェックボックスがありOn/Offで切り替わる機能
の回答をさせていただきます。
お手数をおかけしますが宜しくお願いします。
回答4件
あなたの回答
tips
プレビュー