Формат данных в БД MS Acess (MDB)

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
Milevskiy
Новичок
Новичок
 
Сообщения: 43
Зарегистрирован: 05.11.2002 (Вт) 19:56
Откуда: Russia

Формат данных в БД MS Acess (MDB)

Сообщение Milevskiy » 13.07.2011 (Ср) 14:34

Имеется код на VB6 с подключением к БД Ms Acess (MDB)
В одном из полей отстствуют данные и когда я пытаюсь применить условие:

IF DbRsDataTable.fields("Column1").value = null then ......

это условие не работает, т.е. Данные в поле как бы нулевые но они не приравниваются к значению null.

Отсюда делаем вывод что в БД нулевые значения числятся как бы в другом формате. Но я не знаю в каком.
Подскажите пожалуйста, как поступить.

=========
От себя добавлю, что в прошлом уже сталкивался с проблемой когда точно также не получалось обработать данные в формате даты. Оказалось что дата в БД обозначается в формате #m/d/yyyy# хотя в таблице datagrid данные отображались в формате 00.00.0000

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Формат данных в БД MS Acess (MDB)

Сообщение alibek » 13.07.2011 (Ср) 14:48

Milevskiy писал(а):это условие не работает, т.е. Данные в поле как бы нулевые но они не приравниваются к значению null.
Отсюда делаем вывод что в БД нулевые значения числятся как бы в другом формате. Но я не знаю в каком.

Неправильный вывод.
Null это не значение, это отсутствие значения. Поэтому сравнивать значение с Null не имеет смысла.
Нужно использовать для проверки конструкцию Value Is Null. Или функцию IsNull(Value), но это не совсем правильно.

[edit]
Перепутал с другим языком.
Для проверки нужно использовать только функцию IsNull.
Lasciate ogni speranza, voi ch'entrate.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 14.07.2011 (Чт) 0:17

alibek писал(а):Нужно использовать для проверки конструкцию Value Is Null

Мне казалось, надо Is Nothing... Я что-то путаю?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Формат данных в БД MS Acess (MDB)

Сообщение Хакер » 14.07.2011 (Чт) 4:26

Qwertiy писал(а):Мне казалось, надо Is Nothing... Я что-то путаю?

Is Nothing это когда интерфейсный указатель имеет значение 0.
Null — это субтип типа Variant (VT_NULL).

Совершенно разные вещи.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Milevskiy
Новичок
Новичок
 
Сообщения: 43
Зарегистрирован: 05.11.2002 (Вт) 19:56
Откуда: Russia

Re: Формат данных в БД MS Acess (MDB)

Сообщение Milevskiy » 18.07.2011 (Пн) 9:50

Люди, а примером не поделитесь как это реализовать?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Формат данных в БД MS Acess (MDB)

Сообщение alibek » 18.07.2011 (Пн) 16:12

Примером чего?
Lasciate ogni speranza, voi ch'entrate.

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: Формат данных в БД MS Acess (MDB)

Сообщение ger_kar » 18.07.2011 (Пн) 20:11

alibek писал(а):Примером чего?

Milevskiy писал(а):Имеется код на VB6 с подключением к БД Ms Acess (MDB)В одном из полей отстствуют данные и когда я пытаюсь применить условие: IF DbRsDataTable.fields("Column1").value = null then ......это условие не работает, т.е. Данные в поле как бы нулевые но они не приравниваются к значению null.

Наверное, имелось ввиду это, но это только предположение ;) Вот пример
IF IsNull(DbRsDataTable.fields("Column1").value) then ......
Видимо затруднение возникло из-за отсутствия "=" . Milevskiy, ты уж напиши, что тебе непонятно - то? Здесь же вроде все предельно ясно.
Бороться и искать, найти и перепрятать

Milevskiy
Новичок
Новичок
 
Сообщения: 43
Зарегистрирован: 05.11.2002 (Вт) 19:56
Откуда: Russia

Re: Формат данных в БД MS Acess (MDB)

Сообщение Milevskiy » 19.07.2011 (Вт) 14:41

Всем спасибо за ответы. Всё получилось.

Просто у меня небыло опыта использования IsNull()
Не приходилось сталкиваться ввиду неопытности. Теперь буду знать.


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 115

    TopList