powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Ввод данных в таблицу, используя список из другой таблицы
17 сообщений из 17, страница 1 из 1
Ввод данных в таблицу, используя список из другой таблицы
    #36258064
Hannibass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые форумчане! Вопрос от только начинющего работу c FoxPro.Вопрос может и стандартный и простой.
Не понимаю, что нужно прописать в форме ввода ?
Есть две связанные таблицы через поле id_categ.
Первая ПЛАТЕЖИ (Поля :cod_pay(код платежа),date_pay(дата платежа),name_pay (наимен-ие платежа),sum_pay(сумма платежа),id_categ(код категории платежа)) пример: 1 | 21.01.2009|
Солярка для личного а\м, 200т | 5
Вторая КАТЕГОРИИ_ПЛАТЕЖА(Поля:id_categ(код категории платежа),name_categ(наименование категории платежа), note_categ(примечание)) пример: 5|транспорт|все расходы на общественный и личный транспорт.
Нужно написать форму ввода таблицы ПЛАТЕЖИ так, чтобы при вводе поля id_categ пользователь
выбирал из ниспадающего списка(где отображены поля столбца note_category табл. КАТЕГОРИИ_ПЛАТЕЖА).
Пользуюсь ComboBox. в ControlSourse вношу КАТЕГОРИИ_ПЛАТЕЖИ.note_pay. И что, еще ввести новое поле, допустим TextBox, которое связать с ПЛАТЕЖИ.id_categ. Но вся форма стопорится на этомComboBox. Не передаются данные в таблицу ПЛАТЕЖИ именно в поле id_categ.
Помогите, пожалуйста!
...
Рейтинг: 0 / 0
Ввод данных в таблицу, используя список из другой таблицы
    #36258075
Hannibass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня стоит FoxPro 6.0, но я не думаю, что что-то зависит от версии,может не правильно сделана сама схема данных? Для только начинающих это очень часто встречается для связанных таблиц.
...
Рейтинг: 0 / 0
Ввод данных в таблицу, используя список из другой таблицы
    #36258081
Dag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попоробуй такие установки

BoundTo = .T.
BoundColumn = 2
RowSourceType=2
RowSource = "КАТЕГОРИИ_ПЛАТЕЖА.note_category,id_categ"
ControlSource=ПЛАТЕЖИ.id_categ
...
Рейтинг: 0 / 0
Ввод данных в таблицу, используя список из другой таблицы
    #36258085
Hannibass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dag, спасибо! Попробую и в течение получаса скажу, что получилось
...
Рейтинг: 0 / 0
Ввод данных в таблицу, используя список из другой таблицы
    #36258111
Hannibass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dag! Что хорошо, так это то , что форма не стопорится на этом Combo Box и ведет себя как и должна. НО выпадает список из трех строк в каждой так и написано "КАТЕГОРИИ_ПЛАТЕЖА.name-categ,id_categ" . Т. е. не появляется стобец name_categ из таблицы КАТЕГОРИИ_ПЛАТЕЖЕЙ
Может я не то написал?
...
Рейтинг: 0 / 0
Ввод данных в таблицу, используя список из другой таблицы
    #36258116
Dag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кавычки убери. Они нужны при программном построении контрола.
...
Рейтинг: 0 / 0
Ввод данных в таблицу, используя список из другой таблицы
    #36258146
Hannibass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dag, только не смейся, может я не всю информацию тебе сообщил, но форма начала вести себя не очень. У меня стандартная форма ввода в таблицу PAYMENTS(я называл её ПЛАТЕЖИ) : все поля и внизу стнд.кнопки "начало","предидущая запись","след","в конец", "добавить" и т.д.
С первого раза в Combo Box выпало меню, то что надо. При фиксировании нужной категории расходов оно просто поменялось на код(т.е было "транспорт",а стало "5"). С каждым последующим выбором из ниспадающего списка соответствующие поля заменялись на коды! и после этого стандартная кнопка "Добавить/Редактировать" перестала реагировать, курсор становится в это поле Combo Box и не хочет оттуда вылазить, и ниспадает список кодов категории расходов
...
Рейтинг: 0 / 0
Ввод данных в таблицу, используя список из другой таблицы
    #36258174
Dag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dag, только не смейся, может я не всю информацию тебе сообщил, но форма начала вести себя не очень. У меня стандартная форма ввода в таблицу PAYMENTS(я называл её ПЛАТЕЖИ) : все поля и внизу стнд.кнопки "начало","предидущая запись","след","в конец", "добавить" и т.д.
С первого раза в Combo Box выпало меню, то что надо. При фиксировании нужной категории расходов оно просто поменялось на код(т.е было "транспорт",а стало "5"). С каждым последующим выбором из ниспадающего списка соответствующие поля заменялись на коды! и после этого стандартная кнопка "Добавить/Редактировать" перестала реагировать, курсор становится в это поле Combo Box и не хочет оттуда вылазить, и ниспадает список кодов категории расходов.

>>С первого раза в Combo Box выпало меню, то что надо. При фиксировании нужной категории расходов оно просто поменялось на код(т.е было "транспорт",а стало "5").

"Кто на ком стоял ?"(с) Если я правильно понял задание- то в списке комбобокса должно отображаться наименование категории платежа - КАТЕГОРИИ_ПЛАТЕЖА.note_category, а при выборе пользователем категории в таблицу ПЛАТЕЖИ (поле PAYMENT.id_categ) должен вносится соответствущий выбору идентификатор категории (id_categ). Это так ?

