|
Помогите с refresh
|
|||
---|---|---|---|
#18+
Доброго времени суток! Мне нужно чтоб на форме, куда вводятся данные о клиенте, были пустые поля для заполнения. Но когда я запускаю форму, то у меня все время в полях значения, которые были введены в последний раз. Как это исправить? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2010, 01:54 |
|
Помогите с refresh
|
|||
---|---|---|---|
#18+
А какой ControSource у этих полей? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2010, 06:12 |
|
Помогите с refresh
|
|||
---|---|---|---|
#18+
тип - текстовое поле ControlSource - клиент.фамилия ControlSource - клиент.имя и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2010, 12:38 |
|
Помогите с refresh
|
|||
---|---|---|---|
#18+
tim07тип - текстовое поле ControlSource - клиент.фамилия ControlSource - клиент.имя и т.д. append blank или insert (SQL) для "клиент", затем по необходимости tableupdate,tablerevert ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2010, 13:24 |
|
Помогите с refresh
|
|||
---|---|---|---|
#18+
А как использовать tableupdate и tablerevert? Чтобы после добавления записей поля очищались, и во время следующего запуска были пустыми? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2010, 16:16 |
|
Помогите с refresh
|
|||
---|---|---|---|
#18+
Если в качестве источника данных (ControlSource) указаны поля таблицы, то это означает, что редактирование данных напрямую изменяет содержимое текущей записи таблицы. Как следствие, всегда должна существовать запись, поля которой будут редактироваться. Если хотите заполнять поля новой записи, то эта новая запись должна быть создана до начала редактирования. Физически. Как и было сказано, командой APPEND BLANK Эту команду надо дать в init-формы Но прямое и непосредственное редактирование записей таблицы - не есть хорошо. По многим причинам. Поэтому, необходимо разделить процесс ввода/модификации данных от собственно записи внесенных изменений в таблицу. Для этой цели используется технология буферизации. Существует 4 типа буферизации. Наложить их можно разными способами. Наиболее простой - это в форме открыть DataEnvironment, выделить нужную таблицу и в окне Properties установить свойство BufferModeOverride = 5 -Optimistic table buffering В результате, "поверх" табличных данных как бы накладывается прозрачная "калька". Пользователю кажется, что запись идет напрямую в таблицы, однако на практике, запись идет именно на эту прозрачную "кальку". По окончании процесса ввода изменений пользователь либо принимает все внесенные модификации (дает команду TableUpdate()) и изменения переносятся с кальки в собственно таблицу, либо отвергает все изменения (дает команду TableRevert()) и калька просто уничтожается, ничего не перенося в исходную таблицу. Если вы дали команду APPEND BLANK в буферизированной таблицы, то TableRevert() автоматически "откатит" создание новой записи. Т.е. физически, новая запись создана не будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2010, 15:22 |
|
Помогите с refresh
|
|||
---|---|---|---|
#18+
Вставил append blank в инит формы, и выбрал тип буферизации в dataenvironment -5. Но все равно при запуске формы поля заполнены данными из первой записи. Может нужно создать локальное представление, и уже с ним работать? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2010, 01:23 |
|
Помогите с refresh
|
|||
---|---|---|---|
#18+
А ты уверен, что Append blank кошерный? В смысле , в правильную ли таблицу вставляется запись? Сделай так APPEND BLANK IN Моя_таблица ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2010, 05:12 |
|
Помогите с refresh
|
|||
---|---|---|---|
#18+
Dag, спасибо! Теперь запись добавляется при запуске формы, но вот как использовать tableupdate() и tablerevert() для меня непонятно. Попытался вот так - IF messagebox("Ñîõðàíèòü äàííûå?",1+32+0,"Ñîõðàíåíèå")=1 TABLEUPDATE() ELSE TABLEREVERT() endif Но выдает ошибку - Function requires row or table buffering mode (Error 1586) Хотя я в DataEnvironment добавил эту таблицу и поставил buffering mod = 5. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2010, 10:50 |
|
Помогите с refresh
|
|||
---|---|---|---|
#18+
Возможно, эта та же ошибка - не выбрана нужная таблица в качестве текущей. Предварительно можно дать команду select моя_таблица ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2010, 11:25 |
|
Помогите с refresh
|
|||
---|---|---|---|
#18+
Да, действительно! Спасибо, Dag!!! Еще одна проблема -- есть календарь (ActiveX control), в нем нужно выбрать дату, и, нажав на определенную кнопку, проверить - существует ли такая дата в таблице и, если есть, вывести на форму в какой-нибудь контейнер? Формат даты в таблице -- datetime. "Время" выбирать не нужно, только дату. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2010, 13:33 |
|
Помогите с refresh
|
|||
---|---|---|---|
#18+
Календарь ActiveX control не входит в число стандартных контролов FoxPro. Если со стандартными еще работать не научился, не берись за ActiveX. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2010, 13:49 |
|
Помогите с refresh
|
|||
---|---|---|---|
#18+
Календарь вернет дату , например m.MyDate тогда LOCATE FOR DTOS(моя_таблица.нужное_поле_даты_времени)==DTOS(m.MyDate) IF FOUND() *нашли else * не нашли endif ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2010, 13:51 |
|
Помогите с refresh
|
|||
---|---|---|---|
#18+
Спасибо огромное! Dag! Все получилось без проблем!=))) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2010, 18:27 |
|
Помогите с refresh
|
|||
---|---|---|---|
#18+
Снова проблема! Значение из календаря сравнивается только с одной записью из таблицы! Вот мой код: a_date=ThisForm.Text1.Value LOCATE FOR DTOS(rejs.time_otpr)==DTOS(a_date) IF FOUND() IF MESSAGEBOX("Åñòü ðåéñû â óêàçàííûé äåíü. Ïðîäîëæèòü îôîðìëåíèå áèëåòîâ?",1+32+0,"Óñïåøíî!")=1 thisformset.form6.Hide thisformset.form7.Show ENDIF ELSE messagebox("Íåò ðåéñîâ â óêàçàííûé äåíü!",1+32+0,"Îøèáêà!") ENDif text1 это значение из календаря! Помогите пожалуйста! ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2010, 13:25 |
|
|
start [/forum/topic.php?fid=41&fpage=99&tid=1585329]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
23ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
70ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 145ms |
0 / 0 |