Получение значений из полей формы

betelgeize
Дата: 06.12.2006 10:31:21
Может,подскажете:
Задача - организовать заказ товаров.
Имеется ряд форм - реализация интерфейса. Форма "Заказы" - id заказа, клиент,менеджер. Выбрали значения. Далее переходим к форме поиска товара по определенным критериям. Задали критерии,получили список товаров (следующая форма). На форме списка товаров (Заказать) выбрали товар,хотим добавить его в заказ. Хочется,чтобы по кнопке "Включить в заказ" в таблицы добавлялась информация о заказе (с помощью запроса)
Для хранения информации о заказе используются 2 таблицы (Заказ и Заказано), содержащие коды - сотрудника,клиента,кода изделия,пр.
Хочется понять, можно ли реализовать подобную задачу описанным способом - брать значения из полей форм и с помощью запросов добавлять записи в таблицы Заказ и Заказано?
Возможно,существуют другие способы:)
mds_world
Дата: 06.12.2006 10:40:55
Разумно. Обычный подход.
DiDis
Дата: 06.12.2006 10:44:19
betelgeize
Возможно,существуют другие способы:)


можно на закрытие формы с товарами передовать значение ID товара в форму с заказами типа
forms![заказ]![полеIDзаказа] = me.полеIDтовара.value
betelgeize
Дата: 06.12.2006 10:46:29
Если разумно, то каким именно образом указываются значения из полей форм? В запросе на добавление я указываю значения кодов товара, кода заказа,кода сотрудника и пр. способом - Forms![Заказать].[Код товара], Forms![Заказ].[Код сотрудника], Forms![Заказ].[Код заказа].
Не работает запрос. Сильно подозреваю,что что-то не то делаю:)
Можно ли в одном запросе на добавление указывать значения полей из разных форм?
betelgeize
Дата: 06.12.2006 10:48:18
DiDis
betelgeize
Возможно,существуют другие способы:)


можно на закрытие формы с товарами передовать значение ID товара в форму с заказами типа
forms![заказ]![полеIDзаказа] = me.полеIDтовара.value


Это в обработчике события?
DiDis
Дата: 06.12.2006 10:56:57
да... все события формы... может вам не это надо

Public ID as Integer

Public Sub Form_Close()
On Error Resume Next
Forms![pssPass]![DocPassSub].Form![txtNameSotrudnika] = ID
End Sub

Public Sub Form_Current()
ID = Me.chrIDCar.Value
End Sub
msn13
Дата: 06.12.2006 11:00:18
betelgeize
Если разумно, то каким именно образом указываются значения из полей форм? В запросе на добавление я указываю значения кодов товара, кода заказа,кода сотрудника и пр. способом - Forms![Заказать].[Код товара], Forms![Заказ].[Код сотрудника], Forms![Заказ].[Код заказа].
Не работает запрос. Сильно подозреваю,что что-то не то делаю:)
Можно ли в одном запросе на добавление указывать значения полей из разных форм?

1) Forms![Заказать].form.[Код товара]
2) в некоторых случаях акс не считывает некоторые числовые значения, используй преобразование cint .....
betelgeize
Дата: 06.12.2006 11:02:39
msn13
betelgeize
Если разумно, то каким именно образом указываются значения из полей форм? В запросе на добавление я указываю значения кодов товара, кода заказа,кода сотрудника и пр. способом - Forms![Заказать].[Код товара], Forms![Заказ].[Код сотрудника], Forms![Заказ].[Код заказа].
Не работает запрос. Сильно подозреваю,что что-то не то делаю:)
Можно ли в одном запросе на добавление указывать значения полей из разных форм?

1) Forms![Заказать].form.[Код товара]
2) в некоторых случаях акс не считывает некоторые числовые значения, используй преобразование cint .....


Можно в двух словах, что за преобразование cint?
mds_world
Дата: 06.12.2006 11:56:45
автор
Можно в двух словах, что за преобразование cint?


Из хелпа

