1

Тема: VBS: изменить запись в recordset

Граждане, ткните носом, чего делаю не так? Рабочий скрипт большой, поэтому просто набросал модельку для демонстрации проблемы. Не могу изменить данные в recordset. Подскажите плз, что как правильно написать код между If и End If


Const adLongVarChar = 201
Const adVarChar = 200

    Set rs = CreateObject("ADOR.Recordset")
    rs.Fields.Append "SoftName", adVarChar, 255
    rs.Fields.Append "CompNames", adLongVarChar,256
    rs.Open

rs.AddNew
rs("SoftName") = "1"
rs("CompNames") = "comp1;"
rs.Update

rs.AddNew
rs("SoftName") = "2"
rs("CompNames") = "comp2;"
rs.Update

rs.Filter = "SoftName = '1'"

If rs.RecordCount > 0 Then
 rs.Find "SoftName = '1'"
 rs.Edit  ' Здесь не работает :((
 rs("CompNames") = rs("CompNames").Value & "comp3;"
 rs.Update
End If

Суть проблемы:

C:\share\Inventary\UninstallSoft\Services\test.vbs(23, 2) Ошибка выполнения Microsoft VBScript: Объект не поддерживает это свойство или метод: 'rs.Edit'

P.S: не нашел в инете. adLongVarChar вообще не имеет ограничения на длину строки или какое-то ограничение все-таки есть?

2

Re: VBS: изменить запись в recordset

Думаю, метод не работает, потому что его нет.

Methods
AddNew Method
Cancel Method
CancelBatch Method
CancelUpdate Method
Clone Method
Close Method
CompareBookmarks Method
Delete Method (ADO Recordset)
Find Method
GetRows Method
GetString Method
Move Method
MoveFirst, MoveLast, MoveNext, and MovePrevious Methods
NextRecordset Method
Open Method (ADO Recordset)
Requery Method
Resync Method
Save Method
Seek Method
Supports Method
Update Method
UpdateBatch Method

3

Re: VBS: изменить запись в recordset

YMP пишет:

Думаю, метод не работает, потому что его нет.

Спс ) Да.  К концу дня голова уже не варит. Попутал DAO и ADO

If rs.RecordCount > 0 Then
 rs.Find "SoftName = '1'"
 rs("CompNames") = rs("CompNames").Value & "comp3;"
 rs.Update
End If

Так работает.

P.S: И все-таки по поводу adLongVarChar никто не просветит?