Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » VBA for Access

Модерирует : ShIvADeSt

ShIvADeSt (14-09-2011 00:58): Все обсуждение тут http://forum.ru-board.com/topic.cgi?forum=33&topic=0357&start=1180  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

   

jek1976



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ни хрена не выходит.
Перепробовал события Change, AfterUpdate.
При изменении текста в TextBox'е и прочтении его свойства  .Text при событии Change (или AfterUpdate), оказывается, что значение свойства не изменено, хотя визуально в этом TextBox'е на форме - изменения ЕСТЬ!
 
dneprcomp, я забыл упомянуть про то, что этот TextBox связан с полем БД. Может быть, изменение  содержимого TextBox'а на форме не отражается на значении его свойства .Text до тех пор, пока изменения не попадут в запись БД (написал несколько путанно, но смысл, думаю, понятен)?
 
 
 

Всего записей: 1057 | Зарегистр. 15-04-2005 | Отправлено: 13:21 06-07-2009 | Исправлено: jek1976, 13:36 06-07-2009
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jek1976

Цитата:
этот TextBox связан с полем БД. Может быть, изменение  содержимого TextBox'а на форме не отражается на значении его свойства .Text до тех пор
Может быть. Для чего TextBox, предназначеный для поиска, привязан к базе?! Ты же с него даные в базу заносить не дожен и не будешь.  
Отвяжи все контролы связаные с формированием строки и попробуй

Всего записей: 3923 | Зарегистр. 31-03-2002 | Отправлено: 20:42 06-07-2009 | Исправлено: dneprcomp, 20:42 06-07-2009
jek1976



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Для чего TextBox, предназначеный для поиска, привязан к базе?! Ты же с него даные в базу заносить не дожен и не будешь.

Наоборот, обсуждаемый TextBox НЕ предназначен для поиска, а служит для занесения и показа содержимого определенного поля при перемещении по БД. Я об этом раньше уже написал: с поля "Название" данные должны попадать в определенное поле строки БД.
 
 
Добавлено:
А если мне попробовать перейти на чистый VB, чтобы не иметь геморроя с событиями в Access, логику которых, мягко говоря, сложно уяснить даже методом научного тыка? Что дополнительно может потребоваться из инструментальных средств?

Всего записей: 1057 | Зарегистр. 15-04-2005 | Отправлено: 20:50 06-07-2009
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jek1976

Цитата:
Наоборот, обсуждаемый TextBox НЕ предназначен для поиска, а служит для занесения и показа содержимого определенного поля при перемещении по БД


Цитата:
При изменении текста в TextBox'е и прочтении его свойства  .Text при событии Chan
Я так понимаю, что при внесении юзером изменений в данный TextBox переформируется строка на Change. Если так, то TextBox не должен быть привязан к базе. А если должен, то, возможно,  change происходит только после update рекорда.
А update для привязанных контролов, если я не ошибаюсь, происходит на LostFocus  
 

Цитата:
Что дополнительно может потребоваться из инструментальных средств?  
Если имеется в виду VB6, то стандартных контролов(инсталлируются вместе с VB6) хватит.
 
PS.Работа с привязаными контролами не есть хорошо.
 

Всего записей: 3923 | Зарегистр. 31-03-2002 | Отправлено: 23:13 06-07-2009
jek1976



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
PS.Работа с привязаными контролами не есть хорошо.

"Привязанный" к полю БД?
Ну а если контрол "отвязать" от поля БД, то каким образом тогда заносить значения из БД в эти "отвязанные" контролы?

Всего записей: 1057 | Зарегистр. 15-04-2005 | Отправлено: 20:22 07-07-2009 | Исправлено: jek1976, 20:28 07-07-2009
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jek1976
Через VBA код.  Лучший контроль за действиями юзера; более гибкая логика; лучшая сохранность даных.
 
http://www.everythingaccess.com/tutorials.asp?ID=VBA-Traps%3A-Working-with-Recordsets
http://blogs.techrepublic.com.com/10things/?p=373
http://bioinfo.unice.fr/enseignements/EPU_2005/Master_bd/Session9/DoCmd.RunSQL.html
 
PS. Если юзер вносит что-либо в привязанный контрол, то даные в базе будут изменены.

Всего записей: 3923 | Зарегистр. 31-03-2002 | Отправлено: 21:37 07-07-2009 | Исправлено: dneprcomp, 21:51 07-07-2009
jek1976



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вот, попробовал отвязать контрол (пока только один).
Ситуация аналогичная.
 
 

Цитата:
Через VBA код.

А смысл какой здесь в использовании именно VBA? Ведь в Access форму придется создавать только программным способом в момент выполнения, а это не совсем удобно. По крайней мере, я не нашел в Access способов добавления готовой формы - "чистой", такой, как в Visual Basic 6, Excel или в Word...
Access'овская форма, которая разделена на область данных, заголовок и подвал, имеет те неудобства, с которыми я столкнулся - неясную работу событийных процедур, зависящую от обновления записей в БД. Это мое впечатление.
 
