powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / найти все записи с пустыми полями
22 сообщений из 22, страница 1 из 1
найти все записи с пустыми полями
    #37377110
Mazai-XZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток! Проблема такая: Есть таблица (список компов фирмы, в котором содержаться такие поля: Пользователь, ip-адрес, имя ПК) IP-адреса указаны в диапазоне с192.168.1.1 по 192.168.1.255. Соответственно если адрес используется, то поле "Пользователь", "имя ПК" и т.д. заполнены, если адрес не занят, то поля пустые. Нужно создать запрос, по которому в ДатаГрид будут выводиться ТОЛЬКО данные об свободных адресах (записи в которых например поле Пользователь будет пустое). Пытался использовать запрос типа "SELECT * FROM fulldb where user is null '" выводит 1 пустую строчку. Как ещё можно выбрать записи только с пустыми полями?
...
Рейтинг: 0 / 0
найти все записи с пустыми полями
    #37377115
Mazai-XZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Забыл добавить: База формата *.mdb (Access 2003), Программа на VBasic 6.0. Для работой с БД пользую ADODC и DataGrid
...
Рейтинг: 0 / 0
найти все записи с пустыми полями
    #37377120
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mazai-XZ,

ну а сколько на самом деле пустых строчек в таблице ?
...
Рейтинг: 0 / 0
найти все записи с пустыми полями
    #37377174
AndreyMp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может добавить or user=''
...
Рейтинг: 0 / 0
найти все записи с пустыми полями
    #37377213
Mazai-XZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
big-duke, Строчек много... Занятых айпишников порядка 30, остальные свободные, а добавлены они в базу для удобства. Например появился новый сотрудник, я открываю базу и смотрю, ага, адрес такой-то свободный, беру и выдаю его пользователю. Чуток уточню вопрос: Как вывести записи, в которых ТОЛЬКО одно поле не пусто?
...
Рейтинг: 0 / 0
найти все записи с пустыми полями
    #37377226
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может там не NULL а пустая строка?
...
Рейтинг: 0 / 0
найти все записи с пустыми полями
    #37377234
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если Вы не видите значения в поле, это не означает, что там Null. Там вполне может быть пустая строка. Или строка из неотображаемых символов.

Попробуйте

Код: plaintext
WHERE TRIM(NZ(user, "")) = ""
...
Рейтинг: 0 / 0
найти все записи с пустыми полями
    #37377244
Mazai-XZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

ммм, не совсем догнал.. в общем есть записи, в которых указаны Пользователь, Имя ПК, IP-адрес, а есть которые содержат только ip-адрес и всё. Вот мне их и нужно найти... Уж очень не охото руками вводить в свободные ячейки слово "Свободен" и делать запрос по этому слову...
...
Рейтинг: 0 / 0
найти все записи с пустыми полями
    #37377250
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mazai-XZа есть которые содержат только ip-адрес и всё. Вот мне их и нужно найти..Ну тогда зачем проверять другие поля? Проверяйте наличие IP-адреса и помните, что там может быть и NULL и "" (пустая строка)
...
Рейтинг: 0 / 0
найти все записи с пустыми полями
    #37377252
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProMazai-XZа есть которые содержат только ip-адрес и всё. Вот мне их и нужно найти..Ну тогда зачем проверять другие поля? Проверяйте наличие IP-адреса и помните, что там может быть и NULL и "" (пустая строка) Ой, вот я ерунду сказал
Проверяйте остальные поля на пустоту или NULL
...
Рейтинг: 0 / 0
найти все записи с пустыми полями
    #37377265
Mazai-XZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

А как проверить-то? =) У меня в базе поля "Пользователь", "Имя ПК" либо пустые, либо с данными, а поле IP ВСЕГДА заполнено. Перепробовал все вышеперечисленные методы - ругается на отсутсвие оператора =(
...
Рейтинг: 0 / 0
найти все записи с пустыми полями
    #37377268
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вы бы привели скрипт создания вашей таблицы или хотя бы перечислили бы все поля и их типы и IsNullable ли они
...
Рейтинг: 0 / 0
найти все записи с пустыми полями
    #37377295
Mazai-XZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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


И всё =)
В акцесе все поля Текстовые.
...
Рейтинг: 0 / 0
найти все записи с пустыми полями
    #37377326
Mazai-XZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всё! Нашёл выход из положения =) Чуток по другому, но главное сработало, если интересно вот ссылка 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.: Ну если вдруг кто подскажет ответ на мой вопрос, буду признателен, ибо пригодиться в будущем )
...
Рейтинг: 0 / 0
найти все записи с пустыми полями
    #37377515
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mazai-XZИз данного поста конкретно использовал это:
select * from TBL where text_values not like '%[a-z]%' or text_values is NULL
А если там цифра, русская буква или, скажем, тире?

А вот это:
Код: plaintext
1.
2.
SELECT * 
FROM tbl 
WHERE TRIM(NZ(text_values, "")) = ""
что, не работает?
...
Рейтинг: 0 / 0
найти все записи с пустыми полями
    #37377696
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mazai-XZ,
Код: plaintext
1.
2.
3.
4.
--1)
SELECT * FROM fulldb where not (user > '');
--2)
SELECT * FROM fulldb where user is null or user = '';
...
Рейтинг: 0 / 0
найти все записи с пустыми полями
    #37377699
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,
Mazai-XZ Программа на VBasic 6.0. Для работой с БД пользую ADODC и DataGrid Nz вне контекста Access не арбайтн.
...
Рейтинг: 0 / 0
найти все записи с пустыми полями
    #37377770
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скукотищаAkina,
Mazai-XZ Программа на VBasic 6.0. Для работой с БД пользую ADODC и DataGrid Nz вне контекста Access не арбайтн.Значит, использовать что-то SQLно-стандартное... что у нас там для такого случая припасено, COALESCE?
...
Рейтинг: 0 / 0
найти все записи с пустыми полями
    #37377800
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,
ага, COALESCE
Код: plaintext
1.
2.
3.
ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Data Source=" & App.Path & "\db\uszmk620db.mdb ;" _
& "Mode=ReadWrite|Share Deny None;Persist Security Info=False"
Проще надо быть.. и внимательнее.
...
Рейтинг: 0 / 0
найти все записи с пустыми полями
    #37378042
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что мешает сделать в акцесе вьюху с NZ и ее дергать?
...
Рейтинг: 0 / 0
найти все записи с пустыми полями
    #37378109
Mazai-XZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AkinaА если там цифра, русская буква или, скажем, тире?


Да да да! И цифры есть и тире (в поле "office" всего 4 варианта записей возможны: ЗМК, УС-620, КБ ЗМК и собственно пустое поле) И всё-равно работает на ура, оставляет (отображает в гриде) только записи, где офис не указан =))) А если пользовать варианты с "where not (user > '')" или "where user is null or user = ''", то в гриде выводиться только 1 строка совершенно пустая (даже поле с айпи-адресом пустое).
...
Рейтинг: 0 / 0
найти все записи с пустыми полями
    #37379070
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
HandKotа что мешает сделать в акцесе вьюху с NZ и ее дергать?Ничего не мешает.
Проведите эксперимент: создайте в аксе вьюху с Nz и попробуйте её дернуть НЕ из акцесса. Для чистоты эксперимента - с компьютера, на котором не устанавливался ни акцесс, ни рантайм его ма.
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / найти все записи с пустыми полями
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]