|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » .NET - [решено] vb.net правка access файла |
|
.NET - [решено] vb.net правка access файла
|
Пользователь Сообщения: 82 |
Профиль | Сайт | Отправить PM | Цитировать Здравствуйте, господа.
Есть файл Card.mdb, содержащий в себе таблицу NumberDisc. В этой таблице, помимо прочих, есть столбцы с названиями Discount и Amount. В ячейках этих столбцов записаны только числа (то есть ни букв, ни спец. знаков там нет). Такова задача: Построчно анализируя информацию в ячейках этих двух, исходя из числа, находящегося в ячейке Amount, менять значение в ячейке Discount по принципу Если Amount больше или равно 1 - Установить Discount = 5, но Если Amount больше или равно 10 - Установить Discount = 10, но Если Amount больше или равно 15 - Установить Discount = 15, и Если Amount больше 20 - Установить Discount = 20 Такие вот дела... |
|
Отправлено: 06:12, 27-04-2015 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать iccup.platoon@vk, для Microsoft SQL можно использовать в запросе на обновление данных разновидность функции CASE — т.н. search CASE function (CASE), для Microsoft Access — функцию Switch, наподобие:
но у меня нет уверенности, что сие сработает в Вашем варианте. |
Отправлено: 16:36, 01-05-2015 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Необычный Сообщения: 4463
|
Профиль | Сайт | Отправить PM | Цитировать iccup.platoon@vk, у меня получилось так:
Мы говорим CREATE - Query Design Выбираем нужную таблицу и поле NumberDisc, Discount Встаем на поле. В ленте DESIGN - выбираем Update Встаем на поле Update To под Discount Финт ушами - Ctrl + F2 - открывается Expression Builder В него пишем IIf([NumberDisc]![Amount]>=1 And [NumberDisc]![Amount]<10;5; IIf([NumberDisc]![Amount]>=10 And [NumberDisc]![Amount]<15;10; IIf([NumberDisc]![Amount]>=15 And [NumberDisc]![Amount]<20;15; IIf([NumberDisc]![Amount]>=20;20;-1 ) ) ) ) Я на всякий случай делал копию таблицы, но она не пригодилась. Важных данных мы не потеряем. Теперь как получить нормальную строчку. Наступили слева в списке на Query. View (на картинке) - SQL View И там мы уже видим более привычную строчку SQL запросов. Вот там можно попробовать способ, предложенный Iska, т.к. CASE он более правильный что ли, при множественном выборе. Expression Builder мне его повторить не позволил. UPDATE NumberDisc SET NumberDisc.[Discount] = IIf([NumberDisc]![Amount]>=1 And [NumberDisc]![Amount]<10,5, IIf([NumberDisc]![Amount]>=10 And [NumberDisc]![Amount]<15,10, IIf([NumberDisc]![Amount]>=15 And [NumberDisc]![Amount]<20,15, IIf([NumberDisc]![Amount]>=20,20,-1) ) ) ); Общая конструкция «Expr» IIf(«expression»; «truepart»; «falsepart») |
------- Отправлено: 18:45, 02-05-2015 | #12 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать lxa85, в самом Access можно использовать «Switch()», о чём я писал выше.
А вот что из предложенного будет работать извне, из-под Visual Studio в том же VB.Net, например, надо смотреть, пробовать. |
Отправлено: 19:22, 02-05-2015 | #13 |
Необычный Сообщения: 4463
|
Профиль | Сайт | Отправить PM | Цитировать Iska, проглядел
|
Отправлено: 20:35, 02-05-2015 | #14 |
Пользователь Сообщения: 82
|
Профиль | Сайт | Отправить PM | Цитировать Иска - бог. Снова.
|
------- Отправлено: 03:23, 04-05-2015 | #15 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать iccup.platoon@vk, так что именно у Вас заработало из-под VB.Net?
Цитата iccup.platoon@vk:
|
|
Отправлено: 15:46, 04-05-2015 | #16 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
.NET - [решено] Проблема при сохранения файла в vb.net | vitalik8388 | Программирование и базы данных | 7 | 02-05-2012 22:01 | |
.NET - [решено] vb.net чтение конкретной строки файла | RUVATA | Программирование и базы данных | 7 | 19-08-2010 10:21 | |
Прочие БД - Запросы в VB (MS Access) | mxmstrnt | Программирование и базы данных | 0 | 14-04-2008 16:22 | |
.NET - *Теория*(VB.NET || C#.net ) Нужен алгоритм для мини - игры | ssdm | Программирование и базы данных | 11 | 17-05-2007 02:12 | |
Сравнение VB.NET и Visual C++.NET | Commander | Программирование и базы данных | 5 | 09-05-2003 19:05 |
|