@favbet

Как исправить несовпадение типов в коде?

Sub zamena()
Dim bd As Database, tab1 As Recordset
Set bd = DBEngine.Workspaces(0).Databases(0)
Set tab1 = bd.OpenRecordset("Final_target")
Do Until tab1.EOF
If tab1.Fields("PackName").Value = "R" And tab1.Fields("PackId").Value = 13 Then
tab1.Edit
tab1.Fields("PackName_new").Value = "B" And tab1.Fields("PackId_new").Value = 31
tab1.Update
End If

НА строчке
tab1.Fields("PackName_new").Value = "B" And tab1.Fields("PackId_new").Value = 31
пишет: Type mismatch.
Не понять почему, ведь поле PackId_new - числовое и присваиваю ему тоже число.
Помогите...
  • Вопрос задан
  • 159 просмотров
Решения вопроса 1
@localghost
Может быть, не надо два присваивания через And писать?

Upd.: что касается именно Type mismatch - то, наверное, потому, что переменной 'tab1.Fields("PackName_new").Value' вы пытаетесь присвоить значение '"B" And tab1.Fields("PackId_new").Value = 31'.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@favbet Автор вопроса
убрал AND - ошибки нет, но в таблице ничего не меняется.
tab1.Fields("PackName_new").Value' вы пытаетесь присвоить значение '"B" - а как нужно?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
30 апр. 2024, в 15:24
3000 руб./за проект
30 апр. 2024, в 15:11
500 руб./в час
30 апр. 2024, в 15:11
5000 руб./за проект