2014-10-08 61 views
0

我想使一個窗體中的文本框從另一個窗體的列表框中獲取數據。另一種形式將是一個查詢的彈出式窗體,將在點擊文本框後啓動。所以這是怎麼一回事呢我需要從另一種形式的列表框中選擇的數據填充一個文本框

  1. 形式A打開時點擊
  2. 點擊文本框一個
  3. 文本框A打開其中有一個列表框
  4. 列表框值選擇在
  5. 關閉按鈕表格B B形按下
  6. 現在形式A中的文本框A應該包含我們在 列表框中選擇的數據B形式

我認爲可以通過創建變量(公共變量,如果我沒有弄錯)來完成,但我是一個總新手,不知道要使用什麼代碼。

事情是,我有幾個文本框在相同的形式將運行相同的代碼,並從相同的形式獲取文本框中的值。

+1

@Saif你在哪裏看到html?這是MS Access – 2014-10-08 12:24:59

+0

確切MS-Access – 2014-10-08 13:07:15

+0

哦...對不起,這是形式的東西讓我走錯了路。真的很抱歉@OverMind – Saif 2014-10-09 03:49:54

回答

0

難道這是有點像,

Private Sub textBoxA_OnClick() 
    DoCmd.OpenForm "FormB", OpenArgs:= "textBoxA" 
End Sub 

Private Sub textBoxB_OnClick() 
    DoCmd.OpenForm "FormB", OpenArgs:= "textBoxB" 
End Sub 

然後選擇你想要列表框項目。然後點擊按鈕,你可以做一個小的檢查,如果項目被選中。然後基於此,您可以將該數據放入文本框中。

Private Sub formBButton_OnClick() 
    If Me.FormBList.ListCount = 0 Then 
     MsgBox "You have not made any selection, please select an option.", _ 
       vbInformation 
     Exit Sub  
    End If 

    If Len(Me.OpenArgs & vbNullString) <> 0 Then _ 
     Forms("FormA").Controls(Me.OpenArgs) = Me.FormBList 

    DoCmd.Close acForm, Me.Name 
End Sub 
+0

確切地說,這是可行的,但我的問題是,我有幾個文本框,要填寫相同的方式。可以說txtboxA,B,C,D和E,我希望按鈕來填充觸發它的文本框。使用你的代碼,我將不得不使用除了按鈕代碼以外的其他所有東西來創建多個表單。我不能只有一種形式,這種形式填充觸發它的文本框? – 2014-10-09 01:54:14

+0

在這種情況下,在OpenArgs中使用觸發打開窗體方法的控件名稱。檢查我編輯的代碼! – PaulFrancis 2014-10-09 09:17:08

+0

命令很好。但消息框不顯示。它只是關閉選擇表單。 – 2014-10-10 12:36:28

0

這是我用過的。

我隱藏了所有的文本框並使它們不可見。

我添加了一個添加按鈕。

添加按鈕打開窗體(frmslctattendee) 在形式組合框的值從查詢 然後命令按鈕後面的代碼如下選擇。

Private Sub Command5_Click() 
    If Forms!frmmeetings!txtat8.Visible = True Then 
     Forms!frmmeetings!txtat9.Visible = True 
     If Len(Forms!frmmeetings!txtat9 & vbNullString) = 0 Then 
      Forms!frmmeetings!txtat9.Value = cmbnameselect.Value 
     End If 
    End If 

    If Forms!frmmeetings!txtat7.Visible = True Then 
     Forms!frmmeetings!txtat8.Visible = True 
     If Len(Forms!frmmeetings!txtat8 & vbNullString) = 0 Then 
      Forms!frmmeetings!txtat8.Value = cmbnameselect.Value 
     End If 
    End If 

    If Forms!frmmeetings!txtat6.Visible = True Then 
     Forms!frmmeetings!txtat7.Visible = True 
     If Len(Forms!frmmeetings!txtat7 & vbNullString) = 0 Then 
      Forms!frmmeetings!txtat7.Value = cmbnameselect.Value 
     End If 
    End If 

    If Forms!frmmeetings!txtat5.Visible = True Then 
     Forms!frmmeetings!txtat6.Visible = True 
     If Len(Forms!frmmeetings!txtat6 & vbNullString) = 0 Then 
      Forms!frmmeetings!txtat6.Value = cmbnameselect.Value 
     End If 
    End If 

    If Forms!frmmeetings!txtat4.Visible = True Then 
     Forms!frmmeetings!txtat5.Visible = True 
     If Len(Forms!frmmeetings!txtat5 & vbNullString) = 0 Then 
      Forms!frmmeetings!txtat5.Value = cmbnameselect.Value 
     End If 
    End If 

    If Forms!frmmeetings!txtat3.Visible = True Then 
     Forms!frmmeetings!txtat4.Visible = True 
     If Len(Forms!frmmeetings!txtat4 & vbNullString) = 0 Then 
      Forms!frmmeetings!txtat4.Value = cmbnameselect.Value 
     End If 
    End If 

    If Forms!frmmeetings!txtat2.Visible = True Then 
     Forms!frmmeetings!txtat3.Visible = True 
     If Len(Forms!frmmeetings!txtat3 & vbNullString) = 0 Then 
      Forms!frmmeetings!txtat3.Value = cmbnameselect.Value 
     End If 
    End If 

    If Forms!frmmeetings!txtat1.Visible = True Then 
     Forms!frmmeetings!txtat2.Visible = True 
     If Len(Forms!frmmeetings!txtat2 & vbNullString) = 0 Then 
      Forms!frmmeetings!txtat2.Value = cmbnameselect.Value 
     End If 
    End If 

    If Forms!frmmeetings!txtat1.Visible = False Then 
     Forms!frmmeetings!txtat1.Visible = True 
     If Len(Forms!frmmeetings!txtat1 & vbNullString) = 0 Then 
      Forms!frmmeetings!txtat1.Value = cmbnameselect.Value 
     End If 
    End If 

    DoCmd.Close 
End Sub 

它完成這項工作。 等待您的意見。

+0

我對你的代碼有點遺憾。您正在檢查一個控件的可見性,但爲另一個控件設置值?它似乎是,檢查控制(n-1)的可見性,但設置控制(n)的值。那甚至做這份工作怎麼樣? – PaulFrancis 2014-10-09 09:14:51

+0

它的工作原理是我鎖定了所有的文本框,以便用戶無法與其交互。那麼當按鈕被點擊時,它會檢查最後一個可見的文本框,然後使下一個文本框(這是不可見的)可見,並將選定的信息添加到它。它也會將信息添加到最後一個空文本框中,否則它會將數據放到所有早期的文本框中。 – 2014-10-10 12:06:07

+0

我會說一個簡單的問題很長的混淆方式。看看我的答案中編輯的代碼是否適合你! – PaulFrancis 2014-10-10 12:08:15

相關問題