А Неспортивное поведение формы объясняется установленной связью таблиц. Эта связь вообще нужна? Для чего?
...
Рейтинг: 0 / 0
Ввод данных в таблицу, используя список из другой таблицы
    #36258179
Hannibass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DAG, Я вводил в Combbo Box

BoundTo = .T.
BoundColumn = 2
RowSourceType=2
RowSource = "КАТЕГОРИИ_ПЛАТЕЖА.NAME_categ,id_categ"
ControlSource=ПЛАТЕЖИ.id_categ
Сейчас вообще не хочет появляться список с категориями расходов.
Не правильно использую подсказку или не тот(слишком тонкий, не всегда подходящий) метод?
Ответь , пожалуйста.
...
Рейтинг: 0 / 0
Ввод данных в таблицу, используя список из другой таблицы
    #36258183
Dag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пиши подробнее что именно сделал, что после этого изменилось. Трудно ориентироваться по крохам информации.
...
Рейтинг: 0 / 0
Ввод данных в таблицу, используя список из другой таблицы
    #36258197
Hannibass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Черт подери меня, может я вообще выбрал неправильную схему данных.
Итак таблица Payments(я ее называл ПЛАТЕЖИ) служит для ввода платежей фирмы, госорганизации и пр c полями:
----------------------------------------------------
|cod_pay | date_pay |name_pay |sum_pay|id_categ |
----------------------------------------------------
| 1 |12.01.2009| бензин | 1000 | 5 |
| 2 |15.01.2009| ручка шар| 24 | 1 |

Я установил связь с другой таблицей CATEGORY( Я её называл КАТЕГОРИИ_РАСХОДОВ) через поле id_categ c полями:
--------------------------------------------------------
| id_categ | name_categ | note_categ |
--------------------------------------------------------
| 1 | канцтовары | Memo |
. . .
| 5 | транспорт | Memo |
--------------------------------------------------------
Dag, ты хочешь сказать, что зачем вообще нужна эта связь лучше введем новое поле в Payments например name_category вместо id_categ, в которое будем при вводе вводить данные используя список из таблицы Category, а в базе данных пусть будут 2 независимые таблицы?
...
Рейтинг: 0 / 0
Ввод данных в таблицу, используя список из другой таблицы
    #36258206
Dag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>Dag, ты хочешь сказать, что зачем вообще нужна эта связь лучше введем новое поле в Payments например name_category вместо id_categ, в которое будем при вводе вводить данные используя список из таблицы Category, а в базе данных пусть будут 2 независимые таблицы?

Как фактически называются таблицы? По русски или по английски? Мне непонятно для чего установлена связь между таблицами. Если только для заполнения поля id_categ в таблице ПЛАТЕЖИ (или Payments) - то эта связь вообще не нужна. Эту функцию отработает комбо. Новые поля вводить не нужно, достаточно имеющихся.
...
Рейтинг: 0 / 0
Ввод данных в таблицу, используя список из другой таблицы
    #36258216
Hannibass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dag, кажется понял! Категорию расходов я действительно введу с помощью комбо беря список из таблицы CATEGORY так как сказалл ты!
А по названиям таблица1 - PAYMENTS (я её просто в первых сообщениях для лучшего понимания назвал ПЛАТЕЖИ), таблица2 - CATEGORY (я её просто для форума в первых сообщениях для лучшего понимания назвал КАТЕГОРИЯ_РАСХОДОВ).
Поэтому уберу связь между таблицами, введу поле Name_category в таблице PAYMENTS и введу код в Combo Box, который указал ты. Т. е. все повернулось иначе. Пришли к новой постановке задачи: ввод
поля таблицы Payments.name_category используя Сombo Box cо списком из таблицы CATEGORY.
Dag, твой код рассчитан именно для такой постановки задачи?
...
Рейтинг: 0 / 0
Ввод данных в таблицу, используя список из другой таблицы
    #36258219
Hannibass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dag, новое поле вводить не надо, нужно только id_category изменить тип на character (было целое индексное), ну и для красоты назвать name_category.
Я правильно понял?
...
Рейтинг: 0 / 0
Ввод данных в таблицу, используя список из другой таблицы
    #36258227
Dag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет. Все можно оставить как есть. Поле id_categ в обоих таблицах должно быть одного типа. Кстати, а что ты подразумеваешь под словом связь. SET RELATION ? Или что-то другое?
...
Рейтинг: 0 / 0
Ввод данных в таблицу, используя список из другой таблицы
    #36258331
Hannibass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dag, спасибо!
Поступил проще из таблицы Payments выкинул поле id_categ (integer), из таблицы Сategory выкинул поле id_categ (integer), т.к. исходил из того, что ключевым полем может стать и поле category.name_categ(название то категории расходов уникально и ненулевое, незачем вводить ещё уникальный код).Ввел новое поле Payments.category (character). В базе данных в DATA Environment убрал связь между таблицами и построил новый ComboBox в форме ввода платежей, в котором СomboBox Builder просто прописал:
BoundTo=.T.
BoundColumn=1
RowSourseType=6 - Fields
RowSourse= "Category.Name_categ"
ControlSourse=Payments.category

И вроде все работает как надо

Dag, благодаря тебе я разобрался, что эта связь в общем НЕЗАЧЕМ здесь! Сказывается отсутствие опыта разработки программ!
ОГРОМНОЕ СПАСИБО!
...
Рейтинг: 0 / 0
Ввод данных в таблицу, используя список из другой таблицы
    #36258334
Dag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как говорят наши американские коллеги
You're welcome
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Ввод данных в таблицу, используя список из другой таблицы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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