Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / ???что к чему я не пойму??? / 25 сообщений из 36, страница 1 из 2
11.01.2010, 15:17
    #36403644
Liprikon7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
???что к чему я не пойму???
Ребята помогите с проблемой я раньше программы не когда не писал, а это надобность заставила.
Вопрос такой, как сделать так чтоб поля выбранные через комбобоксы из одной таблицы сохранялись в другую?
Как сделать счетчик для таблицы, чтобы когда в неё добавлялись записи в ней автоматом нумеровались строки?
Какой программный код нужно прицепить к кнопке чтоб при нажатии на неё все данные сохранялись?
Заранее спасибо.
(и может кто знает где найти литературу для такого рода ответов?)
...
Рейтинг: 0 / 0
11.01.2010, 15:52
    #36403710
AmKad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
???что к чему я не пойму???
Liprikon7,

Счетчик - поле Integer (AutoInc)

Чтобы данные сохранялись - выбрать буферизацию формы - Optimistic и сохранять через TableUpdate() - подробнее в хэлпе.

Комбобокс - Combo
настроить свойства
Код: plaintext
1.
2.
3.
4.
5.
Combo.RowSourceType    = SqlStatement
Combo.RowSource        = select id, field1 from myTable1 into cursor curTemp order by field1
Combo.ColumnWidths     =  0 , 400 
Combo.BoundColumn      =  2 
Combo.ControlSource    = MyTable2.table1_id
Сохраняться будет значение id из myTable1 в поле MyTable2.table1_id. В комбо будет показано field1.

как-то так
...
Рейтинг: 0 / 0
11.01.2010, 17:42
    #36403949
LUCIAN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
???что к чему я не пойму???
...
Рейтинг: 0 / 0
11.01.2010, 23:23
    #36404376
Liprikon7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
???что к чему я не пойму???
спасибо за ответы AmKad и LUCIAN,
только я нечего не понял, вы не могли бы поподробнее?
Пожалуйста очень надо!
...
Рейтинг: 0 / 0
12.01.2010, 10:30
    #36404700
LUCIAN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
???что к чему я не пойму???
Liprikon7,
В таблицу путевые листы:
СТРУКТУРА P_LIST -путевые листы

1 N_PUT C(10,0)
2 DATA_P D(8,0)
3 LIC_KAR C(10,0)
4 KODA C(3,0)
5 TN_WOD C(5,0)
6 REZIM C(1,0)
7 SOPR_OTD C(3,0)
8 KODP C(3,0)
9 ID_PUT I(4,0)
10 DNK N(2,0)
На основании справочников:

СТРУКТУРА SP_AWT-справочник автомобилей

1 NAM C(49,0)
2 DWWODA D(8,0)
3 DAT_IZN D(8,0)
4 N_LICENZ C(10,0)
5 PRAW C(1,0)
6 PRTOP C(1,0)
7 ID_AWT I(4,0)

СТРУКТУРА SOTRUD-справочник сотрудников(водителей)

1 TN C(5,0)
2 FIO C(40,0)
3 NACO L(1,0)
4 DR D(8,0)
5 KRAB C(1,0)
6 SPEC C(4,0)
7 DATP D(8,0)
8 UFIO C(25,0)
надо ввести KODA , TN_WOD (код автомобиля,таб.№ водителя)
для этого используется Grid следующей структуры:
Код: plaintext
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.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
 	ADD OBJECT form1.pageframe1.page1.grdl_put AS grid WITH ;
		ColumnCount =  9 , ;
		DeleteMark = .F., ;
		HeaderHeight =  40 , ;
		Height =  269 , ;
		Left = - 3 , ;
		Panel =  1 , ;
		RecordSource = "l_put", ;
		RecordSourceType =  1 , ;
		RowHeight =  23 , ;
		Top =  14 , ;
		Width =  744 , ;
		Name = "grdL_put", ;
	*- - - - - - - - - - - - - - 
		Column4.ControlSource = "l_put.koda", ;
		Column4.Width =  146 , ;
		Column4.Sparse = .F., ;
		Column4.Name = "Column4", ;
		Column5.ControlSource = "l_put.tn_wod", ;
		Column5.Width =  124 , ;
		Column5.Sparse = .F., ;
		Column5.Name = "Column5", ;
		Column6.ControlSource = "l_put.rezim", ;
		Column6.Width =  96 , ;
		Column6.Sparse = .F., ;
		Column6.Name = "Column6", ;
		Column7.ColumnOrder =  8 , ;
		Column7.ControlSource = "l_put.sopr_otd", ;
		Column7.Width =  163 , ;
		Column7.Sparse = .F., ;
		Column7.Name = "Column7", ;
		Column8.ColumnOrder =  9 , ;
		Column8.ControlSource = "l_put.kodp", ;
		Column8.Width =  143 , ;
		Column8.Sparse = .F., ;
		Column8.Name = "Column8", ;
		Column9.ColumnOrder =  7 , ;
		Column9.ControlSource = "l_put.DNK", ;
		Column9.Width =  52 , ;
		Column9.Name = "Column9"


