Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
32 / 32 / 3
Регистрация: 22.10.2012
Сообщений: 499

Как вывести название фабрики без ошибки несоответствия типов данных

29.10.2012, 12:54. Показов 2409. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, не знаю правильно ли делаю, что создаю много тем на примерно одну и туже тематику, но на доп вопросы в старых темах мне особо не отвечают, причин этому может быть много, самая очевидная что человек, ответив и увидев благодарность, больше в тему не заглядывает.

В общем вопрос в том, как вывести название фабрики, временно, т.е. что бы в таблице хранился код фабрики, а при создание заказа, в таблице светилось название фабрики.
Visual Basic
1
Me.Фабрика = DLookup("Фабрика", "тТовар", "[Наименование] =" & Forms![фДобавить_Заказ]![фтДобавить_Заказ_Подчиненная_Табличная_Форма]![Наименование])
Этот запрос отрабатывает, следовательно синтаксис правильный, но пишет про не соответствие типов данных.
Посмотрел действительно, изначальная таблица "тФабрики" состоит из 3 столбцов
"Код_Фабрики" - счетчик
"Название" - текстовый
"Страна" - текстовый
Все остальные таблицы должны хранить только "Код_Фабрики" - тип длинное целое, мне покрайне мере кажется это правильным. Но функция представленная выше, в подчиненной форме при обновление Модели или Наименования, должна показывать название фабрики, которая данный товар произвела, а не "Код_Фабрики". Но при этом при этом в таблице где уже храняться сформированные таблицы, должны быть опять же "Код_Фабрики" а не название. Или это уже слишком не правильно я придумал?

Добавлено через 16 минут
Visual Basic
1
Me.Фабрика = DLookup("Фабрика", "тТовар", "[Наименование] = "" & Forms![фДобавить_Заказ]![фтДобавить_Заказ_Подчиненная_Табличная_Форма]![Наименование]""")
Добавил ковычки, одну слева от & Forms и 3 в конце, ошибку не пишет но и ничего не происходит, видимо опять где то ошибка закралась, если в конце пишу 2 ковычки, то строка сразу выделяется красным, а если 1 ковычку, то выдает ошибку синтаксиса.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.10.2012, 12:54
Ответы с готовыми решениями:

Ошибка несоответствия типов данных при удалении из Access
При попытке удалить поля возникает ошибка несоответствия типов данных в выражении условия отбора. cmd.CommandText = "DELETE *...

Ошибка несоответствия типов
Sub AleVToS1k() Dim L() Dim M() n = 8 ReDim L(n) ReDim M(n) For i = 1 To n L(i) =...

Ошибка несоответствия типов
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids,...

11
 Аватар для Ameli
2096 / 1172 / 39
Регистрация: 05.11.2009
Сообщений: 1,605
29.10.2012, 18:04
Добавьте одинарные кавычки вокруг текстового наименования:
Visual Basic
1
Me.Фабрика = DLookup("Фабрика", "тТовар", "[Наименование] ='" & Forms![фДобавить_Заказ]![фтДобавить_Заказ_Подчиненная_Табличная_Форма]![Наименование]) & "'"
1
32 / 32 / 3
Регистрация: 22.10.2012
Сообщений: 499
29.10.2012, 23:37  [ТС]
Вот так вот видимо правильнее будет, скобку после & и ковычек, а не до,
Visual Basic
1
Me.Фабрика = DLookup("[Код_Товара]", "тТовар", "[Наименование] = '" & Forms![фДобавить_Заказ]![фтДобавить_Заказ_Подчиненная_Табличная_Форма]![Наименование] & "'")
но ничего не происходит, а если через MsgBox пытаюсь выяснить, что он получил в переменную
Visual Basic
1
MsgBox = Me.Фабрика
То пишет Invalid use of Null, на сколько я понимаю, нельзя использовать пустые строки, но он же должен же был получить данные.
0
 Аватар для Ameli
2096 / 1172 / 39
Регистрация: 05.11.2009
Сообщений: 1,605
30.10.2012, 06:24
Цитата Сообщение от Don1172005 Посмотреть сообщение
Вот так вот видимо правильнее будет, скобку после & и ковычек, а не до,
верно, надо смотреть бд, так трудно понять, в чем ошибка
1
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
30.10.2012, 07:49
Цитата Сообщение от Don1172005 Посмотреть сообщение
[фтДобавить_Заказ_Подчиненная_Табличная_Ф орма]
Почему бы вам для начала не сократить ваши названия? Ведь так легко ошибиться при составлении кода. Вот это имя можно переименовать например так: Доб_Заказ_П или Заказ_Доб1, если есть Заказ_доб главная. Или Новый_Заказ например. Кстати в вашем случае ошибка простая, но чтобы её увидеть нужно прочесть практически небольшой рассказ:
Visual Basic
1
Forms![фДобавить_Заказ]![фтДобавить_Заказ_Подчиненная_Табличная_Форма].Form![Наименование]
кстати также по вашей схеме название: фНовый_Заказ и фпНовый_Заказ
2
32 / 32 / 3
Регистрация: 22.10.2012
Сообщений: 499
30.10.2012, 08:58  [ТС]
При таком виде, да и если без .Form писать, выводит поле Артикул. Базу тоже прикладываю там сейчас только каркас. Знаю что она кривая, но какая есть В данный момент интересует такое дело, что бы в форме "фДобавить_Заказ" при выборе наименования, артикула или модели, заполнялась вся строка, цена и кол-во уже нормально работают, а вот код товара и фабрика, почему то не могу подставить, впринципе все это действо что выше написано, для этого и должно служить.
Visual Basic
1
2
id_Product = Forms![фДобавить_Заказ]![фтДобавить_Заказ_Подчиненная_Табличная_Форма].Form![Наименование]
  MsgBox id_Product
