1

送信ボタンがクリックされたときに更新したいフォームがあります。できれば、デフォルト値のあるものは復元され、ないものは空白になります。

送信ボタンにはOnClickマクロが添付されており、すべてのフィールドが入力されていることを確認します。入力されている場合は、テーブルに新しい行を挿入するアクションクエリが実行されます。

したがって、このアクションクエリの後で、更新を実行する必要があります。私は調査を試みましたが、VBAコードMe.RequeryまたはMe.Refreshの使用を提案する提案に出くわしました。これをマクロに組み込む方法については、100%ではありません。RunCodeコマンドは、コードを挿入した関数を認識しません。左上の[マクロをVBAに変換]オプションは灰色で表示されます。

私はAccessを初めて使用しますが、コードとマクロの通信がどこにあるのかわからないので、誰かが私のために詳しく説明してくれれば幸いです。

4

2 に答える 2

1

VBARequeryコマンドは、コード内またはマクロ内の両方から使用できます。マクロデザイナを使用しているようですので、のRequery代わりにマクロアクションを使用できますVBA

新しいデータを挿入した後、これをマクロに追加するだけです。

ここに画像の説明を入力してください

このマクロアクションを使用すると、再クエリするコントロールを指定できます。パラメータを空白のままにして、アクティブオブジェクトのソースを再クエリできます。詳細については、こちらをご覧ください

編集

あなたのコメントに応えて、マクロアクションを試してみるべきだと思いますSetProperty(詳細はこちら)。

ここに画像の説明を入力してください

このマクロをボタンクリックイベントに添付すると、txtInputValueというTextBoxの値がクリアされます。テキストボックスから値を完全に削除するため、[値]フィールドは空白のままにします。

于 2012-06-27T21:40:14.637 に答える
1

私のソリューションをVBAの簡単な紹介と考えてください。あなたがその言語を学びたいと思っているなら、あなたはあなたができないことはほとんどないことに気付くでしょう。

送信ボタンのプロパティ内に、[イベント]タブがあります。このタブでは、OnClickを[EventProcedure]に設定する必要があります。そのすぐ右側にある3つのドットボタンをクリックすると、VBAエディターが起動します。

PrivateSub行とEndSub行の間に必要なのは、次のコード行だけです。

DoCmd.RunMacro ("Mac_1")
Me.TextBox1.Value = "Null"
Me.CombBox1.Value = "Null"
Me.Refresh

MsgBox "Your Save Was Successful.", vbOKOnly, "Saved"

「Mac_1」は、実行するマクロの名前です。ME.Refreshは、mac_1が終了するとすぐに実行され、ページを更新します。ダブルティック('')ではなく、適切な引用符( ")で囲むようにしてください。

于 2012-06-27T22:40:17.200 に答える