powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / sahranenie danih,Save
11 сообщений из 11, страница 1 из 1
sahranenie danih,Save
    #33587784
maris10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
sahranenie danih,Save
    #33587804
maris10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nu pamagite pazhalusta milee ludzi
...
Рейтинг: 0 / 0
sahranenie danih,Save
    #33587821
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так народ гуляет уже Кроме того, сам вопрос... М-да...

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

Либо приложи сюда фрагмент твоей проги, либо расписывай все подробно. Никто ведь не силит с тобой рядом и не видит что у тебя написано.
...
Рейтинг: 0 / 0
sahranenie danih,Save
    #33591226
maris10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
sahranenie danih,Save
    #33591261
?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
?
Гость
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
sahranenie danih,Save
    #33591287
?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
?
Гость
2maris10
Кстати еще вопрос, с какой версией Foxa ты работаешь?
Есть ли у тебя в таблицах, поле типа – Autoinc или созданный самим - его аналог, для однозначной идентификации строки в таблице?
...
Рейтинг: 0 / 0
sahranenie danih,Save
    #33595009
maris10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ja rabotju v 8 versii, i v tablice netu auto..
...
Рейтинг: 0 / 0
sahranenie danih,Save
    #33595043
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
11 сообщений из 11, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / sahranenie danih,Save
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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