powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Функция Boolean
25 сообщений из 27, страница 1 из 2
Функция Boolean
    #40008053
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть Public функция в модуле которая возвращает boolean
Использую ее в запросе. Выполняется, кажет 0 и -1
Теперь пытаюсь поставить условие на ее значение - и все...
Как не пытаюсь - несоответствие типов данных в выражении условия отбора
И ИСТИНА писал, и TRUE, и -1..... и в кавычках пробовал...
Что я делаю не так?
...
Рейтинг: 0 / 0
Функция Boolean
    #40008110
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Открываем "Access 20xx Developer Reference > Microsoft Access SQL Reference > Overview of the Access SQL Reference > SQL Data Types" и НЕ НАХОДИМ там тип данных BOOLEAN.

Используйте любой совместимый тип.
...
Рейтинг: 0 / 0
Функция Boolean
    #40008111
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina,

А причем здесь SQL, ТС про него вроде не упоминал?
...
Рейтинг: 0 / 0
Функция Boolean
    #40008113
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROI,
Serg197311
Использую ее в запросе.
...
Рейтинг: 0 / 0
Функция Boolean
    #40008125
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Стесняюсь спросить:а чем 0 и -1 отличаются от FALSE и TRUE (если используются в нужном контексте)?
Хотелось бы увидеть Вашу функцию и узнать тип поля к которому она применяется
...
Рейтинг: 0 / 0
Функция Boolean
    #40008243
bubucha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311
Что я делаю не так?

Плохо формулируешь задачу
...
Рейтинг: 0 / 0
Функция Boolean
    #40008330
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запрос
Код: sql
1.
2.
3.
SELECT DISTINCT vers.d3d, IsExistFile([vers]![d3d]) AS Выражение1
FROM vers INNER JOIN MAIN1 ON vers.code = MAIN1.codever
WHERE (((MAIN1.sernn)=46) AND ((vers.d3d)<>""));



Функция
Код: vbnet
1.
2.
3.
4.
5.
6.
Public Function IsExistFile(strPath As String) As Boolean
    Dim fs
    Set fs = CreateObject("Scripting.FileSystemObject")
    IsExistFile = fs.FileExists(strPath)
    Set fs = Nothing
End Function


Ошибка возникает при попытке поставить условие на Выражение1
...
Рейтинг: 0 / 0
Функция Boolean
    #40008340
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku
Стесняюсь спросить:а чем 0 и -1 отличаются от FALSE и TRUE

А я не стесняюсь и спрашиваю, ибо сам понять не могу...
sdku
Хотелось бы увидеть Вашу функцию и узнать тип поля к которому она применяется
Выше....
...
Рейтинг: 0 / 0
Функция Boolean
    #40008342
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku
Стесняюсь спросить:а чем 0 и -1 отличаются от FALSE и TRUE (если используются в нужном контексте)?
Хотелось бы увидеть Вашу функцию и узнать тип поля к которому она применяется

Да есть разница Akina это и подметил.
boolean в таблицах Access это нето-что boolean в SQL там его нет.
в Access -1=True, -2=True, 1=True, 2=True и только 0=False
К стати -1 (дикость какая то)
Контрол флажок в Access как раз оперирует -1 и 0
если под контролом будет другая база SQL то огребаем
...
Рейтинг: 0 / 0
Функция Boolean
    #40008356
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROI
Да есть разница Akina это и подметил.
boolean в таблицах Access это нето-что boolean в SQL там его нет.
в Access -1=True, -2=True, 1=True, 2=True и только 0=False
К стати -1 (дикость какая то)
Контрол флажок в Access как раз оперирует -1 и 0
если под контролом будет другая база SQL то огребаем

Не я конечно понимаю, что если я функцию перепишу на integer и она будет выдавать 0 и 1 то все срастется.... Да и проблему я решил уже другим способом... Но мне все таки интересно в чем было дело и что я должен был в условии запроса написать....
...
Рейтинг: 0 / 0
Функция Boolean
    #40008410
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROI,
ТС в своем вопросе ни коим образом не упомянул SQL
Вопрос был:"Что я делаю не так?"
А я в силу своей тупости не понял что речь об SQL
...
Рейтинг: 0 / 0
Функция Boolean
    #40008506
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311
Ошибка возникает при попытке поставить условие на Выражение1

??? вот с этого места поподробнее. Конкретным кодом, пусть и дающим ошибку.
...
Рейтинг: 0 / 0
Функция Boolean
    #40008517
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina
Serg197311
Ошибка возникает при попытке поставить условие на Выражение1

??? вот с этого места поподробнее. Конкретным кодом, пусть и дающим ошибку.


