2017-03-16 108 views
0

我有我的主窗體,我創建了一個按鈕,當我單擊此按鈕時,我希望它打開另一個窗體並創建一個帶有名稱的多個按鈕我從桌子上拉出來。 我已經啓動了一些按鈕的VBA,但我堅持讓它來創建按鈕。在窗體上創建多個按鈕的Ms-Access 2016按鈕

任何幫助將不勝感激,我希望社區中的某個人能夠指引我朝着正確的方向前進,因爲我是這個領域的新手。 請參閱下面的細節。

主窗體名稱HomePage_frm:此表單上按鈕的VBA如下所示。

Private Sub Form_Load() 
Dim SQL As String 
SQL = "Select * " & _ 
"FROM Users_tbl " & _ 
"WHERE Authority = 'Supervisor'" 

Dim rs As DAO.Recordset 
Set rs = CurrentDb.OpenRecordset(SQL) 

Dim strText As String 

Do While Not rs.EOF 

strText = rs.Fields("Employee_Name") 

'Make Buttons here 

rs.MoveNext 

Loop 

End Sub 

我到處都找過,並發現了一些想法,但似乎沒有任何工作。

+0

評論https://msdn.microsoft。 COM/EN-US /圖書館/辦公室/ aa221167(v = office.11​​)的.aspx。爲什麼你想要多個動態顯示員工姓名的按鈕?爲什麼生活困難?爲什麼不只是一個組合框或列表框? – June7

回答

0

1-在Access VBA中您不能在不處於設計模式的表單上動態創建控件。你可以在設計模式下完成,然後加載表單。

2 - 它可以在更簡單的方式設計完成的默認視圖形式「連續窗體」並將其鏈接到名字的表(或查詢的表格),並設置詳情按鈕標題「油漆「事件。

附圖「Table.jpg」表。 Table

附加圖片「Form.jpg」帶按鈕的表格「command0」Form

形式運行的變化和d按鈕點擊 enter image description here

以下是表單代碼

Option Compare Database 
Private Sub Command0_Click() 
    If Not IsNull(Me!CliName) Then 
     MsgBox Me!CliName 
    End If 
End Sub 

Private Sub Detail_Paint() 
    If Not IsNull(Me!CliName) Then 
     Command0.Caption = Me!CliName 
    Else 
     Command0.Caption = "" 
    End If 
End Sub 

我希望這是明確的和有益的