Функции преобразования типов данных

Каждая из следующих функций преобразует выражение к соответствующему типу данных.

Синтаксис

CBool(выражение)
CByte(выражение)
CCur(выражение)
CDate(выражение)
CDbl(выражение)
CDec(выражение)
CInt(выражение)
CLng(выражение)
CSng(выражение)
CVar(выражение)
CStr(выражение)
Обязательный аргумент выражение является любым строковым выражением или числовым выражением.

Возвращаемые типы

Имя функции определяет возвращаемый тип следующим образом:

Функция Тип Диапазон аргумента выражение
CBool Boolean Любая допустимая строка или числовое выражение.
CByte Byte От 0 до 255.
CCur Currency От -922 337 203 685 477,5808 до 922 337 203 685 477,5807.
CDate Date Любое допустимое выражение даты.
CDbl Double От -1,79769313486232E308 до
-4,94065645841247E-324 для отрицательных чисел; от 4,94065645841247E-324 до 1,79769313486232E308 для положительных чисел.
CDec Decimal +/-79 228 162 514 264 337 593 543 950 335 без масштабирования, т.е. для чисел без дробной части. Диапазон чисел с 28 знаками в дробной части
+/-7,9228162514264337593543950335. Минимальное ненулевое число 0,0000000000000000000000000001.
CInt Integer От -32 768 до 32 767 с округлением дробной части.
CLng Long От -2 147 483 648 до 2 147 483 647 с округлением дробной части.
CSng Single От -3,402823E38 до -1,401298E-45 для отрицательных чисел;
от 1,401298E-45 до 3,402823E38 для положительных чисел.
CVar Variant Диапазон значений Double для числовых значений. Диапазон значений String для нечисловых значений.
CStr String Возвращаемые значения функции CStr зависят от аргумента выражение.
Дополнительные сведения

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

Функции преобразования типов данных следует использовать вместо функции Val для
совместимости с различными национальными настройками при преобразовании из любого типа
данных в другой. Например, при использовании функции CCur разделители целой и дробной
частей, а также разделители разрядов и параметры денежных единиц правильно распознаются в
зависимости от национальной настройки компьютера.
Если дробная часть числа в точности равна 0,5, то функции CInt и CLng всегда округляют число
до ближайшего четного числа. Например, 0,5 округляется до 0, а 1,5 до 2. Необходимо отличать
функции CInt и CLng от функций Fix и Int, которые выполняют усечение, а не округление дробной
части числа. Кроме того, функции Fix и Int всегда возвращают значение с тем же типом данных,
который был передан в аргументе.

Чтобы определить, может ли аргумент дата быть преобразована к типу даты или времени, следует
использовать функцию IsDate. Функция CDate распознает литералы даты и литералы времени, а
также числа, которые попадают в приемлемый диапазон дат. При преобразовании числа в дату
переводится целая часть числа. Любая дробная часть числа преобразуется во время суток,
отсчитываемое от полуночи.
Функция CDate распознает форматы дат в соответствии с национальной настройкой системы.
Правильный порядок дней, месяцев и годов может не быть определен, если дата задается в
формате, отличном от распознаваемых форматов дат. Кроме того, длинный формат даты также не
распознается, если он содержит строку для дня недели.

Для обеспечения совместимости с предыдущими версиями Visual Basic поддерживается также
функция CVDate. Синтаксис функции CVDate совпадает с синтаксисом функции CDate, но CVDate
возвращает значение с подтипом Date типа Variant, а не значение типа Date. Поскольку теперь
определен внутренний тип данных Date, больше нет необходимости в использовании функции
CVDate. Тот же результат получается при преобразовании выражения к типу Date, а затем
присвоении его переменной типа Variant. Это соответствует преобразованию всех других
внутренних типов данных к их эквивалентным подтипам Variant.

Примечание. Функция CDec не возвращает конкретный тип данных; вместо этого всегда
возвращается значение типа Variant, преобразованное к подтипу Decimal.