そもそもmdbやaccdb自体にセキュリティとかあるのか知らないけど 0383名無しさん@そうだ選挙にいこう2019/01/22(火) 12:28:34.60>>382 ファイルなんだからふぁいるの権限設定じゃだめなの? 0384名無しさん@そうだ選挙にいこう2019/01/22(火) 15:35:16.91 Access2013 vbaで作業しています。 フォームに、 ・A,B,C,...といった入力項目 ・cmd1, cmd2, cmd3,...といったボタン があります。 cmd1, cmd2, cmd3,...が押された時に、A,B,C,...に値が入力されているかチェックするために、 (Aは4桁の数値、Bはまた別の条件...) Private Sub cmd1_Click() If IsNull(Me.A) = True Or Len(Me.A) <> 4 Then MsgBox ("Aを入力してください") Me.A.SetFocus Me.A.Dropdown Exit Sub End If 'Bについてもチェック End Sub のようにしていましたが、cmd1, cmd2, ...でコードの重複を避けるためにどのように書くのが良いでしょうか? チェックする組み合わせはAとBだったりAとCだったりします。 03853842019/01/22(火) 15:42:30.26 とりあえず、いまは、 Private Function check_A() As Boolean check_A = True If IsNull(Me.A) = True Or Len(Me.A) <> 4 Then MsgBox ("Aを入力してください") Me.A.SetFocus Me.A.Dropdown check_A = False End If End Function
Private Sub cmd1_Click() If Not check_A Then Exit Sub End If 'Bも同様にチェック End Sub のように関数の戻り値を使って対処しています。 0386名無しさん@そうだ選挙にいこう2019/01/22(火) 16:11:52.62 その3つ(以上)のボタンの仕事は、入力内容をチェックしてエラーだったらMsgBoxを出す、それだけなんですか? それぞれのボタンで、チェックする入力項目(TextBoxなど)が異なると? 03873842019/01/22(火) 16:38:03.72>>386 例として簡略化しているだけで、 cmd1: A,Bの値を使った処理1 cmd2: Bの値を使った処理2 cmd3: AとCの値を使った処理3 のようにメインの処理はそれぞれ別にあります。値チェック部はAかBかCか...以外は共通しており、 値チェックが通らなかった場合、メインの処理に入る前にexitする点も共通です。 理想としては、 Private Sub cmd1_Click() check_A check_B AとBを使った処理 End Sub だけで、ダメな値の場合にcmd1_Clickをexitしてくれればいいんですけど。 0388名無しさん@そうだ選挙にいこう2019/01/22(火) 19:04:27.42 cmd1--3どれ押しても関連チェックさせるんだろ? 0389名無しさん@そうだ選挙にいこう2019/01/22(火) 21:05:43.92>>381 そっかー大変だね がんばってね 0390名無しさん@そうだ選挙にいこう2019/01/23(水) 00:10:42.84>>387 そこまでできてるならあと一息なのでは? 私だったら、各不備はcheck functionの中にmsgbox仕込んで あとはclick procedureのほうで checkA+checkB<>-2 ならやめる、と書くけど。 booleanといってもしょせん、true値-1、false値0の 数値なので。 0391名無しさん@そうだ選挙にいこう2019/01/24(木) 21:28:47.77>>383 ログイン機能つけて、ユーザー毎に項目オンオフとかは? アプリの中の話 0392名無しさん@そうだ選挙にいこう2019/02/06(水) 18:33:34.46 フォーム上に配置した複数選択コンボボックスにおいて、ドロップダウンリスト内の並びは 「値集合ソース」にてSQL記述で任意のキーに応じた並びにできているのですが、 複数選択して閉じてリストが消えた後のコンボボックス内の選択データが テーブルの並び(データ作成順)になってしまいます。 これも任意の並びにするにはどうすればいいでしょうか? 0393名無しさん@そうだ選挙にいこう2019/02/06(水) 20:11:43.37>>392 どうすれば良いかはわかりません コンボボックスで複数選択可能は知りませんでした 明日やってみてヒントにでもなるようなことがわかればレスします 0394名無しさん@そうだ選挙にいこう2019/02/07(木) 22:32:19.51 Accessからの乗り換えでオススメはありますか? 0395名無しさん@そうだ選挙にいこう2019/02/07(木) 22:39:37.91>>394 いわゆるアップサイジングじゃね 0396名無しさん@そうだ選挙にいこう2019/02/07(木) 22:42:08.00>>395 まだアップサイジングウィザードとかいうのあるんですかね?