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

Вход

Регистрация

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

 

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

Старая форма входа
  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: _Boroda_, китин  
Мир MS Excel » Вопросы и решения » Excel и другие приложения » Access » Фильтрация таблицы от ненужных данных. (Вытащить данные >0)
Фильтрация таблицы от ненужных данных.
krosav4ig Дата: Среда, 14.09.2016, 16:13 | Сообщение № 21
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

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


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеВладимирG, в конструкторе Access (построителе выражений) - ";" в редакторе SQL - ","

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

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


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

Автор - ВладимирG
Дата добавления - 14.09.2016 в 16:16
Матраскин Дата: Среда, 14.09.2016, 16:17 | Сообщение № 23
Группа: Друзья
Ранг: Обитатель
Сообщений: 375
Репутация: 81 ±
Замечаний: 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
Группа: Админы
Ранг: Местный житель
Сообщений: 19180
Репутация: 4420 ±
Замечаний: ±

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


"Черт возьми, Холмс! Но как??!!"
Ю-money 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
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 136
Репутация: 22 ±
Замечаний: 0% ±

2007
Пишет: несоответствие типов данных..
 
Ответить
СообщениеПишет: несоответствие типов данных..

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

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

Автор - ВладимирG
Дата добавления - 14.09.2016 в 16:26
Матраскин Дата: Среда, 14.09.2016, 16:34 | Сообщение № 27
Группа: Друзья
Ранг: Обитатель
Сообщений: 375
Репутация: 81 ±
Замечаний: 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
Группа: Админы
Ранг: Местный житель
Сообщений: 19180
Репутация: 4420 ±
Замечаний: ±

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


"Черт возьми, Холмс! Но как??!!"
Ю-money 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
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

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


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение
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
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 136
Репутация: 22 ±
Замечаний: 0% ±

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

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

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

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

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

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


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

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

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

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

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

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

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

начинал с Excel 4.0, видел 2.1
Есть функции, которые не экспортируются из 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
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 136
Репутация: 22 ±
Замечаний: 0% ±

2007
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
  • «
  • 1
  • 2
Поиск:

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