*- - - - - - 
	ADD OBJECT form1.pageframe1.page1.grdl_put.column4.header1 AS header WITH ;
		FontSize =  10 , ;
		Alignment =  2 , ;
		Caption = "Автомобиль", ;
		Name = "Header1"


	ADD OBJECT form1.pageframe1.page1.grdl_put.column4.combo1 AS combobox WITH ;
		BoundColumn =  2 , ;
		ColumnCount =  2 , ;
		ColumnWidths = "233,30", ;
		RowSourceType =  3 , ;
		RowSource = ['SELECT NAM,PADR(ID_AWT,3) AS KODA,N_LICENZ FROM SP_AWT WHERE SP_AWT.PRAW IN ("1","3") ORDER BY NAM INTO CURSOR CAWT'], ;
		ControlSource = "P_LIST.KODA", ;
		Height =  24 , ;
		Left =  296 , ;
		Style =  2 , ;
		Top =  35 , ;
		Width =  263 , ;
		Name = "Combo1"


	ADD OBJECT form1.pageframe1.page1.grdl_put.column5.header1 AS header WITH ;
		FontSize =  10 , ;
		Alignment =  2 , ;
		Caption = "Водитель", ;
		Name = "Header1"


	ADD OBJECT form1.pageframe1.page1.grdl_put.column5.combo1 AS combobox WITH ;
		BoundColumn =  2 , ;
		ColumnCount =  2 , ;
		ColumnWidths = "120,36", ;
		RowSourceType =  3 , ;
		RowSource = "SELECT UFIO,TN FROM SOTRUD ORDER BY UFIO INTO CURSOR CWOD", ;
		ControlSource = "P_LIST.TN_WOD", ;
		Height =  24 , ;
		Left =  108 , ;
		Style =  2 , ;
		Top =  36 , ;
		Width =  156 , ;
		Name = "Combo1"
...
Рейтинг: 0 / 0
12.01.2010, 11:23
    #36404818
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
???что к чему я не пойму???
Liprikon7только я нечего не понял, вы не могли бы поподробнее?
У большинства объектов FoxPro есть такое свойство ControlSource. В этом свойстве указывается то, куда будет записан результат выбора/ввода значения в соответсвующий объект.

Также значение поля, указанного в ControlSource определяет значение, которое будет отображено при открытии формы.

Например, если указать в ComboBox.ControlSource имя поля таблицы, то результат выбора ComboBox автоматически будет записан в текущую запись указанной таблицы в указанное поле.

Для ComboBox источником данных выпадающего списка является то, что будет указано в свойстве ComboBox.RowSource. В паре к этому свойству задействуется еще свойство ComboBox.RowSourceType, которое определяет тип того, что указано в ComboBox.RowSource

Дополнительная проблема заключается в том, что, как правило, необходимо отобразить в ComboBox значение одного поля таблицы, а записать значение другого поля выбранной записи. Эта проблема решается путем выбора в качестве источника данных выпадающего списка нескольких столбцов. Отображатся будет первый столбец, а выбираться значение второго.

Из какого именно столбца надо выбрать значение, указывается в свойстве ComboBox.BoundColumn. А чтобы скрыть (не отображать) второй столбец ему указывается ширина в 0 пикселей через свойство ComboBox.ColumnWidths.

Если выбираемое значение имеет числовой тип данных, то необходимо еще дополнительно установать свойств ComboBox.BoundTo = .T. Правда, с этим может быть связана проблема, подробно описанная здесь

Не отображается выбранное значение в ComboBox

Насчет литературы, вот здесь http://www.foxclub.ru/ есть ссылка на 3 книги.
...
Рейтинг: 0 / 0
12.01.2010, 11:49
    #36404880
