Мы пытаемся сократить дублирующийся код в нашей базе данных доступа.У нас есть несколько форм, в которых мы используем следующий вид кода.
strSQL = "Some SQL"
Me!cboClientName.RowSource = strSQL
Me!cboClientName.BoundColumn = 2
Me!cboClientName.ColumnCount = 2
Me!cboClientName.ColumnWidths = "0cm ; 2 cm"
Что я хотел сделать, это создать подпрограмму, передать в нее форму и затем заменить Me на объект.
Итак, теперь у меня есть что-то вроде этого:
Public Sub subName(myForm as Form)
strSQL = "SELECT [tblClients].[ID], [tblClients].[ClientName] FROM [tblClients] ORDER BY [ClientName]"
myForm !cboClientName.RowSource = strSQL
myForm !cboClientName.BoundColumn = 2
myForm !cboClientName.ColumnCount = 2
myForm !cboClientName.ColumnWidths = "0cm ; 2 cm"
cboClientName присутствует в каждой форме, к которой я обращаюсь.Затем я вызываю подпрограмму, используя.
subName(Me)
Однако я получаю сообщение об ошибке:
Type mis match ... 13
Что я делаю неправильно?Есть ли лучший способ сделать это?