Добавление строк в таблицу вызвало ошибку в коде, который работал раньше - PullRequest
0 голосов
/ 29 мая 2018

У меня есть код, который предлагает пользователю ввести значение для «RAMsize» и сохраняет это значение в таблице.Другое поле, «Вероятность», не может быть больше, чем «Размер RAM».Я работал так, что если бы «RAMsize» был больше, чем «Вероятность», он установил бы «Вероятность» в 0, чтобы избежать конфликта, и это работало должным образом без проблем.Затем я добавил дополнительные строки в таблицу правдоподобия, и ошибки правила проверки снова начали появляться.Я давно не работал в VBA, поэтому я не уверен, как заставить код применяться ко всем строкам таблицы.

Код вопроса:

Option Compare Database

Private Sub Command0_Click()

Dim RAMsize As Variant
Dim Lhood As Integer
Dim db As Database
Dim rs As Recordset

Set db = CurrentDb
Set rs = db.OpenRecordset("tLikelihood")


'Promts user to enter desired matrix dimensions
RAMsize = InputBox("Please enter your desired matrix dimensions", "Matrix Dimensions")


'Ends process if user clicks 'cancel' or gives no input
If RAMsize = "" Then
    MsgBox "Dimension selection was canceled", vbOKOnly

    GoTo Exit_DimSelect
End If

'Checks if RAMsize causes conflict with validation rule in tLikelihood
RAMsize = CInt(RAMsize)

Lhood = rs!Likelihood

If RAMsize < Lhood Then

    rs.Edit
    rs!Likelihood = 0
    rs.Update

End If


'Saves the user input for RAMsize in the tRAMSize table for later use
Set rs = db.OpenRecordset("tRAMSize")


rs.Edit
rs!Size = RAMsize
rs.Update

Любая помощь приветствуется

1 Ответ

0 голосов
/ 29 мая 2018

Если я понимаю, что вы пытаетесь сделать правильно, вы можете использовать это, если разместите это сразу после строки RAMsize = CInt(RAMsize)

db.Execute "UPDATE tLikelihood SET Likelihood = 0 WHERE Likelihood > " & RAMsize

, а затем удалите все после этого.Это повлияет на все записи в таблице, где «Вероятность»> значение, которое вы запрашивали у пользователя.

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