2017-02-13 3 views
0

私は、ソフトウェアとライセンスの2つのものから形成されたアクセスデータベースを作成しています。ライセンスはIDでソフトウェアに添付されます。以前のフォーム値に基づいて2016セットフォームフィールド

私はソフトウェアのために作成されたフォームを持っており、クリックするとソフトウェアIDをあらかじめ入力して残りの情報を記入できる新しい「ライセンスの追加」フォームが開きますに。 私は同様のOffice 2016テンプレートからマクロを使用していますが、この情報を新しいライセンスフォームに入れようとすると、引き続き落ちます。

私は以下のマクロのスクリーンショットを添付しました - 私はこれを今までに何度も繰り返してきましたが、私が得るエラーは30024で、これはソフトウェアIDを入力するフィールドを見つけることができないことを示しています新しくオープンしたフォーム。 "Control Name"も "SoftwareID"に設定していますが、これは他の場所でも提案されていますが、これも機能しません。

提案がありますか?

Screenshot of Macro in question

+1

をMacro1_Exit Visual Basicに変換します。診断がはるかに簡単です。 –

答えて

0

私は:)働いている代わりに、VBAマクロを使用するので、私はそれが埋め込まれたマクロを使用して動作させることができませんでした。これを行うには(あなたが前にそれを行っていないと仮定した場合):

  • は、デザインビュー
  • であなたの「ソフトウェア」フォームを開き、プロパティシート(リボン - >デザインタブ)を表示し、ボタンに
  • クリックを
  • 右「ビルダーを選択してください」POPUからあなたのボタンをクリックして、「イベントの構築」をクリック
  • 「クリック時」イベントを削除し、プロパティシートに
  • を「イベント」タブをクリックしますPボックス、あなたが他のマクロを持っていないと仮定すると、「コードビルダ」
  • をクリックして、あなたのコードだけで唯一の違いは、あなたのボタンの名前であることと私のようになるはずです

(私はCommand163です) ps私はちょうどいくつかの改行を追加したので、コードタグを正しく表示することができませんでした。不適切なインデントのお詫び

オプション比較データベース

ます。Private Sub Command163_Click()

DoCmd.RunCommand acCmdSaveRecord

openFreshAddLicenseForm ID(Me.ID)

End Subの

公開機能openFreshAddLicenseForm( As Integer)

エラー後藤Macro1_Err

DoCmd.OpenForm

DoCmd.GoToRecord、 ""、acNewRec

フォームの "ライセンスの追加" で

![ライセンスの追加]!SoftwareID = ID

Macro1_Exit:

終了関数

Macro1_Err:

MsgBoxにエラー$

再開は、私は非常にあなたのコードを変換することをお勧め

エンド機能

関連する問題