Я пытаюсь установить командные кнопки для ввода данных в таблицу.Если запись уже существует, я хочу, чтобы кнопка обновила ее, а если это не так, кнопка должна создать ее.Вот пример того, как выглядит таблица
ID scenarioID reductionID Impact Variable Variable Impact
1 1 1 Safety 4
2 1 1 Environmental 2
3 1 1 Financial 1
Для точного определения местоположения записей необходимо найти конкретную переменную воздействия, связанную с scriptID.Я пытаюсь использовать оператор выбора, но DoCmd.RunSQL
не работает для операторов выбора, и я не уверен, как еще это сделать.
Вот код.Я оставил DoCmd.SQL
перед оператором select из-за отсутствия чего-либо еще, чтобы разместить там сейчас.
Private Sub Var1R1_Click() 'Stores appropriate values in tImpact upon click
'Declaring database and setting recordset
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("tImpact")
'Declaring Variable as Scenario Choice combobox value
Dim Sc As Integer
Sc = Schoice.Value
'Stores impact variable
Dim impvar1 As String
'Desired impact variable for column 1
impvar1 = DLookup("impactVariable", "tImpactVars", "ID = 1")
DoCmd.RunSQL "SELECT * FROM tImpact WHERE [Impact Variable] = " & impvar1 & " AND scenarioID = " & Sc
If rs.EOF Then
DoCmd.RunSQL "INSERT INTO tImpact(scenarioID, [Impact Variable], [Variable Impact])" & "VALUES (" & Sc & ", " & impvar1 & ", 1)"
MsgBox "Record Added", vbOKOnly
Else
db.Execute "UPDATE tImpact SET [Variable Impact] = 1 WHERE [Impact Variable] = " & impvar1 & " AND scenarioID = " & Sc
MsgBox "Record Updated", vbOKOnly
End If
End Sub
Если кто-нибудь может сказать мне, как заставить работать этот оператор SELECT
или другой способ сделать это, это было бы здорово.
Любая помощь очень ценится!