Liprikon7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
???что к чему я не пойму???
Ребята спасибо вам за ответы я сейчас попробую а вечером отпишусь.
Кстати литература по вашей ссылке ВладимирМ супер! вот только приобрести её у меня возможности нет, а скачать не откуда.
...
Рейтинг: 0 / 0
12.01.2010, 14:36
    #36405352
Liprikon7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
???что к чему я не пойму???
Ну вот опять проблема.
Запись из поля n_doma.n_doma не хочет добовлятся в комбобокс.
Выдаёт ошибку: Error #107 in Resetcolumn (0): Несовпадение типа оператора и операнда.
Я немного распишу как устроена моя база может кто что и посоветует.

У меня есть 6 таблиц, картинку я прикрепил, если не отобразится тогда можно скачать здесь 25кб.

Таблица: ARJ это главная таблица, сюда будет формироваться весь архив
Таблица: KLAS здесь выбирается из списка комбобокса поле name (вид отопления)
Таблица: UTHASTOK принцип тот же здесь выбирается из списка комбобокса поле name (участок)
Таблица: UL здесь выбирается из списка комбобокса поле name (улица)
Таблица: KOTELNAY здесь выбирается из списка комбобокса поле name (котельная)
Таблица: N_doma здесь выбирается из списка комбобокса поле name (номер дома)

Возможно вы спросите зачем такая структура базы?
Дело в том что мне надо чтобы при выборе определённых полей из таблиц улица и котельная автоматически можно было выбрать только те дома из таблицы дома которые соответствуют полям таблиц улица и котельная, ну и соответственно при выборе всех трёх значений должен формироваться признак в таблицу ARJ (архив).
...
Рейтинг: 0 / 0
12.01.2010, 15:48
    #36405579
AmKad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
???что к чему я не пойму???
Liprikon7,

В какой момент возникает ошибка?
...
Рейтинг: 0 / 0
12.01.2010, 17:04
    #36405821
Liprikon7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
???что к чему я не пойму???
Сразу же при попытке в Buildere добавить поле в Selected fields:.
...
Рейтинг: 0 / 0
12.01.2010, 17:20
    #36405892
AmKad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
???что к чему я не пойму???
Liprikon7,

Это вы комбобокс билдером настраиваете? :)
...
Рейтинг: 0 / 0
12.01.2010, 17:35
    #36405937
Liprikon7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
???что к чему я не пойму???
AmKadLiprikon7,

Это вы комбобокс билдером настраиваете? :)
Ну да....
а что?
...
Рейтинг: 0 / 0
12.01.2010, 17:40
    #36405956
AmKad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
???что к чему я не пойму???
Liprikon7,

А ручками свойства как было приведено выше настроить не желаете? :)
...
Рейтинг: 0 / 0
12.01.2010, 18:35
    #36406080
Liprikon7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
???что к чему я не пойму???
AmKadLiprikon7,

А ручками свойства как было приведено выше настроить не желаете? :)

Да вы правы ручками получилось, я и не думал что это имеет значение.
Вот как бы ещё кнопочку сюда впихнуть с сохранением всех выбранных позиций в архив?
...
Рейтинг: 0 / 0
12.01.2010, 18:45
    #36406094
AmKad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
???что к чему я не пойму???
Liprikon7AmKadLiprikon7,

А ручками свойства как было приведено выше настроить не желаете? :)

Да вы правы ручками получилось, я и не думал что это имеет значение.
Вот как бы ещё кнопочку сюда впихнуть с сохранением всех выбранных позиций в архив?

Куда вы хотите сохранять "выбранные позиции"?
...
Рейтинг: 0 / 0
12.01.2010, 23:59
    #36406528
Liprikon7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
???что к чему я не пойму???
AmKad,

Мне надо чтобы чтоб при нажатии кнопки сохранить из таблиц
ul.name
kotelnay.name
n_doma.n_doma

заносилась отметка в таблицу ARJ поле svod .

И ещё мне интересно как сделать так чтоб при выборе ul.name и kotelnay.name в поле n_doma.n_doma мне предоставлялись строки соответствующие таблицам ul и kotelnay а не все подряд что там есть.

Я на всякий случай интерфейс прикреплю с подписанными полями, я думаю разобрать будет не сложно.
Основная задумка это чтобы все заполненные поля сохранялись в таблицу ARJ.
...
Рейтинг: 0 / 0
13.01.2010, 13:15
    #36407338
