powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Необычное добавление
15 сообщений из 15, страница 1 из 1
Необычное добавление
    #35340994
Звег
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Заранее прошу простить меня если этот вопрос уже рассматривался ! Поискал по форуму - конкретно такого случая не нашел !

Есть таблица, есть кнопка добавить есть поля из которых - все отлично ! Но есть небольшая проблемка :
Имеется 3 источника данных: TextBox и 2 ComboBox но в таблицу надо внести два значения которые вводишь от руки и и 1 значение которое будет выбрано из другой таблицы с учетом условия из 2го комбобокса ! Конкретно - В комбобоксе ввожу Фамилию а в таблицу вношу не фамилию а индекс человека соответствующий этой фамилии!

Знаю что есть две команды

INSERT INTO ... VALUES ...

и

INSERT INTO ... SELECT ... FROM ... WHERE

Вопрос в том можно ли объединить эти две команды ?
...
Рейтинг: 0 / 0
Необычное добавление
    #35341019
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗвегВ комбобоксе ввожу Фамилию а в таблицу вношу не фамилию а индекс человека соответствующий этой фамилии!
Сначала находишь индекс в переменную, потом вставляешь значение переменной, а не комбобокса.
...
Рейтинг: 0 / 0
Необычное добавление
    #35341032
Звег
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А примерный код можешь написать ?
...
Рейтинг: 0 / 0
Необычное добавление
    #35341049
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Примерно так
Код: plaintext
1.
2.
3.
4.
5.
if indexseek(Combo.Value, .T., 'ТаблицаФамилий', 'Индекс по полю с фамилией')
   lnFamId = ТаблицаФамилий.Id
else
   lnFamId =  0  && Нет такой в справочнике
endif
insert into ... (... FamId, ...) values (... lnFamId, ...)
...
Рейтинг: 0 / 0
Необычное добавление
    #35341097
Звег
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а зачем условный оператор ? нельзя присвоить переменной результат запроса SELECT?
...
Рейтинг: 0 / 0
Необычное добавление
    #35341107
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Звега зачем условный оператор ?
Чтобы дальше ошибки проверять, и обрабатывать. Т.к. добавится некорректная (по смыслу) запись, если фамилия не будет найдена.
Звег нельзя присвоить переменной результат запроса SELECT?
Можно, но indexseek() быстрее работает и лишних курсоров не плодит.
...
Рейтинг: 0 / 0
Необычное добавление
    #35341112
Sergey Sizov.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Звега зачем условный оператор ? нельзя присвоить переменной результат запроса SELECT?
Переменной - нет. Можно массиву. В том числе из одного элемента.
Можно еще так:
Код: plaintext
Insert into ... select ...
...
Рейтинг: 0 / 0
Необычное добавление
    #35341123
Звег
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я не понимаю ход работы indexseek и вообще seek ! Мне советовали использовать его для защиты от дурака !

У меня не индексированная таблица - нет ни одного ключа НО фамилия выбраеться из списка то есть НЕ НАЙТИ ее он не ожет !

как присвоить переменнйо результат запроса ? Что то не выходит ! И плюс на LOCAL C.aaa прога ругаеться - что не так ?
...
Рейтинг: 0 / 0
Необычное добавление
    #35341140
ЗвегЯ не понимаю ход работы indexseek и вообще seek !
Ну так возмите хелп и поймите.
как присвоить переменнйо результат запроса ?
Сказано же - никак. Можно массиву.
select ... into array ...
Что то не выходит ! И плюс на LOCAL C.aaa прога ругаеться - что не так ?
Что такое LOCAL C.aaa ? Откуда это взялось? Мы это должны угадать?
...
Рейтинг: 0 / 0
Необычное добавление
    #35341161
Звег
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1) У меня на руках книга которую все рекламируют - фокспро 9 в подлиннике - там информации полезной процентов 10

2) Ответ НЕЛЬЗЯ написали пока я пеатал сообщение я его не увидел

3) когда я в командной строке прописал dfg = "dfg" то он автоматом сначала прописал LOCAL C.df а потом то что я написал то есть типо сначала создал переменную ! Но вопрос - я работал с ней как с DFG и все работало хотя в создании он назвал ее просто df и указал автоматом что она символьная !
Но когда я сам пытаюсь прописать тоже амое то фокс пишет что НЕЛЬЗЯ!
...
Рейтинг: 0 / 0
Необычное добавление
    #35341176
Звег1) У меня на руках книга которую все рекламируют - фокспро 9 в подлиннике - там информации полезной процентов 10

Полезной для кого? Для тех, кто не знает основ - может быть. Для тех, кто основы знает - полезна почти вся книжка.

3) когда я в командной строке прописал dfg = "dfg" то он автоматом сначала прописал LOCAL C.df а потом то что я написал то есть типо сначала создал переменную ! Но вопрос - я работал с ней как с DFG и все работало хотя в создании он назвал ее просто df и указал автоматом что она символьная !
Но когда я сам пытаюсь прописать тоже амое то фокс пишет что НЕЛЬЗЯ!
Он - это кто? Каким автоматом? Где прописал? Что ты написал? Кто на ком стоял?
Код, не твое опесание кода, а сам программный код можешь показать? С указанием на какой строке как ругается? Ругань тоже не пересказывая, а копируя.
...
Рейтинг: 0 / 0
Необычное добавление
    #35341234
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ComboBox - это объект, который может отобразить значение одного поля, но выбрать значение другого поля этой же таблицы. Делается это примерно так:

Код: plaintext
1.
2.
3.
ComboBox.BoundColumn =  2 
ComboBox.RowSource = "MyTable.Name, ID"    && Обрати внимание, что алиас таблицы только у первого поля
ComboBox.RowSourceType =  6  - Fields

Если поле ID - числового типа, то следует еще сделать дополнительную настройку

Код: plaintext
ComboBox.BoundTo = .T.

В результате, значение ComboBox.Value будет взято из поля MyTable.ID
...
Рейтинг: 0 / 0
Необычное добавление
    #35341261
Звег
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за грамотный ответ =)

А если попробовать так - на клик кнопки привязать

SELECT nomer_p as np FROM spisok_p WHERE prepod_f=thisform.pageframe1.page1.combo3.Value INTO CURSOR np

добавить номер препода по фамилии в курсор

npp = np.np - присвоить значение первой строчки курсора np переменной npp

и потом работать с ней ?

при попытке внести запись в таблицу из этой переменной ругаеться что не может найти перерменную !!!!!
...
Рейтинг: 0 / 0
Необычное добавление
    #35341284
Звег
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не есть присвоение переменной значения я не привязываю на кнопку и делаю в командной строке когда форма запущена то все работает отлично ! в чем трабл ?
...
Рейтинг: 0 / 0
Необычное добавление
    #35344466
uuuгггггггг
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Трабл - в нежелании почитать азы!
Переменная в командном окне - это PUBLIC!
Со всеми вытекающими...
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Необычное добавление
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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