Домашняя страница Undo Do Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Фильтрация таблицы от ненужных данных. - Страница 2 - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 2 из 2«12
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Excel и другие приложения » Access » Фильтрация таблицы от ненужных данных. (Вытащить данные >0)
Фильтрация таблицы от ненужных данных.
krosav4ig Дата: Среда, 14.09.2016, 16:13 | Сообщение № 21
Группа: Друзья
Ранг: Старожил
Сообщений: 1362
Репутация: 548 ±
Замечаний: 0% ±

Excel 2007, 2013
ВладимирG, в конструкторе Access (построителе выражений) - ";" в редакторе SQL - ","


(_)Õvõ(_)
 
Ответить
СообщениеВладимирG, в конструкторе Access (построителе выражений) - ";" в редакторе SQL - ","

Автор - krosav4ig
Дата добавления - 14.09.2016 в 16:13
ВладимирG Дата: Среда, 14.09.2016, 16:16 | Сообщение № 22
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 112
Репутация: 16 ±
Замечаний: 0% ±

Елена, может я не туда вставляю Ваше nz?
Всё, что более нуля превратилось в -1.
К сообщению приложен файл: 2337528.jpg(9Kb)


И то, что понято с трудом, то мне дороже.(с)

Сообщение отредактировал ВладимирG - Среда, 14.09.2016, 16:18
 
Ответить
СообщениеЕлена, может я не туда вставляю Ваше nz?
Всё, что более нуля превратилось в -1.

Автор - ВладимирG
Дата добавления - 14.09.2016 в 16:16
Матраскин Дата: Среда, 14.09.2016, 16:17 | Сообщение № 23
Группа: Друзья
Ранг: Обитатель
Сообщений: 341
Репутация: 63 ±
Замечаний: 0% ±

20xx
[vba]
Код
Select new_F21 From (Select T.[F21] , IIF(ISNULL(T.[F21]),"-1" ,T.[F21]) as new_F21 From T) Where Val(new_F21)>0
[/vba]

вне конкурса)


в интернете опять кто-то не прав
 
Ответить
Сообщение[vba]
Код
Select new_F21 From (Select T.[F21] , IIF(ISNULL(T.[F21]),"-1" ,T.[F21]) as new_F21 From T) Where Val(new_F21)>0
[/vba]

вне конкурса)

Автор - Матраскин
Дата добавления - 14.09.2016 в 16:17
Pelena Дата: Среда, 14.09.2016, 16:20 | Сообщение № 24
Группа: Модераторы
Ранг: Экселист
Сообщений: 9879
Репутация: 2265 ±
Замечаний: 0% ±

Excel 2010 & Mac Excel 2011
Мы, вроде с SQL начали)
[vba]
Код
SELECT [Заказы покупателей].F2, [Заказы покупателей].F3, [Заказы покупателей].F21, IIf(InStr([f3],"Код:")<>"",Mid([f3],InStr([f3],"Код:")+5,20),"") AS [В базе]
FROM [Заказы покупателей]
WHERE Nz(Val([F21]),0)>0
[/vba]


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеМы, вроде с SQL начали)
[vba]
Код
SELECT [Заказы покупателей].F2, [Заказы покупателей].F3, [Заказы покупателей].F21, IIf(InStr([f3],"Код:")<>"",Mid([f3],InStr([f3],"Код:")+5,20),"") AS [В базе]
FROM [Заказы покупателей]
WHERE Nz(Val([F21]),0)>0
[/vba]

Автор - Pelena
Дата добавления - 14.09.2016 в 16:20
ВладимирG Дата: Среда, 14.09.2016, 16:25 | Сообщение № 25
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 112
Репутация: 16 ±
Замечаний: 0% ±

Пишет: несоответствие типов данных..


И то, что понято с трудом, то мне дороже.(с)
 
Ответить
СообщениеПишет: несоответствие типов данных..

Автор - ВладимирG
Дата добавления - 14.09.2016 в 16:25
ВладимирG Дата: Среда, 14.09.2016, 16:26 | Сообщение № 26
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 112
Репутация: 16 ±
Замечаний: 0% ±

Матраскин, покажите, как он полностью будет выглядеть, а то я не могу протестировать Ваш код.


И то, что понято с трудом, то мне дороже.(с)
 
Ответить
СообщениеМатраскин, покажите, как он полностью будет выглядеть, а то я не могу протестировать Ваш код.

Автор - ВладимирG
Дата добавления - 14.09.2016 в 16:26
Матраскин Дата: Среда, 14.09.2016, 16:34 | Сообщение № 27
Группа: Друзья
Ранг: Обитатель
Сообщений: 341
Репутация: 63 ±
Замечаний: 0% ±