Liprikon7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
???что к чему я не пойму???
Люди ну ответьте же наконец!!!!!!!!!!!!!!!!!
...
Рейтинг: 0 / 0
13.01.2010, 13:41
    #36407424
AmKad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
???что к чему я не пойму???
Liprikon7,

Во первых сохранение при оптимистической буферизации формы (Form.BufferMode = Ottimistic) делается через TableUupdate.

Во вторых заменить значение ячейки можно через replace
...
Рейтинг: 0 / 0
13.01.2010, 14:09
    #36407506
Liprikon7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
???что к чему я не пойму???
AmKadLiprikon7,

Во первых сохранение при оптимистической буферизации формы (Form.BufferMode = Ottimistic) делается через TableUupdate.

Во вторых заменить значение ячейки можно через replace

А вы не могли бы чуть больше конкретики добавить.
...
Рейтинг: 0 / 0
13.01.2010, 15:56
    #36407851
Ffffffffffffffff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
???что к чему я не пойму???
Liprikon7, прочитайте хоть одну книжку по фокспро. Сразу же часть вопросов отпадет. Почему за вас кто-то должен вашу работу делать?
...
Рейтинг: 0 / 0
14.01.2010, 04:13
    #36408754
Liprikon7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
???что к чему я не пойму???
FfffffffffffffffLiprikon7, прочитайте хоть одну книжку по фокспро. Сразу же часть вопросов отпадет. Почему за вас кто-то должен вашу работу делать?

К сожалению в нете я ненашол нормальной литературы,
а из той что есть пользу извлечь очень сложно, да и пишут они не о том что надо.
А то что у меня много вопросов вы уж извините.
...
Рейтинг: 0 / 0
14.01.2010, 10:24
    #36408993
???что к чему я не пойму???
Liprikon7,

Проблема в том, что ответом на подобные вопросы будут курсы лекций по теории реляционных баз данных и методам создания баз данных в среде Visual Foxpro. Видимо, проводить заочное обучение желающих нет, что неудивительно :-)
...
Рейтинг: 0 / 0
14.01.2010, 13:47
    #36409744
Местами администратор
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
???что к чему я не пойму???
Liprikon7FfffffffffffffffLiprikon7, прочитайте хоть одну книжку по фокспро. Сразу же часть вопросов отпадет. Почему за вас кто-то должен вашу работу делать?

К сожалению в нете я ненашол нормальной литературы,
а из той что есть пользу извлечь очень сложно, да и пишут они не о том что надо.
А то что у меня много вопросов вы уж извините.

Ты не прав. Сам научился при помощи книг + инет. Пусть и не лисинный бог, но любую программу (БД) написать смогу на очень приличном уровне. Все мои вопросы можешь увидеть на sql.ru, не так их и много.

Есть такие люди, которым не дано... Подумай над этим.
...
Рейтинг: 0 / 0
14.01.2010, 17:42
    #36410566
Liprikon7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
???что к чему я не пойму???
Местами администратор,

Вы возможно правы на счёт не дано!
Но как завещал Ленин трудится, трудится, трудится!
Поэтому я постараюсь не терять надежды, но в преть буду задавать вопросы только по крайней необходимости.
И напоследок, я буду очень признателен за ответ.
Вы не могли бы мне посоветовать литературу для написания кодов в Visual FoxPro
Я не магу понять какой язык запросов использует Visual FoxPro, он очень похож на SQL но посмотрев посты на форуме я стал сомневаться, взять к примеру вот этот код

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
If MESSAGEBOX("Сохранить изменения?", 4 + 32 ,"Сохранение") =  6 
 IF TABLEUPDATE( 0 ,.T.,"disp1")
       MESSAGEBOX('OK')
 ELSE
       MESSAGEBOX('BAD')
 ENDID
.......
ENDIF

Я в SQL такова вроде не встречал, может я ошибаюсь? Или не те книги читал?
Спасибо за ответы.
...
Рейтинг: 0 / 0
14.01.2010, 17:46
    #36410591
AmKad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
???что к чему я не пойму???
Liprikon7,

Это не SQL. Это встроенный процедурный алгоритмический язык программирования с поддержкой SQL.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / ???что к чему я не пойму??? / 25 сообщений из 36, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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