2016-06-22 6 views
0

私は自分のデータベーステーブルの1つにデータ入力フォームを作成しています。いずれかのセクションでは、テキストフィールドに「説明1」というキャプションのみが表示されています。説明1テキストボックスがユーザーによって記入されている場合は、説明2テキストボックスを表示します。ユーザーが説明2のテキストボックスを入力すると、説明3のテキストボックスが表示され、最大10個の説明テキストボックスが表示されます。マクロを作成しているときに情報を記入するときのように余分なテキストボックスを隠す方法はありますか?たとえば、「作成」 - >「マクロ」をクリックすると、アクションを選択するためのドロップダウン・ボックスのみが表示されます。フォームを開くを選択してEnterキーを押すと、キャプション付きの6つのテキストボックスが表示されます。MS Access 2013 VBAの展開/格納式フォームの作成方法は?

フォームにそのような機能を追加する方法はありますか?また、マクロビルダーでは、動的にページを並べ替えることができます。これはフォームでも行うことができますか?

答えて

1

は、次の手順に従います。

  1. マーク偽

    enter image description here

  2. としてvisibleプロパティは、各テキストボックスに対してOnChangeイベントを追加します。

    enter image description here

  3. 次の制御が示された又は非表示されるかどうかを決定するためにVBAコードを書きます。 Me!FormControlItem.Textは、コントロールがフォーカスされている場合にのみアクセス可能です。

各コントロールには3つの機能があります。

Private Sub text1_Change() 
    If Not Trim(Me!text1.Text) = "" Then 
     Me!Text2.Visible = True 
     Me!Label2.Visible = True 
    ElseIf Not Trim(Me!Text2) = "" Then 
     Me!Text2.Visible = True 
     Me!Label2.Visible = True 
    Else 
     Me!Text2.Visible = False 
     Me!Label2.Visible = False 
    End If 
End Sub 

Private Sub Text2_Change() 
    If Not Trim(Me!Text2.Text) = "" Then 
     Me!Text3.Visible = True 
     Me!Label3.Visible = True 
    ElseIf Not Trim(Me!Text3) = "" Then 
     Me!Text3.Visible = True 
     Me!Label3.Visible = True 
    Else 
     Me!Text3.Visible = False 
     Me!Label3.Visible = False 
    End If 
End Sub 

Private Sub Text3_Change() 
    If Not Trim(Me!Text3.Text) = "" Then 
     Me!Text4.Visible = True 
     Me!Label4.Visible = True 
    ElseIf Not Trim(Me!Text4) = "" Then 
     Me!Text4.Visible = True 
     Me!Label4.Visible = True 
    Else 
     Me!Text4.Visible = False 
     Me!Label4.Visible = False 
    End If 
End Sub 
  1. お楽しみください!
+0

一部の単語を入力した後、説明1のテキストボックスにEnterキーを押すと、説明2のテキストボックスが表示されます。しかし、説明1のテキストボックスでEnterキーを押すと、書き込まれた単語はすべて説明2のテキストボックスにコピーされます – Michael

関連する問題