20xx
ВладимирG, [vba]
Код
Select [Заказы покупателей].F2, [Заказы покупателей].F3, [Заказы покупателей].F21, IIf(InStr([f3],"Код:")<>"",Mid([f3],InStr([f3],"Код:")+5,20),"") AS [В базе] From (Select [Заказы покупателей].F2, [Заказы покупателей].F3, [Заказы покупателей].F21, IIf(InStr([f3],"Код:")<>"",Mid([f3],InStr([f3],"Код:")+5,20),"") AS [В базе] , IIF(ISNULL([Заказы покупателей].[F21]),"-1" ,[Заказы покупателей].[F21]) as new_F21 From [Заказы покупателей]) Where Val(new_F21)>0
[/vba]

можно укоротить, выкинуть из вложенного селекта лишнюю фигню, но это на вашей совести))


в интернете опять кто-то не прав

Сообщение отредактировал Матраскин - Среда, 14.09.2016, 16:35
 
Ответить
СообщениеВладимирG, [vba]
Код
Select [Заказы покупателей].F2, [Заказы покупателей].F3, [Заказы покупателей].F21, IIf(InStr([f3],"Код:")<>"",Mid([f3],InStr([f3],"Код:")+5,20),"") AS [В базе] From (Select [Заказы покупателей].F2, [Заказы покупателей].F3, [Заказы покупателей].F21, IIf(InStr([f3],"Код:")<>"",Mid([f3],InStr([f3],"Код:")+5,20),"") AS [В базе] , IIF(ISNULL([Заказы покупателей].[F21]),"-1" ,[Заказы покупателей].[F21]) as new_F21 From [Заказы покупателей]) Where Val(new_F21)>0
[/vba]

можно укоротить, выкинуть из вложенного селекта лишнюю фигню, но это на вашей совести))

Автор - Матраскин
Дата добавления - 14.09.2016 в 16:34
Pelena Дата: Среда, 14.09.2016, 16:36 | Сообщение № 28
Группа: Модераторы
Ранг: Экселист
Сообщений: 9879
Репутация: 2265 ±
Замечаний: 0% ±

Excel 2010 & Mac Excel 2011
Пришлось всё-таки открыть Access :D
Такое условие сработало
[vba]
Код
WHERE Val(Nz([F21],0))>0
[/vba]
или даже
[vba]
Код
WHERE Nz([F21],0)>0
[/vba]


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеПришлось всё-таки открыть Access :D
Такое условие сработало
[vba]
Код
WHERE Val(Nz([F21],0))>0
[/vba]
или даже
[vba]
Код
WHERE Nz([F21],0)>0
[/vba]

Автор - Pelena
Дата добавления - 14.09.2016 в 16:36
krosav4ig Дата: Среда, 14.09.2016, 16:41 | Сообщение № 29
Группа: Друзья
Ранг: Старожил
Сообщений: 1362
Репутация: 548 ±
Замечаний: 0% ±

Excel 2007, 2013
Nz(Val([F21]),0)>0
имхо, порядок не тот, должно быть так сначала null и текст преобразуем в 0, потом извлекаем число [vba]
Код
Val(Nz([F21],0))>0
[/vba] ибо Val(Null) дает ошибку несоответствие типов данных


(_)Õvõ(_)
 
Ответить
Сообщение
Nz(Val([F21]),0)>0
имхо, порядок не тот, должно быть так сначала null и текст преобразуем в 0, потом извлекаем число [vba]
Код
Val(Nz([F21],0))>0
[/vba] ибо Val(Null) дает ошибку несоответствие типов данных

Автор - krosav4ig
Дата добавления - 14.09.2016 в 16:41
ВладимирG Дата: Среда, 14.09.2016, 16:48 | Сообщение № 30
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 112
Репутация: 16 ±
Замечаний: 0% ±

Нет, у меня выпрыгивает окно F2 - введите значение параметра. В итоге никакого положительного результата.


И то, что понято с трудом, то мне дороже.(с)
 
Ответить
СообщениеНет, у меня выпрыгивает окно F2 - введите значение параметра. В итоге никакого положительного результата.

Автор - ВладимирG
Дата добавления - 14.09.2016 в 16:48
ВладимирG Дата: Среда, 14.09.2016, 16:50 | Сообщение № 31
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 112
Репутация: 16 ±
Замечаний: 0% ±

Да, такой вариант работает.
Val(Nz([F21],0))>0


И то, что понято с трудом, то мне дороже.(с)
 
Ответить
СообщениеДа, такой вариант работает.
Val(Nz([F21],0))>0

Автор - ВладимирG
Дата добавления - 14.09.2016 в 16:50
Pelena Дата: Среда, 14.09.2016, 16:59 | Сообщение № 32
Группа: Модераторы
Ранг: Экселист
Сообщений: 9879
Репутация: 2265 ±
Замечаний: 0% ±

Excel 2010 & Mac Excel 2011
введите значение параметра

Поле у Вас F21, а я написала Поле2. Просто надо было использовать своё.
Ладно, результат достигнут, и это - главное :)


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
Сообщение
введите значение параметра

Поле у Вас F21, а я написала Поле2. Просто надо было использовать своё.
Ладно, результат достигнут, и это - главное :)