Код: sql
1.
2.
3.
SELECT DISTINCT vers.d3d, IsExistFile([vers]![d3d]) AS Выражение1
FROM vers INNER JOIN MAIN1 ON vers.code = MAIN1.codever
WHERE (((vers.d3d)<>"") AND ((IsExistFile([vers]![d3d]))=True) AND ((MAIN1.sernn)=46));


Ну вот это ошибку выдает
...
Рейтинг: 0 / 0
Функция Boolean
    #40008534
bubucha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
IsExistFile(NZ([vers]![d3d];""))...

попробовать можно
...
Рейтинг: 0 / 0
Функция Boolean
    #40008668
sdku
Стесняюсь спросить:а чем 0 и -1 отличаются от FALSE и TRUE (если используются в нужном контексте)?


Вы так часто ко мне взывали, что я пришло. И сейчас нахожусь в одном пантеоне с Лапухом.

На VBA и аксевском sql ничем не отличаются.

А вот на серверах уже посложнее, там используются типы smalint, tinyint итд. Там действительно от контекста все зависит.
...
Рейтинг: 0 / 0
Функция Boolean
    #40008678
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Стесняюсь спросить,
А Вы внимательно прочитайте самое первое сообщение ТСа и ткните меня носом в то место где упоминается SQL сервер, а форум то про ACCESS (и что я должен ответить-про сервер или про ACCESS? И так думаю не только я)
ROI
А причем здесь SQL, ТС про него вроде не упоминал?
да и вообще о том ЧТО конкретно решает ТС-тайна покрытая мраком и вполне возможно что решение осуществляется одним выражением с использованием стандартной функции
...
Рейтинг: 0 / 0
Функция Boolean
    #40008687
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku
да и вообще о том ЧТО конкретно решает ТС-тайна покрытая мраком

В данном конкретном топике мне надо было выбрать все записи, для которых функция Isexistfile выдает TRUE - те файл существует по записанному пути.

Или интересовало - что же за проект я пилю? - PDM систему.
...
Рейтинг: 0 / 0
Функция Boolean
    #40008688
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bubucha
Код: sql
1.
IsExistFile(NZ([vers]![d3d];""))...

попробовать можно

можно. но результат будет тот-же, то есть покажет 0 и -1, а условие на него опять выдаст ошибку
...
Рейтинг: 0 / 0
Функция Boolean
    #40008717
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311,

А так?
Код: sql
1.
2.
3.
4.
5.
SELECT d3d FROM
(SELECT DISTINCT vers.d3d
FROM vers INNER JOIN MAIN1 ON vers.code = MAIN1.codever
WHERE (vers.d3d<>"") AND (MAIN1.sernn=46)) AS Q
WHERE IsExistFile(d3d)
...
Рейтинг: 0 / 0
Функция Boolean
    #40008728
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__Michelle
Serg197311,

А так?

Mille.... Да что там - millione gracias!!!!!
Огрромное спасибо!!!! Теперь я знаю как поступать в таких случаях!
...
Рейтинг: 0 / 0
Функция Boolean
    #40008734
Фотография Лапух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Стесняюсь спросить,

Ну вот, нас уже двое.
Такими темпами, скоро весь раздел подомнем под себя.
...
Рейтинг: 0 / 0
Функция Boolean
    #40008739
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лапух
Ну вот, нас уже двое.

ой-ли......
...
Рейтинг: 0 / 0
Функция Boolean
    #40008774
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311

...В данном конкретном топике мне надо было выбрать все записи, для которых функция Isexistfile выдает TRUE - те файл существует по записанному пути....
а если в процедуре написать on error go to и вообще предварительно не проверять наличие файла, просто обработать ошибку если она возникнет
...
Рейтинг: 0 / 0
Функция Boolean
    #40008782
bubucha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku
Serg197311

...В данном конкретном топике мне надо было выбрать все записи, для которых функция Isexistfile выдает TRUE - те файл существует по записанному пути....
а если в процедуре написать on error go to и вообще предварительно не проверять наличие файла, просто обработать ошибку если она возникнет

Хз, мне не удалось воспроизвести ошибку, код тс работает и без костылей. Возможно,в а97 неявное преобразование типов работает несколько иначе, чем в новых аксах, либо автор об чем- то умалчивает)
...
Рейтинг: 0 / 0
Функция Boolean
    #40008788
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bubucha
....либо автор об чем- то умалчивает)

Это наиболее вероятно
А так:
Код: vbnet
1.
2.
3.
4.
5.
If Len(Dir("путь")) > 0 Then
    MsgBox("Файл существует!")
Else
    MsgBox("Файл не найден...")
End If
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Функция Boolean
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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