Вложения
Тип файла: rar Don1172005-2003.rar (41.9 Кб, 13 просмотров)
0
 Аватар для Ameli
2096 / 1172 / 39
Регистрация: 05.11.2009
Сообщений: 1,605
30.10.2012, 10:43
На форме поле со списком Наименование в подстановке содержит скрытое поле Артикул, а потом уже Наименование, которое выводится на экран. Т.е. значение поле Наименование на форме это Артикул. Так что либо удалите из подстановки Артикул, если он не нужен, либо в отдельное поле выведите наименование = Me![Наименование].Column(1) и обращайтесь к нему.
А вообще как-то слишком сложно вы закрутили, запросами проще было б
1
32 / 32 / 3
Регистрация: 22.10.2012
Сообщений: 499
30.10.2012, 10:56  [ТС]
Сделал вот так, пишит ошибку "Run-Time Error 2766 Объект не содержит програмируеммый объект "Стол"" так и не понял что это значит Кроме того что DLookUp почему то не выводит Код_Товара для данного наименования
Visual Basic
1
2
3
  Dim id_Product As String
  id_Product = Forms![фДобавить_Заказ]![фтДобавить_Заказ_Подчиненная_Табличная_Форма].Form![Наименование].Column(1)
  DLookup("[Код_Товара]", "тТовар", "[Наименование] = " & id_Product)
Добавлено через 1 минуту
А про запросы, ну видимо сейчас я пытаюсь сделать именно так.
Т.к. хочу повесить действия на обновление, выбирая Наименование Модель или Артикул, что бы заполнялся Код Товара и Фабрика соответствующими данными.
0
 Аватар для Ameli
2096 / 1172 / 39
Регистрация: 05.11.2009
Сообщений: 1,605
30.10.2012, 11:06
Я же сказала, в отдельное поле выводим наименование, например это поле Наименование1:
=[Наименование].Column(1)
В выражении обращаемся к этому полю:
Visual Basic
1
Me.Фабрика = DLookup("[Код_Товара]", "тТовар", "[Наименование] = '" & Me![Наименование1] & "'")
1
32 / 32 / 3
Регистрация: 22.10.2012
Сообщений: 499
30.10.2012, 11:21  [ТС]
Прости, первоначально я почему то подумал не про поле, а про переменную.
Еще вопрос, а как можно вернуть в поле, Название Фабрики, а не ее код, но при этом в таблицу вписать именно код фабрики, а не название или это не возможно?
0
 Аватар для Ameli
2096 / 1172 / 39
Регистрация: 05.11.2009
Сообщений: 1,605
30.10.2012, 11:25
Превращаешь его в поле со списком, в Иточник строк подставляешь кроме Кода фабрики еще и ее название, задаешь ширину столбцов 0см;2см, т.о. выводишь на экран Название, код остается скрытым.
Аналогично твоему полю Артикул в поле со списком Наименование
1
32 / 32 / 3
Регистрация: 22.10.2012
Сообщений: 499
30.10.2012, 11:37  [ТС]
Артикул и Наименование 2 отдельных поля.
Просто если наименование и модель, у некоторых фабрик могут совпадать, то Артикул всегда уникален. Поэтому это поле тоже нужно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.10.2012, 11:37
Помогаю со студенческими работами здесь

Как вывести название без расширения
$scan = scandir('./info'); $tablen = " <tr> <td>1</td> <td> $scan </td> </tr>"; Выводятся названия текстовиков как...

Ошибка несоответствия типов при вычислениях
Помогите, пожалуйста, найти ошибку! Type mismatch...не могу понять почему? Dim R, BS, TI As Single Dim NS, RD As Single ...

функция reverse(). ошибка несоответствия типов
где-то накосячил с указателями видимо... объясните, пожалуйста, где и почему. суть задания - создать функцию reverse() с 2...

Замена элементов в массиве и ошибка несоответствия типов
for(int i=0;i<h;i++) for(int j=0;j<w;j++) { if(rand()%10==iStarsCount) { mas = "*"; iStarsCount--; ...

SelectList при сохранении выдает ошибку несоответствия типов
Имеется таблица в которой есть поля типа byte, int - они хранят данные из справочников. Физически поля таблицы и справочника (другой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru