|
найти все записи с пустыми полями
|
|||
---|---|---|---|
#18+
Доброго времени суток! Проблема такая: Есть таблица (список компов фирмы, в котором содержаться такие поля: Пользователь, ip-адрес, имя ПК) IP-адреса указаны в диапазоне с192.168.1.1 по 192.168.1.255. Соответственно если адрес используется, то поле "Пользователь", "имя ПК" и т.д. заполнены, если адрес не занят, то поля пустые. Нужно создать запрос, по которому в ДатаГрид будут выводиться ТОЛЬКО данные об свободных адресах (записи в которых например поле Пользователь будет пустое). Пытался использовать запрос типа "SELECT * FROM fulldb where user is null '" выводит 1 пустую строчку. Как ещё можно выбрать записи только с пустыми полями? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2011, 15:31 |
|
найти все записи с пустыми полями
|
|||
---|---|---|---|
#18+
Забыл добавить: База формата *.mdb (Access 2003), Программа на VBasic 6.0. Для работой с БД пользую ADODC и DataGrid ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2011, 15:33 |
|
найти все записи с пустыми полями
|
|||
---|---|---|---|
#18+
Mazai-XZ, ну а сколько на самом деле пустых строчек в таблице ? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2011, 15:34 |
|
найти все записи с пустыми полями
|
|||
---|---|---|---|
#18+
Может добавить or user='' ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2011, 15:55 |
|
найти все записи с пустыми полями
|
|||
---|---|---|---|
#18+
big-duke, Строчек много... Занятых айпишников порядка 30, остальные свободные, а добавлены они в базу для удобства. Например появился новый сотрудник, я открываю базу и смотрю, ага, адрес такой-то свободный, беру и выдаю его пользователю. Чуток уточню вопрос: Как вывести записи, в которых ТОЛЬКО одно поле не пусто? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2011, 16:09 |
|
найти все записи с пустыми полями
|
|||
---|---|---|---|
#18+
Может там не NULL а пустая строка? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2011, 16:14 |
|
найти все записи с пустыми полями
|
|||
---|---|---|---|
#18+
Если Вы не видите значения в поле, это не означает, что там Null. Там вполне может быть пустая строка. Или строка из неотображаемых символов. Попробуйте Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2011, 16:17 |
|
найти все записи с пустыми полями
|
|||
---|---|---|---|
#18+
Shocker.Pro, ммм, не совсем догнал.. в общем есть записи, в которых указаны Пользователь, Имя ПК, IP-адрес, а есть которые содержат только ip-адрес и всё. Вот мне их и нужно найти... Уж очень не охото руками вводить в свободные ячейки слово "Свободен" и делать запрос по этому слову... ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2011, 16:21 |
|
найти все записи с пустыми полями
|
|||
---|---|---|---|
#18+
Mazai-XZа есть которые содержат только ip-адрес и всё. Вот мне их и нужно найти..Ну тогда зачем проверять другие поля? Проверяйте наличие IP-адреса и помните, что там может быть и NULL и "" (пустая строка) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2011, 16:23 |
|
найти все записи с пустыми полями
|
|||
---|---|---|---|
#18+
Shocker.ProMazai-XZа есть которые содержат только ip-адрес и всё. Вот мне их и нужно найти..Ну тогда зачем проверять другие поля? Проверяйте наличие IP-адреса и помните, что там может быть и NULL и "" (пустая строка) Ой, вот я ерунду сказал Проверяйте остальные поля на пустоту или NULL ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2011, 16:23 |
|
найти все записи с пустыми полями
|
|||
---|---|---|---|
#18+
Shocker.Pro, А как проверить-то? =) У меня в базе поля "Пользователь", "Имя ПК" либо пустые, либо с данными, а поле IP ВСЕГДА заполнено. Перепробовал все вышеперечисленные методы - ругается на отсутсвие оператора =( ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2011, 16:28 |
|
найти все записи с пустыми полями
|
|||
---|---|---|---|
#18+
вы бы привели скрипт создания вашей таблицы или хотя бы перечислили бы все поля и их типы и IsNullable ли они ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2011, 16:30 |
|
найти все записи с пустыми полями
|
|||
---|---|---|---|
#18+
Konst_One, Скрипт создания таблицы =))) Да никакого скрипта, всё топорно и банально сделано. Вообще изначально была екселевская таблица, в которой я в первую ячейку ввёл значение 192.168.1.1 и "чёрным крестиком" тянул вниз, пока в ячейке не появилось 192.168.1.255. Затем прошёлся по пользовательским компам, позаписывал их айпишники. Потом открыл свой екселевский файл и начал вводить инфу, например адрес 192.168.1.2 используется, я ввожу в поле пользователь ФИО пользователя, в поле имя ПК - Имя ПК и так далее, адрес 192.168.1.3 например - свободный, я его пропускаю и иду дальше и дальше.. Потом тупо импортировал эту таблицу из екселя в акцесс, нарисовал на форме несколько текстбоксов, адодц и датагрид. В коде прописал заклинание в виде: GeneralForm.Adodc2.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db\uszmk620db.mdb ;Mode=ReadWrite|Share Deny None;Persist Security Info=False" GeneralForm.Adodc2.RecordSource = "SELECT user, pcname, ip, office FROM fulldb order by office" Set GeneralForm.DataGrid2.DataSource = GeneralForm.Adodc2 GeneralForm.Adodc2.CommandType = adCmdText GeneralForm.Adodc2.CursorType = adOpenDynamic GeneralForm.Adodc2.Refresh GeneralForm.DataGrid2.Refresh И всё =) В акцесе все поля Текстовые. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2011, 16:42 |
|
найти все записи с пустыми полями
|
|||
---|---|---|---|
#18+
Всё! Нашёл выход из положения =) Чуток по другому, но главное сработало, если интересно вот ссылка http://www.sql.ru/forum/actualthread.aspx?tid=742950&pg=1&mid=8485058#8485058 Из данного поста конкретно использовал это: select * from TBL where text_values not like '%[a-z]%' or text_values is NULL В общем сделал запрос по полям, в которых НЕ содержится никаких букв/слов и так далее =) Всем ОГРОМНЕЙШЕЕ спасибо участие! =))) P.S.: Ну если вдруг кто подскажет ответ на мой вопрос, буду признателен, ибо пригодиться в будущем ) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2011, 16:58 |
|
найти все записи с пустыми полями
|
|||
---|---|---|---|
#18+
Mazai-XZИз данного поста конкретно использовал это: select * from TBL where text_values not like '%[a-z]%' or text_values is NULL А если там цифра, русская буква или, скажем, тире? А вот это: Код: plaintext 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2011, 18:20 |
|
найти все записи с пустыми полями
|
|||
---|---|---|---|
#18+
Mazai-XZ, Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2011, 21:25 |
|
найти все записи с пустыми полями
|
|||
---|---|---|---|
#18+
Akina, Mazai-XZ Программа на VBasic 6.0. Для работой с БД пользую ADODC и DataGrid Nz вне контекста Access не арбайтн. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2011, 21:29 |
|
найти все записи с пустыми полями
|
|||
---|---|---|---|
#18+
скукотищаAkina, Mazai-XZ Программа на VBasic 6.0. Для работой с БД пользую ADODC и DataGrid Nz вне контекста Access не арбайтн.Значит, использовать что-то SQLно-стандартное... что у нас там для такого случая припасено, COALESCE? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2011, 22:51 |
|
найти все записи с пустыми полями
|
|||
---|---|---|---|
#18+
Akina, ага, COALESCE Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2011, 23:09 |
|
найти все записи с пустыми полями
|
|||
---|---|---|---|
#18+
а что мешает сделать в акцесе вьюху с NZ и ее дергать? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2011, 08:46 |
|
найти все записи с пустыми полями
|
|||
---|---|---|---|
#18+
AkinaА если там цифра, русская буква или, скажем, тире? Да да да! И цифры есть и тире (в поле "office" всего 4 варианта записей возможны: ЗМК, УС-620, КБ ЗМК и собственно пустое поле) И всё-равно работает на ура, оставляет (отображает в гриде) только записи, где офис не указан =))) А если пользовать варианты с "where not (user > '')" или "where user is null or user = ''", то в гриде выводиться только 1 строка совершенно пустая (даже поле с айпи-адресом пустое). ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2011, 09:28 |
|
найти все записи с пустыми полями
|
|||
---|---|---|---|
#18+
HandKotа что мешает сделать в акцесе вьюху с NZ и ее дергать?Ничего не мешает. Проведите эксперимент: создайте в аксе вьюху с Nz и попробуйте её дернуть НЕ из акцесса. Для чистоты эксперимента - с компьютера, на котором не устанавливался ни акцесс, ни рантайм его ма. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2011, 16:00 |
|
|
start [/forum/topic.php?fid=60&msg=37377800&tid=2158523]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
59ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 164ms |
0 / 0 |