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

start [/forum/topic.php?fid=45&fpage=1557&tid=1671694]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
41ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
4ms |
| others: | 233ms |
| total: | 379ms |

| 0 / 0 |
