Ошибка 2448 не может присвоить значение полю / элементу управления в Access VBA - PullRequest
0 голосов
/ 07 июля 2019

Я пытаюсь просто получить данные из одной формы и заполнить поле в другой форме, чтобы при создании новой записи в базе данных сохранялась определенная информация.

Я хотел бы иметь что-то вроде Me.AlbumID = albumNumber, где albumNumber - это переменная, в которой хранится значение из другой формы, но я получаю сообщение об ошибке 2448 о том, что не могу присвоить значение этому полю.

Я пробовал множество различных синтаксических изменений и пытался стереть привязку в блоке управления, который является просто текстовым полем, но не могу понять, в чем проблема. Я думаю, что это, вероятно, довольно просто, но пока я застрял.

В настоящее время у меня есть (написано в VBA):

Private Sub AddTracksButton_Click()
    Dim albumNumber As Integer
    albumNumber = Me.AlbumID
    DoCmd.OpenForm "TracksEditor", acNormal, "", "", , acNormal
    DoCmd.GoToRecord , "", acNewRec
    Me.AlbumID = albumNumber
End Sub

Значение назначается и переносится в новую форму просто отлично, например, 1 или 2 и т. Д., Но проблема в том, что затем применение строки, которая выглядит как Me.AlbumID = albumNumber, приводит к ошибке 2448. Элемент управления привязан к полю, потому что в идеале я хотел бы редактировать поле напрямую.

Совет

1 Ответ

0 голосов
/ 07 июля 2019

Это на самом деле сработало, я написал на SQL для прямого доступа к базе данных, а не пытался пройти через from. Оказывается, вы можете сделать так, чтобы это выглядело, и это будет работать:

Private Sub AddTracksButton_Click()
    Dim albumNumber As Integer
    albumNumber = Me.AlbumID
    DoCmd.OpenForm "TracksEditor", acNormal, "", "", , acNormal
    Dim SQL As String
    SQL = "INSERT INTO Tracks (AlbumID) VALUES (" & albumNumber & ")"
    DoCmd.RunSQL SQL
End Sub

Надеюсь, это поможет кому-то еще.

...