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

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

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

Плохо формулируешь задачу
...
Рейтинг: 0 / 0
14.10.2020, 09:15
    #40008330
Serg197311
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция Boolean
Запрос
Код: 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
14.10.2020, 09:43
    #40008340
Serg197311
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция Boolean
sdku
Стесняюсь спросить:а чем 0 и -1 отличаются от FALSE и TRUE

А я не стесняюсь и спрашиваю, ибо сам понять не могу...
sdku
Хотелось бы увидеть Вашу функцию и узнать тип поля к которому она применяется
Выше....
...
Рейтинг: 0 / 0
14.10.2020, 09:48
    #40008342
ROI
ROI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция Boolean
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
14.10.2020, 10:24
    #40008356
Serg197311
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция Boolean
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
14.10.2020, 12:57
    #40008410
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция Boolean
ROI,
ТС в своем вопросе ни коим образом не упомянул SQL
Вопрос был:"Что я делаю не так?"
А я в силу своей тупости не понял что речь об SQL
...
Рейтинг: 0 / 0
14.10.2020, 15:38
    #40008506
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция Boolean
Serg197311
Ошибка возникает при попытке поставить условие на Выражение1

??? вот с этого места поподробнее. Конкретным кодом, пусть и дающим ошибку.
...
Рейтинг: 0 / 0
14.10.2020, 15:49
    #40008517
Serg197311
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция Boolean
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
14.10.2020, 16:20
    #40008534
bubucha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция Boolean
Код: sql
1.
IsExistFile(NZ([vers]![d3d];""))...

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


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

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

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

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

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

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

можно. но результат будет тот-же, то есть покажет 0 и -1, а условие на него опять выдаст ошибку
...
Рейтинг: 0 / 0
15.10.2020, 09:23
    #40008717
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция Boolean
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
15.10.2020, 09:43
    #40008728
Serg197311
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция Boolean
__Michelle
Serg197311,

А так?

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

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

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

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

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

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

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


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