
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
16.09.2004, 17:46:24
|
|||
|---|---|---|---|
Перенос таблиц на SQL, логич-кие поля, кто наступал на те же грабли? |
|||
|
#18+
Отзовитесь коллеги, кто сталкивался с ситуацией: У базы было несколько авторов, в результате в кодах и запросах, где упоминаются логич.поля встречаются конструкции типа "...Where [Поле1] = -1" или "...Where [Поле1] = True(False)" или "...Where [Поле1] = Истина(Ложь), т.е. - полный "разнообразие". Все работало пока не начали переносить таблы на SQL2000. У него нет логич.типа данных, ближайший похожий тип - bit, но он допускает только 0 или 1. Как теперь быть, лопатить весь код и запросы, вводя 0 и 1 или создавать какой-то свой тип данных(а какой?)? А ведь в программе еще есть и ссылки на логич.поля с целью вывода данных(типа если [логич.поле] = -1(True, Истина), то указывать в поле1(отчета, формы), например, "куплено"("продано", "оплачено" и т.п.)), и это все переписывать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.09.2004, 17:50:46
|
|||
|---|---|---|---|
Перенос таблиц на SQL, логич-кие поля, кто наступал на те же грабли? |
|||
|
#18+
перелопачивать запросы на 1/0 в рекордсетах поля Bit представляются как Bool - т.е. ваши true/false т.е. если на форме есть поле с данными "=iif(f_bool;"да";"нет")", то это будет корректно обрабатываться :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.09.2004, 18:07:33
|
|||
|---|---|---|---|
Перенос таблиц на SQL, логич-кие поля, кто наступал на те же грабли? |
|||
|
#18+
Ага! А у всех групп переключателей,которые раньше были привязаны к логич.полям надо св-во "Значение параметра" поменять с -1 на 1? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.09.2004, 18:16:12
|
|||
|---|---|---|---|
Перенос таблиц на SQL, логич-кие поля, кто наступал на те же грабли? |
|||
|
#18+
Нет только в запросах. для true/false можно написать автомотический транслятор -1 придется в ручную отсеевать на случай если имелось ввиду число ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.09.2004, 18:57:54
|
|||
|---|---|---|---|
Перенос таблиц на SQL, логич-кие поля, кто наступал на те же грабли? |
|||
|
#18+
Что-то не выходит: А как быть если надо на форме разместить флажок привязанный к полю таблы с сервера? Флажок не допускает привязки ни к какому полю, кроме логического. Ничего не понял, помогите, я в SQL сервере совсем новичок! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.09.2004, 10:16:31
|
|||
|---|---|---|---|
Перенос таблиц на SQL, логич-кие поля, кто наступал на те же грабли? |
|||
|
#18+
Вывернулся: Логич.поле на SQL 2000 становится полем smallint, в связанной таблице Акса97 этот тип данных воспринимается как "Целое", тогда к нему можно присоединить элемент типа "флажок", и, что любопытно, в коде Акса конструкции типа: "...Where [ЭтоПоле]=-1" и "...Where [ЭтоПоле]=True" работают с одинаковым успехом! Выходит, что доверчивый Акс не видит, что обрабатывается числовое поле и продолжает считать его значения 0 и -1 за False и True? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.09.2004, 10:21:42
|
|||
|---|---|---|---|
Перенос таблиц на SQL, логич-кие поля, кто наступал на те же грабли? |
|||
|
#18+
Делаем на сервере поле типа bit - в конструкторе формы цепляем к нему флажок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.09.2004, 10:43:21
|
|||
|---|---|---|---|
Перенос таблиц на SQL, логич-кие поля, кто наступал на те же грабли? |
|||
|
#18+
>что доверчивый Акс не видит, что обрабатывается числовое поле и продолжает считать его значения 0 и -1 за False и True? Нет он все видит просто он умный и делает приведение типов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.09.2004, 10:46:19
|
|||
|---|---|---|---|
Перенос таблиц на SQL, логич-кие поля, кто наступал на те же грабли? |
|||
|
#18+
Как не странно, но тоже работает! Странно потому, что поле bit все значения -1 отображает как 1, это меня и заставило применять smallint, а теперь вижу, что в связанной табл.Акса(тип поля "Целое") опять выводится -1. Это как, выходит, что поле bit помнит знак числа, просто не показывает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.09.2004, 11:06:21
|
|||
|---|---|---|---|
Перенос таблиц на SQL, логич-кие поля, кто наступал на те же грабли? |
|||
|
#18+
у хаммера кстати есть проект для поиска (например слова TRUE) по всему аксессу : в коде, свойствах форм ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.09.2004, 11:27:15
|
|||
|---|---|---|---|
Перенос таблиц на SQL, логич-кие поля, кто наступал на те же грабли? |
|||
|
#18+
Потому как 0 = False, все остальное приводится к True, но True = -1... -> нужно исп-ть явное приведение типов или проверки на равенство нулю... если вы анализируете значение где-то в коде, а не только на галочку на форме любуетесь :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.09.2004, 00:31:03
|
|||
|---|---|---|---|
Перенос таблиц на SQL, логич-кие поля, кто наступал на те же грабли? |
|||
|
#18+
2 АлексейК Эьо проект не только дляч поиска, но и для облегчения сборки рабочих мест в группе из нескольких разработчиков по определённому стандарту... Но это как-нибудь при встрече лучше покажу - исходники за иной, кстатит - пиши... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=45&mobile=1&tid=1671694]: |
0ms |
get settings: |
4ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
30ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 283ms |

| 0 / 0 |