Автор - Pelena
Дата добавления - 14.09.2016 в 16:59
ВладимирG Дата: Среда, 14.09.2016, 17:02 | Сообщение № 33
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 112
Репутация: 16 ±
Замечаний: 0% ±

Ну, ладно. Спасибо всем большое. Всего доброго.
-------
NZ - это для меня что-то новое, изучу.


И то, что понято с трудом, то мне дороже.(с)
 
Ответить
СообщениеНу, ладно. Спасибо всем большое. Всего доброго.
-------
NZ - это для меня что-то новое, изучу.

Автор - ВладимирG
Дата добавления - 14.09.2016 в 17:02
ВладимирG Дата: Среда, 14.09.2016, 17:34 | Сообщение № 34
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 112
Репутация: 16 ±
Замечаний: 0% ±

Также я когда-то со Split_ом попал. Есть функции, которые не экспортируются из Access в Excel. Ну вот и Nz туда же..
К сообщению приложен файл: 7968216.jpg(11Kb)


И то, что понято с трудом, то мне дороже.(с)
 
Ответить
СообщениеТакже я когда-то со Split_ом попал. Есть функции, которые не экспортируются из Access в Excel. Ну вот и Nz туда же..

Автор - ВладимирG
Дата добавления - 14.09.2016 в 17:34
Gustav Дата: Среда, 14.09.2016, 19:24 | Сообщение № 35
Группа: Друзья
Ранг: Старожил
Сообщений: 1211
Репутация: 484 ±
Замечаний: 0% ±

начинал с Excel 4.0...
Есть функции, которые не экспортируются из Access в Excel. Ну вот и Nz туда же..

А если в Редакторе VBA в Excel поставить галку по меню: Tools \ References \ Microsoft Access 15.0 Object Library (ну или другая версия, если не 15.0) ? Не полегчает?

P.S. Ну или без постоянного подключения библиотеки более жёсткий прямой вариант (можно проверить в Окне отладки Excel):
[vba]
Код
? CreateObject("Access.Application").Nz(null, 55)
[/vba]
Либо, если надо Nz многократно использовать, то отдельный объектик создать для Access (тоже без подключения библиотеки):
[vba]
Код
Sub io()
    Dim acc As Object
    Set acc = CreateObject("Access.Application")
    
    Debug.Print acc.Nz(Null, 11)
    Debug.Print acc.Nz(Null, 22)
    Debug.Print acc.Nz(Null, 33)
    
    Set acc = Nothing
End Sub
[/vba]

P.P.S.
Также я когда-то со Split_ом попал.

А вот это странно. Split - функция ядра VB, а не конкретного приложения Office...


Мой tip box - яд 41001663842605

Сообщение отредактировал Gustav - Среда, 14.09.2016, 19:41
 
Ответить
Сообщение
Есть функции, которые не экспортируются из Access в Excel. Ну вот и Nz туда же..

А если в Редакторе VBA в Excel поставить галку по меню: Tools \ References \ Microsoft Access 15.0 Object Library (ну или другая версия, если не 15.0) ? Не полегчает?

P.S. Ну или без постоянного подключения библиотеки более жёсткий прямой вариант (можно проверить в Окне отладки Excel):
[vba]
Код
? CreateObject("Access.Application").Nz(null, 55)
[/vba]
Либо, если надо Nz многократно использовать, то отдельный объектик создать для Access (тоже без подключения библиотеки):
[vba]
Код
Sub io()
    Dim acc As Object
    Set acc = CreateObject("Access.Application")
    
    Debug.Print acc.Nz(Null, 11)
    Debug.Print acc.Nz(Null, 22)
    Debug.Print acc.Nz(Null, 33)
    
    Set acc = Nothing
End Sub
[/vba]

P.P.S.
Также я когда-то со Split_ом попал.

А вот это странно. Split - функция ядра VB, а не конкретного приложения Office...

Автор - Gustav
Дата добавления - 14.09.2016 в 19:24
ВладимирG Дата: Четверг, 15.09.2016, 10:04 | Сообщение № 36
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 112
Репутация: 16 ±
Замечаний: 0% ±

Microsoft Access 15.0 Object Library

..у меня 12, но не помогло.
Split - функция ядра VB

Прошу прощения - оговорился. Имелась ввиду функция Replace
Кстати, здесь про NZ написано..


И то, что понято с трудом, то мне дороже.(с)
 
Ответить
Сообщение
Microsoft Access 15.0 Object Library

..у меня 12, но не помогло.
Split - функция ядра VB

Прошу прощения - оговорился. Имелась ввиду функция Replace
Кстати, здесь про NZ написано..

Автор - ВладимирG
Дата добавления - 15.09.2016 в 10:04
Мир MS Excel » Вопросы и решения » Excel и другие приложения » Access » Фильтрация таблицы от ненужных данных. (Вытащить данные >0)
Страница 2 из 2«12
Поиск:

Яндекс цитирования
© 2010-2016 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!