Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Перенос таблиц на SQL, логич-кие поля, кто наступал на те же грабли? / 12 сообщений из 12, страница 1 из 1
16.09.2004, 17:46:24
    #32698487
Benzin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос таблиц на SQL, логич-кие поля, кто наступал на те же грабли?
Отзовитесь коллеги, кто сталкивался с ситуацией:
У базы было несколько авторов, в результате в кодах и запросах, где упоминаются логич.поля встречаются конструкции типа "...Where [Поле1] = -1" или "...Where [Поле1] = True(False)" или "...Where [Поле1] = Истина(Ложь), т.е. - полный "разнообразие". Все работало пока не начали переносить таблы на SQL2000. У него нет логич.типа данных, ближайший похожий тип - bit, но он допускает только 0 или 1. Как теперь быть, лопатить весь код и запросы, вводя 0 и 1 или создавать какой-то свой тип данных(а какой?)?
А ведь в программе еще есть и ссылки на логич.поля с целью вывода данных(типа если [логич.поле] = -1(True, Истина), то указывать в поле1(отчета, формы), например, "куплено"("продано", "оплачено" и т.п.)), и это все переписывать?
...
Рейтинг: 0 / 0
16.09.2004, 17:50:46
    #32698501
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос таблиц на SQL, логич-кие поля, кто наступал на те же грабли?
перелопачивать запросы на 1/0

в рекордсетах поля Bit представляются как Bool - т.е. ваши true/false
т.е. если на форме есть поле с данными "=iif(f_bool;"да";"нет")", то это будет корректно обрабатываться :)
...
Рейтинг: 0 / 0
16.09.2004, 18:07:33
    #32698548
Benzin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос таблиц на SQL, логич-кие поля, кто наступал на те же грабли?
Ага!
А у всех групп переключателей,которые раньше были привязаны к логич.полям надо св-во "Значение параметра" поменять с -1 на 1?
...
Рейтинг: 0 / 0
16.09.2004, 18:16:12
    #32698575
Latuk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос таблиц на SQL, логич-кие поля, кто наступал на те же грабли?
Нет только в запросах.
для true/false можно написать автомотический транслятор
-1 придется в ручную отсеевать на случай если имелось ввиду число
...
Рейтинг: 0 / 0
16.09.2004, 18:57:54
    #32698642
Benzin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос таблиц на SQL, логич-кие поля, кто наступал на те же грабли?
Что-то не выходит:
А как быть если надо на форме разместить флажок привязанный к полю таблы с сервера? Флажок не допускает привязки ни к какому полю, кроме логического.
Ничего не понял, помогите, я в SQL сервере совсем новичок!
...
Рейтинг: 0 / 0
17.09.2004, 10:16:31
    #32699188
Benzin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос таблиц на SQL, логич-кие поля, кто наступал на те же грабли?
Вывернулся:
Логич.поле на SQL 2000 становится полем smallint, в связанной таблице Акса97 этот тип данных воспринимается как "Целое", тогда к нему можно присоединить элемент типа "флажок", и, что любопытно, в коде Акса конструкции типа: "...Where [ЭтоПоле]=-1" и "...Where [ЭтоПоле]=True" работают с одинаковым успехом!
Выходит, что доверчивый Акс не видит, что обрабатывается числовое поле и продолжает считать его значения 0 и -1 за False и True?
...
Рейтинг: 0 / 0
17.09.2004, 10:21:42
    #32699195
Hummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос таблиц на SQL, логич-кие поля, кто наступал на те же грабли?
Делаем на сервере поле типа bit - в конструкторе формы цепляем к нему флажок.
...
Рейтинг: 0 / 0
17.09.2004, 10:43:21
    #32699265
Latuk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос таблиц на SQL, логич-кие поля, кто наступал на те же грабли?
>что доверчивый Акс не видит, что обрабатывается числовое поле и продолжает считать его значения 0 и -1 за False и True?
Нет он все видит
просто он умный и делает приведение типов.
...
Рейтинг: 0 / 0
17.09.2004, 10:46:19
    #32699280
Benzin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос таблиц на SQL, логич-кие поля, кто наступал на те же грабли?
Как не странно, но тоже работает!
Странно потому, что поле bit все значения -1 отображает как 1, это меня и заставило применять smallint, а теперь вижу, что в связанной табл.Акса(тип поля "Целое") опять выводится -1. Это как, выходит, что поле bit помнит знак числа, просто не показывает?
...
Рейтинг: 0 / 0
17.09.2004, 11:06:21
    #32699339
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос таблиц на SQL, логич-кие поля, кто наступал на те же грабли?
у хаммера кстати есть проект для поиска (например слова TRUE) по всему аксессу : в коде, свойствах форм
...
Рейтинг: 0 / 0
17.09.2004, 11:27:15
    #32699413
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос таблиц на SQL, логич-кие поля, кто наступал на те же грабли?
Потому как 0 = False, все остальное приводится к True, но True = -1... -> нужно исп-ть явное приведение типов или проверки на равенство нулю... если вы анализируете значение где-то в коде, а не только на галочку на форме любуетесь :)
...
Рейтинг: 0 / 0
20.09.2004, 00:31:03
    #32701420
Hummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перенос таблиц на SQL, логич-кие поля, кто наступал на те же грабли?
2 АлексейК
Эьо проект не только дляч поиска, но и для облегчения сборки рабочих мест в группе из нескольких разработчиков по определённому стандарту... Но это как-нибудь при встрече лучше покажу - исходники за иной, кстатит - пиши...
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Перенос таблиц на SQL, логич-кие поля, кто наступал на те же грабли? / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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