Страница: 1 | 2 |
Вопрос: запрос на инвертирование
Добавлено: 25.12.06 03:05
Автор вопроса: Antibiotic
у меня в таблице есть чекбокс..
соответственно он принимает значения true или false..
можно ли поменять значение этого поля в каждой записи на обратное при помощи запроса на обновление?
в форме я сделал код для построчной переборки и исправления, но смущает скорость обработки.. с большим числом записей задержка будет все увеличиваться и увеличиватсья.. через запрос это было бы на порядок быстрее
Ответы
Всего ответов: 16
Номер ответа: 1
Автор ответа:
Antibiotic
Вопросов: 9
Ответов: 34
Профиль | | #1
Добавлено: 25.12.06 03:07
да и последовательный перебор в форме выглядит напряжно.. некрасиво когда перед тобой программа начинает крутить таблицу и править значения.. ((
Номер ответа: 2
Автор ответа:
shady
ICQ: 344149605
Вопросов: 0
Ответов: 10
Профиль | | #2
Добавлено: 25.12.06 08:07
Нужно почитать описание к Вашей БД. В SQL Server например true=1 false=0 и поле имеет тип Bit
Номер ответа: 3
Автор ответа:
Antibiotic
Вопросов: 9
Ответов: 34
Профиль | | #3
Добавлено: 25.12.06 11:48
даже если true=1 false=0..
у меня AccessXP..
Номер ответа: 4
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #4
Добавлено: 25.12.06 13:02
А почему нет? Что мешает тебе сделать запрос типа такого?
Номер ответа: 5
Автор ответа:
Antibiotic
Вопросов: 9
Ответов: 34
Профиль | | #5
Добавлено: 26.12.06 02:46
это односторонний запрос на обновление..
а для инвертирования нужен двухсторонний.. (
или я что то не понял?
Номер ответа: 6
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #6
Добавлено: 26.12.06 04:32
Ты каких-то умных терминов начитался но похоже не по назначению их используешь...
Номер ответа: 7
Автор ответа:
Antibiotic
Вопросов: 9
Ответов: 34
Профиль | | #7
Добавлено: 26.12.06 07:59
не начитался..
ну извините конечно пожалуйста что на ИТ факультет поступить невозможно и я учусь на экономике где слыхом не слыхивали о программировании..
извините что я самоучка и пытаюсь что то даже написать..
и изъясняюсь не академическими терминами а в меру своего понимания..
но какое это имеет отношение к моему вопросу?
я просто хочу знать есть ли возможность сделать инвертирование через запрос? если да то намекните как..
в программе у меня..
If F2.Form.select = True Then F2.Form.select = False Else F2.Form.select = True
F2.Form.Recordset.MoveNext
Next s
а как в запросе на обновление сделать if и else?
Номер ответа: 8
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #8
Добавлено: 26.12.06 08:38
А я, по твоему, в четвертом посте что сделал??
Именно ты что то и не понял.. Ты вообще, с SQL дело когда либо имел? В твоем случае F2.Form.Recordset - это набор записей, а в случае с запросом типа Update, как правило, никакого результирующего набора записей не возвращается. Update позволяет обновить махом необходимое количество записей НЕ перебирая их в цикле как у тебя...
И что в твоем понятии означает двусторонний запрос на обновление?
Номер ответа: 9
Автор ответа:
Antibiotic
Вопросов: 9
Ответов: 34
Профиль | | #9
Добавлено: 26.12.06 09:10
я знаю что такое запрос на обновление..
поэтому его и хочу использовать..
при нажатии кнопки обнуления у меня выполняется вот такое запрос..
сдесь если у чекбокса стояло true становится false и в результате у всех записей в таблице в этом поле стоит false..
сейчас же я хочу чтобы в таблице значения не обнулились а ПОМЕНЯЛИСЬ!
чтобы где было true стало false, а где было false стало true.. моих знаний нехватает для такого запроса.. а последовательно выполнить 2 запроса на обновление не имеет смысла.. тк после первого все значения станут одинаковыми..
наглядное изображение чего я хочу
true -> false
false -> true
true -> false
true -> false
Номер ответа: 10
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #10
Добавлено: 26.12.06 09:17
А угадай с одного раза, что произойдет если ты выполнишь такой запрос?
Номер ответа: 11
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #11
Добавлено: 26.12.06 09:20
ну извините конечно пожалуйста что на ИТ факультет поступить невозможно и я учусь на экономике где слыхом не слыхивали о программировании..
Это хорошо даже, на ИТ факультете могут полной ерисью голову забить
Ты не волнуйся главное - тут запрос все правильно делает - он как раз инвертирует значение логической переменой. NOT - унарная операция, из True она делает False, из False - True. То есть никакой проблемы на самом деле нет и эта задача - элементарная, бывают и посложнее.
Номер ответа: 12
Автор ответа:
Antibiotic
Вопросов: 9
Ответов: 34
Профиль | | #12
Добавлено: 26.12.06 09:30
извиняюсь.. действительно про NOT я ничего не знал..
спасибо
жаль что книги тоже дорогие и их покупка сводится к азартной игре.. 1000 руб и повезет что хорошая или неповезет что фуфел (
Номер ответа: 13
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #13
Добавлено: 26.12.06 10:05
имхо.. книги - фуфел не бывают.. Просто для каждой книги свое время.. Одни книги ты уже перерос.. а до других ты еще не дорос! Когда то (на заре программирования) мне подарили бестселлер.. Win32 API (Д.Аппельмана) Я тогда открыл ее - нифига не понял.. подумал что фуфуель и закрыл.. И только спустя какое то время я оценил эту книгу по достоинству...
Номер ответа: 14
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #14
Добавлено: 27.12.06 11:44
невозможно
И слава богу, что невозможно. Лучше вообще не поступать никуда, если
хочешь избежать маразма. Это великая дезинформация нашего времени: ВУЗ
готовит не специалистов, а профессиональных рабов.
Номер ответа: 15
Автор ответа:
Antibiotic
Вопросов: 9
Ответов: 34
Профиль | | #15
Добавлено: 28.12.06 16:13
я не жду что в ВУЗе на ИТ факультете из меня сделают специалиста..
Просто верю что там я бы мог получить базовые знания от которых дальше бы отталкивался..
а на самом деле поверьте нет ничего хуже учиться на факультете на котором не интересно..
сколько меня не учат эконом из меня никудишный.. этож надо додуматься пользоваться судебным делом для получения денег..
порой экономисты не лучше адвокатов..