Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / sahranenie danih,Save / 11 сообщений из 11, страница 1 из 1
07.03.2006, 22:32
    #33587784
maris10
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sahranenie danih,Save
Mne ests knopka "Save", ja vazhu danie v texbox, i mne nada shtobi ja nazhal knopku "Save" i danie katorie ja zapisal sahranalis v .dbf.

Mne nada zapolnits IMA,FAMILEE,ADRES itakdalie..

Help!!
...
Рейтинг: 0 / 0
07.03.2006, 23:02
    #33587804
maris10
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sahranenie danih,Save
Nu pamagite pazhalusta milee ludzi
...
Рейтинг: 0 / 0
07.03.2006, 23:23
    #33587821
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sahranenie danih,Save
Так народ гуляет уже Кроме того, сам вопрос... М-да...

1) Открываешь DataEnvironment формы (пункт меню View - DataEnvironment)

2) Добавляешь в DataEnvironment ту таблицу, в которой собственно и храняться нужные тебе данные

3) Там же в DataEnvironment для добавленной таблицы устанавливаешь в окне Properties свойство

BuferModeOverride = 5 - Optimistic Table Buffering

Быстрее можно найти это свойство на закладке Data окна Properties

4) В DataEnvironment в добавленной таблице находишь нужное поле. Нажимаешь на него левой клавишей мыши и не отпуская, тащишь это поле в область формы. Затем отпускашь клавишу мыши. На форму будет добавлено 2 объекта: Label с названием поля и TextBox или EditBox для модификации содержимого поля

Повтори эту операцию для всех нужных полей таблицы.

Закрывай окно DataEnvironment. Больше оно не потребуется

5) Щелкни по пустому месту формы и в окне Properties устнови значение

DataSession = 2 - Private DataSession

Быстрее можно найти это свойство на закладке Data окна Properties

6) В окне Properties найди событие Init Events. Быстрее это можно сделать на закладке Methods окна Properties. Дважды щелкни левой клавишей мыши по этой строчке. Откроется окно редактирования кода события.

Здесь тебе придется каким-то образом позиционироваться на нужную запись. Пока просто установи указатель записи на первую запись.

Код: plaintext
1.
2.
SELECT MyTab
GO TOP

Здесь MyTab - это имя добавленной в DataEnvironment таблицы.

7) Теперь собственно переходим к кнопке "Сохранить". Дважды щелкни по этой кнопке и откроется окно редактирования события Click данной кнопки. В нем пишешь такой код:

Код: plaintext
1.
2.
3.
4.
5.
IF TableUpdate(.T.,.T.,"MyTab")=.F.
	LOCAL laError( 1 )
	AERROR(laError)
	MessageBox("Сохранить данные не удалось. Произошла ошибка №"+TransForm(laError[ 1 , 1 ]))
ENDIF

Это краткая инструкция создания простейшей формы редактирования первой записи таблицы. Без пояснений.
...
Рейтинг: 0 / 0
07.03.2006, 23:32
    #33587824
?
?
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sahranenie danih,Save
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
* Метод Click кнопки "Save"
LOCAL lcIMA, lcFAMILEE, lcADRES, ..... 

lcIMA = ThisForm.txtIMA.Value
lcFAMILEE = ThisForm.txtFAMILEE.Value
lcADRES = ThisForm.txtADRES.Value
.
.
INSERT INTO <имя таблицы где нужно сохранить> (IMA,FAMILEE,ADRES, ... ) ;
      VALUES (lcIMA, lcFAMILEE, lcADRES, ...)

...
Рейтинг: 0 / 0
09.03.2006, 21:53
    #33591168
maris10
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sahranenie danih,Save
Mne vot vishlo tak. Ja nazhimaju "Save" kagbi sahranaet. No v forme pakazivaet pervuju zapis,kas zdelats shtobi pakazival tu katoruju zapisal.
...
Рейтинг: 0 / 0
09.03.2006, 22:31
    #33591209
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sahranenie danih,Save
-) А что ты написал в этом самом Save?
-) Где ты просматриваешь записи? Каким образом ты позиционируешся на эту первую запись?

Либо приложи сюда фрагмент твоей проги, либо расписывай все подробно. Никто ведь не силит с тобой рядом и не видит что у тебя написано.
...
Рейтинг: 0 / 0
09.03.2006, 22:48
    #33591226
maris10
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sahranenie danih,Save
LOCAL lcVards,lcUzvards,lcPesonas_kods,lcAdrese,lcIzglitiba,lcTalrunis,lcE_pasts
lcVards=thisform.txtAdrese.Value
lcUzvards=thisform.txtUzvards.value
lcPersonas_kods=thisform.txtPersonas_kods.Value
lcAdrese=thisform.txtAdrese.Value
lcIzglitiba=thisform.combo1.Value
lcTalrunis=thisform.txtTalrunis.Value
lcE_pasts=thisform.txtE_pasts.Value
INSERT INTO darbinieki(Vards,Uzvards,Personas_kods,Adrese,Izglitiba,Talrunis,E_pasts);
values (lcVards,lcUzvards,lcPersonas_kods,lcAdrese,lcIzglitiba,lcTalrunis,lcE_pasts)
_screen.ActiveForm.release()

