VBA ans Access

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
UliyaP
Новичок
Новичок
 
Сообщения: 34
Зарегистрирован: 09.10.2006 (Пн) 21:09

VBA ans Access

Сообщение UliyaP » 26.11.2006 (Вс) 17:48

У меня меня таблица.
В таблице заполненый столбец.
Мне надо сравнить часть строки столбца и записать в другой столбец соответстующее значение.
Пример PhotoSmart R607 BMW WilliamsF1 Team
Надо определить что строка содержит PhotoSmart и записать в другой слолбец "Принтер".
Пожалуйста, подскажите как это сделать?Я идиот! Убейте меня, кто-нибудь!??
Так не работает. Почему?
Код: Выделить всё


Function группы()
  Dim MyDB As Database, MyRecords As Recordset, MyRecords2 As Recordset
  Dim Numzap As Integer
  Set MyDB = DBEngine.Workspaces(0).Databases(0)
  Set MyRecords = MyDB.OpenRecordset("Юля", DB_OPEN_TABLE)

    MyRecords.MoveFirst
    Numzap = 0
    Do Until MyRecords.EOF
     
      If MyRecords![ITEMNAME] = "*APhotoSmart*" Then
       MyRecords.Edit
        MyRecords![ITEMGROUPID] = "принтер"
        MyRecords.Update
     End If
     
      MyRecords.MoveNext
     Numzap = Numzap + 1
    Loop
    MyRecords.MoveFirst

End Function

HandKot
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 283
Зарегистрирован: 28.06.2006 (Ср) 13:34
Откуда: Sergiev Posad

Сообщение HandKot » 27.11.2006 (Пн) 10:04

а запросом не легче будет?

Код: Выделить всё
strSQL = "UPDATE [Юля] SET [ITEMGROUPID] = 'принтер' WHERE [ITEMNAME] LIKE '*APhotoSmart*'"
MyDB.Execute(strSQL)


если использовать ваш кодд, то укажите ошибку
I Have Nine Lives You Have One Only
THINK!

UliyaP
Новичок
Новичок
 
Сообщения: 34
Зарегистрирован: 09.10.2006 (Пн) 21:09

Сообщение UliyaP » 27.11.2006 (Пн) 10:47

А вы не могли бы полностью написать код. :)

HandKot
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 283
Зарегистрирован: 28.06.2006 (Ср) 13:34
Откуда: Sergiev Posad

Сообщение HandKot » 27.11.2006 (Пн) 11:20

это же Ваша ф-ция
Код: Выделить всё
Function группы()
  Dim MyDB As Database
  Dim strSQl As String

  Set MyDB = DBEngine.Workspaces(0).Databases(0)

  strSQL = "UPDATE [Юля] SET [ITEMGROUPID] = 'принтер' WHERE [ITEMNAME] LIKE '*APhotoSmart*'"
  MyDB.Execute(strSQL)

End Function
I Have Nine Lives You Have One Only
THINK!

UliyaP
Новичок
Новичок
 
Сообщения: 34
Зарегистрирован: 09.10.2006 (Пн) 21:09

Сообщение UliyaP » 27.11.2006 (Пн) 11:37

если мне надо заменить на "принтер" когда есль в ячейки "APhotoSmart " или "картридж". Подскажите как сделать?

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 27.11.2006 (Пн) 12:43

Ну очевидно, добавить соответствующее условие по аналогии с уже существующими?


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 1

    TopList