Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 向表中添加行导致以前工作的代码出错_Vba_Ms Access - Fatal编程技术网

Vba 向表中添加行导致以前工作的代码出错

Vba 向表中添加行导致以前工作的代码出错,vba,ms-access,Vba,Ms Access,我有一些代码,提示用户为RAMsize输入一个值,并将该值存储在表中。另一个字段“可能性”不能大于RAMsize。我让它工作,所以如果RAMsize大于似然,它会将似然设置为0以避免冲突,这是正常运行的,没有问题。然后,我在似然表中添加了更多行,验证规则错误再次出现。我已经很久没有在VBA中工作了,所以我不知道如何使代码应用于表的所有行 有关守则: Option Compare Database Private Sub Command0_Click() Dim RAMsize As Vari

我有一些代码,提示用户为RAMsize输入一个值,并将该值存储在表中。另一个字段“可能性”不能大于RAMsize。我让它工作,所以如果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

如果我理解您试图正确执行的操作,我们将非常感谢您提供的任何帮助,如果您将其放在RAMsize=CIntRAMsize行之后,则可以使用此命令

然后把所有的东西都拿走。这将影响表中的所有记录,其中似然>提示用户输入的值

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