Vot shto mne napisana.
...
Рейтинг: 0 / 0
09.03.2006, 23:18
    #33591261
?
?
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sahranenie danih,Save
maris10
Mne vot vishlo tak. Ja nazhimaju "Save" kagbi sahranaet. No v forme pakazivaet pervuju zapis,kas zdelats shtobi pakazival tu katoruju zapisal.


согласно коду –
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
LOCAL lcVards,lcUzvards,lcPesonas_kods,lcAdrese,lcIzglitiba,lcTalrunis,lcE_pasts
lcVards=thisform.txtAdrese.Value
lcUzvards=thisform.txtUzvards.value
lcPersonas_kods=thisform.txtPersonas_kods.Value
lcAdrese=thisform.txtAdrese.Value
lcIzglitiba=thisform.combo1.Value
lcTalrunis=thisform.txtTalrunis.Value
lcE_pasts=thisform.txtE_pasts.Value
INSERT INTO darbinieki(Vards,Uzvards,Personas_kods,Adrese,Izglitiba,Talrunis,E_pasts);
values (lcVards,lcUzvards,lcPersonas_kods,lcAdrese,lcIzglitiba,lcTalrunis,lcE_pasts)
_screen.ActiveForm.release()

после добавления, форма должна– вообще исчезнуть.

Ты можешь выложить скриншот формы?
...
Рейтинг: 0 / 0
10.03.2006, 00:03
    #33591287
?
?
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sahranenie danih,Save
2maris10
Кстати еще вопрос, с какой версией Foxa ты работаешь?
Есть ли у тебя в таблицах, поле типа – Autoinc или созданный самим - его аналог, для однозначной идентификации строки в таблице?
...
Рейтинг: 0 / 0
12.03.2006, 16:17
    #33595009
maris10
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sahranenie danih,Save
Ja rabotju v 8 versii, i v tablice netu auto..
...
Рейтинг: 0 / 0
12.03.2006, 17:42
    #33595043
Владимир СА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sahranenie danih,Save
maris10Mne vot vishlo tak. Ja nazhimaju "Save" kagbi sahranaet. No v forme pakazivaet pervuju zapis,kas zdelats shtobi pakazival tu katoruju zapisal.
maris10LOCAL lcVards,lcUzvards,lcPesonas_kods,lcAdrese,lcIzglitiba,lcTalrunis,lcE_pasts
lcVards=thisform.txtAdrese.Value
lcUzvards=thisform.txtUzvards.value
lcPersonas_kods=thisform.txtPersonas_kods.Value
lcAdrese=thisform.txtAdrese.Value
lcIzglitiba=thisform.combo1.Value
lcTalrunis=thisform.txtTalrunis.Value
lcE_pasts=thisform.txtE_pasts.Value
INSERT INTO darbinieki(Vards,Uzvards,Personas_kods,Adrese,Izglitiba,Talrunis,E_pasts);
values (lcVards,lcUzvards,lcPersonas_kods,lcAdrese,lcIzglitiba,lcTalrunis,lcE_pasts)
_screen.ActiveForm.release()У тебя какое поле отвечает за уникальность записи в таблице darbinieki? Если его нет, то ты должен был создать его. Т.е. предположим, что этого поля нет (или по крайне мере я его неувидел), тогда его надо создать (его обозначают обычно Id). И перед INSERT-ом его надобы определить (если оно не AUTOINC, это отдельная песня) и тогда твой INSERT выглядел бы примерно так:
Код: plaintext
1.
INSERT INTO darbinieki(Id,Vards,Uzvards,Personas_kods,Adrese,Izglitiba,Talrunis,E_pasts);
values (<Нов.значение>,lcVards,lcUzvards,lcPersonas_kods,lcAdrese,lcIzglitiba,lcTalrunis,lcE_pasts)
А теперь в событии UNLOAD формы прописать:
Код: plaintext
RETURN <Нов.значение>
Но в форме в которой ты вызвал эту форму-редактор записи ты должен получить это <новое значение>, т.е. должна была быть команда вызова формы такой:
Код: plaintext
DO FORM <форма-редактор записи> TO m.n_id
Т.е. вот вернувшись обратно из формы мы получили это новое значение m.n_id и т.к. это значение уникально для таблицы darbinieki , вот теперь мы и находим эту запись:
Либо (если построен индекс по уникальному ключу)
Код: plaintext
1.
2.
IF SEEK(m.n_id, "darbinieki", "Id")
  * здесь нашли запись
ENDIF
Либо через LOCATE
Код: plaintext
1.
SELECT darbinieki
LOCATE FOR darbinieki.id = m.n_id
Кому как нравится.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / sahranenie danih,Save / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]