Сообщение об ошибке при попытке открыть форму в Access - PullRequest
0 голосов
/ 12 мая 2011

Когда я пытаюсь открыть форму в Access, я получаю сообщение об ошибке, в котором говорится, что вы ввели имя элемента управления «col1», которое уже используется.Код, где происходит эта ошибка, находится в Forms (frm) (i + 16) .Name = "col" & Format (i, "0") ниже.Что означает эта ошибка?И как я могу это исправить?

Sub SetGridColumns(frm As String, FirstDay As Variant, LastDay As Variant)
Dim i As Integer
' Sets column headings for all shown dates in crosstab fsub
DoCmd.OpenForm frm, acDesign, , , , acHidden
For i = 0 To 7
    ' Avoid control name conflicts by renaming them to col1 ...
    ' The dirty constant 16 is the item number of the last non-column item.
    **Forms(frm)(i + 16).Name = "col" & Format(i, "0")**
Next i
For i = 0 To 7
    ' Now give the columns the right control name and control source
    Forms(frm)(i + 16).ControlSource = Format(FirstDay + i, "mm-dd")
    Forms(frm)(i + 16).Name = Format(FirstDay + i, "mm-dd")
Next i
DoCmd.Close acForm, frm, acSaveYes
End Sub

Ответы [ 2 ]

0 голосов
/ 12 мая 2011

Если вы столкнулись с ошибками, возможно, существует какой-то длительный элемент управления с именем col1 и т. Д., Хотя по логике они должны иметь имя FirstDay + i + "mm-dd". Итак, как предлагает Джоэл, вы можете вручную проверить и исправить эти элементы управления или поставить чек перед переименованием:

If Forms(frm)(i + 16).Name <> "col" & Format(i, "0") Then
   Forms(frm)(i + 16).Name = "col" & Format(i, "0")
End If
0 голосов
/ 12 мая 2011

Это означает, что это говорит. Чтобы найти элемент управления, который уже называется «col1», перед первым циклом выведите для отладки все имена элементов управления вашей формы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...