Можно ли использовать "стационарный" Visual Basic 6.0?

Всего записей: 1057 | Зарегистр. 15-04-2005 | Отправлено: 23:30 07-07-2009
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jek1976

Цитата:
Можно ли использовать "стационарный" Visual Basic 6.0?

Сколько угодно

Цитата:
Ведь в Access форму придется создавать только программным способом в момент выполнения, а это не совсем удобно
С какой стати именно в момент выполнения? Если перестать пользоваться визардами(а мне кажется, что именно пользуешься), то создаешь все формы заранее. Точно так же как и в VB.
Цитата:
По крайней мере, я не нашел в Access способов добавления готовой формы - "чистой", такой, как в Visual Basic 6
Там же где и New Table, New Query
 

Всего записей: 3923 | Зарегистр. 31-03-2002 | Отправлено: 00:19 08-07-2009 | Исправлено: dneprcomp, 00:19 08-07-2009
jek1976



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Если перестать пользоваться визардами(а мне кажется, что именно пользуешься),

Нет, только конструктором. Кстати, вставку формы нашел, но результат работы с событиями - тот же...

Всего записей: 1057 | Зарегистр. 15-04-2005 | Отправлено: 02:16 08-07-2009
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jek1976
Визард и конструктор одно и тоже

Цитата:
результат работы с событиями - тот же
Конечно тот же. Вот так вот Access работает.

Всего записей: 3923 | Зарегистр. 31-03-2002 | Отправлено: 07:56 08-07-2009
jek1976



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Блин горелый!
А как же тогда создавать?
 

Цитата:
Там же где и New Table, New Query  

Это в верхней менюшке?
 
 
 

Всего записей: 1057 | Зарегистр. 15-04-2005 | Отправлено: 17:46 08-07-2009 | Исправлено: jek1976, 17:57 08-07-2009
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jek1976
Похоже, да. Я не использую руссие версии(ну так сложилось), т.ч. как перевели то или иное меню сказать не могу.
Но когда добавляешь новую форму, надо отказаться от всех конструкторов. Просто добавить голую форму. Потом с панели инструментов(контролов) добавляем вручную все что надо: textbox, labels и т.п.  
 
Кстати, вон же видно: "СОЗДАТЬ"

Всего записей: 3923 | Зарегистр. 31-03-2002 | Отправлено: 20:35 08-07-2009 | Исправлено: dneprcomp, 20:48 08-07-2009
jek1976



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вот так я и делал

Всего записей: 1057 | Зарегистр. 15-04-2005 | Отправлено: 20:38 08-07-2009
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jek1976
А "СОЗДАТЬ" прбовал?

Всего записей: 3923 | Зарегистр. 31-03-2002 | Отправлено: 20:49 08-07-2009
jek1976



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
А "СОЗДАТЬ" прбовал?

Делаю так (других команд нет), как в менюшке на рисунке:
 
 

Всего записей: 1057 | Зарегистр. 15-04-2005 | Отправлено: 11:38 09-07-2009
ZlydenGL



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jek1976, перейди на вкладку "Формы", и уже там нажми "Создать"

----------
Переработал: втыкая аккумулятор в шуруповерт пытаешься передёрнуть затвор

Всего записей: 4306 | Зарегистр. 22-06-2002 | Отправлено: 13:14 09-07-2009
jek1976



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ну ведь там же есть только Мастер и Конструктор (не считая Автоформ, Диаграмм и Сводных таблиц, которые не подойдут), а ты ранее говорил, что это одно и то же! Вот скриншот:
 

Всего записей: 1057 | Зарегистр. 15-04-2005 | Отправлено: 13:34 09-07-2009
ZlydenGL



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jek1976, чтобы создать ПУСТУЮ форму - запускай КОНСТРУКТОР и уже в нем тащи в тело формы нужные тебе поля, предварительно указав, какую таблицу использовать в качестве базиса.
 
Добавлено:
Совсем потерял нить рассуждений. jek1976, можешь еще раз суть проблемы в ЛС изложить? Или здесь суммировать, чтобы не лазить назад?

----------
Переработал: втыкая аккумулятор в шуруповерт пытаешься передёрнуть затвор

Всего записей: 4306 | Зарегистр. 22-06-2002 | Отправлено: 13:47 09-07-2009
jek1976



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ОК, попытаюсь изложить снова.

Всего записей: 1057 | Зарегистр. 15-04-2005 | Отправлено: 13:52 09-07-2009
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jek1976
http://databases.about.com/od/tutorials/ss/forms_4.htm
http://databases.about.com/od/tutorials/ss/forms.htm
Да перепробуй ты все пункты с конструктора и вниз и найди нужный
Кто может помнить и знать всевозможные переводы меню для всех версий Access?...

Всего записей: 3923 | Зарегистр. 31-03-2002 | Отправлено: 20:00 09-07-2009
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » VBA for Access
ShIvADeSt (14-09-2011 00:58): Все обсуждение тут http://forum.ru-board.com/topic.cgi?forum=33&topic=0357&start=1180


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru