Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/145: Рейтинг темы: голосов - 145, средняя оценка - 4.52
1 / 1 / 0
Регистрация: 04.03.2013
Сообщений: 125

Ошибка: "Параметр не имеет значения по умолчанию"

04.04.2013, 14:51. Показов 27691. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!
Не могу составить Sql запрос в access
Пишет: параметр дизайнерская не имеет значение по умолчанию
Код:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
procedure TForm1.Button3Click(Sender: TObject);
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT Дизайнерская From Класс_БУМАГИ');
ADOQuery1.Open;
ADOQuery1.First;
while not ADOQuery1.Eof do
begin
ComboBox1.Items.add(ADOQuery1.Fields[0].AsString);
ADOQuery1.Next;
end;
end;
А вообще задача в следующем:
Имеется бд с иерархической структурой(ну или почти иерархической)
В программе нужно комбобоксами дойти до параметра толщина бумаги
т.е. Выбрали Тип бумаги(Дизайнерская), выбрали марку бумаги(Munken Lynx) выбрали плотность(100 гр) и в переменную исходя из этих данных записалась толщина бумаги, если можете дайте какие нибудь рекомендации по составлению такой бд, что бы потом программу проще писать было... Спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.04.2013, 14:51
Ответы с готовыми решениями:

Ошибка "Параметр не имеет значения по умолчанию" при поиске
Всем привет. Нид хелп. Вообщем делаю поиск: ADOQuery1.Active:=False; ADOQuery1.SQL.Text:='select * from Bookroom where...

Поиск по 2 таблицам и ошибка "Параметр не имеет значения по умолчанию"
Нужно сделать поиск по двум таблицам Ремонт_компьютеров и Ремонт_ноутбуков по выбранным полям ", S/N, Код," данные поля есть в...

Ошибка: "Параметр не имеет значения по умолчанию" - Delphi БД
Приветствую вас, тру кодеры! Суть вопроса такова : у меня есть проверенный SQL запрос, которые работает в Access, но при переносе в...

12
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
04.04.2013, 15:06
Если название колонки или таблицы чем-то нехорошо с точки зрения СУБД, то такие названия надо заключать в апострофы, двойные кавычки или квадратные скобки (зависит от СУБД).
А вообще многие СУБД не любят русскоязычных названий
2
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
04.04.2013, 15:06
Сами себе и наметили структуру таблиц БД.
Таблица Тип, поля: код (счетчик), тип (текст)
Таблица Марка, поля: код(счетчик), марка(текст), код_типа (число)
Таблица Плотность, поля: код(счетчик), плотность(число), код_марки(число)
Таблица Толщина, поля: код(счетчик), толщина(число), код_плотности(число)

Если, конечно, данные эти действительно иерархически зависят друг от друга и нет никаких исключений.

Насчет ошибки трудно сказать не видя самой БД.
Может надо в квадратные скобки заключать имя поля, т.к. оно кириллицей написано.
Может еще в чем проблема.
0
 Аватар для Waddonator
969 / 644 / 97
Регистрация: 01.11.2012
Сообщений: 1,447
04.04.2013, 15:07
SQL
1
SELECT b1.[Дизайнерская] FROM [Класс_БУМАГИ] AS b1
где Класс_БУМАГИ - название таблицы, Дизайнерская - название поля.

Но думаю, что у вас не такая структура. Вы структуру приведите и напишите, чего хотите.
0
1 / 1 / 0
Регистрация: 04.03.2013
Сообщений: 125
04.04.2013, 15:11  [ТС]
вот тестовый вариант таблицы, нам нем только тренируюсь, но может что то натолкнет на мысли. А вот если вместо Дизайнерской поставить * то все поля из Класс_Бумаги загружает норм
Вложения
Тип файла: zip db1.zip (78.9 Кб, 43 просмотров)
0
 Аватар для Waddonator
969 / 644 / 97
Регистрация: 01.11.2012
Сообщений: 1,447
04.04.2013, 15:20
SQL
1
SELECT * FROM [Класс_БУМАГИ] WHERE [Класс_БУМАГИ].[Класс БУМАГИ] LIKE 'Дизайнерская'
Добавлено через 2 минуты
xBios, этот вопрос к базам данных и SQL относится, а не к Delphi. Вам бы этот вопрос подтянуть. И совет - называйте поля латинскими буквами.
0
1 / 1 / 0
Регистрация: 04.03.2013
Сообщений: 125
04.04.2013, 15:41  [ТС]
[QUOTE=Waddonator;4359938]
SQL
1
SELECT * FROM [Класс_БУМАГИ] WHERE [Класс_БУМАГИ].[Класс БУМАГИ] LIKE 'Дизайнерская'
Та же ошибка
0
 Аватар для Waddonator
969 / 644 / 97
Регистрация: 01.11.2012
Сообщений: 1,447
04.04.2013, 15:46
xBios, вы текст запросов в ACCESS проверяйте перед тем, как в Delphi их передавать. Думаю, что у Вас теперь проблема с кавычками. В Delphi строка должна выглядеть так:

Delphi
1
ADOQuery1.SQL.Add('SELECT * FROM [Класс_БУМАГИ] WHERE [Класс_БУМАГИ].[Класс БУМАГИ] LIKE ''Дизайнерская''');
либо так

Delphi
1
ADOQuery1.SQL.Add('SELECT * FROM [Класс_БУМАГИ] WHERE [Класс_БУМАГИ].[Класс БУМАГИ] LIKE '+#39+'Дизайнерская'+#39);
0
1 / 1 / 0
Регистрация: 04.03.2013
Сообщений: 125
04.04.2013, 15:51  [ТС]
Кавычки расставил но видимо не все, спасибо, Но в комбобокс у меня загрузилась просто строка "Дизайнерская" А мне нужно было марки подгрузить, я так понимаю нужно продолжить запрос как то
0
 Аватар для Waddonator
969 / 644 / 97
Регистрация: 01.11.2012
Сообщений: 1,447
04.04.2013, 16:08
Главное определиться со структурой базы данных: определить главные базы и справочники. Все повторяющиеся данные засовываются в справочники: класс бумаги (не понятно поле "примечание". т.к. встречается значение "не мелованная"), Поставщик, Наименование бумаги, Страна производитель... Привязка к ним осуществляется через ключевые поля. Ключевыми полями необходимо использовать числовые (целые либо счетчики).

Почитайте литературу о базах данных. Узнайте, как правильно хранить данные, как обращаться к ним. Я думаю, что пока вы не поймете это, вам будет очень трудно.
0
1 / 1 / 0
Регистрация: 04.03.2013
Сообщений: 125
05.04.2013, 17:33  [ТС]
Спасибо за ответы, тогда начну с создания нормальной базы данных.

Добавлено через 20 часов 58 минут
Всем Здравствуйте еще раз, я подумал что и эта Таблица хороша, а конкретно "Бумага". я загрузил значения combobox без повторяющихся данных, но столкнулся с проблемой загрузки Наименования бумаги, Например нужно загрузить только те наименования у которых класс бумаги "Мелованная" попробовал загрузить вот так:
Delphi
1
ADOQuery1.SQL.Add('SELECT [Наименование бумаги] FROM [Бумага] WHERE ''Класс бумаги''=''Мелованная''');
Ошибок ни каких не было но ни чего и не загрузило. и еще скажите, Каким способом еще можно загрузить данные в комбобокс, иными словами приемлем способ которым я делал:
Delphi
1
2
3
4
5
while not ADOQuery1.Eof do
begin
ComboBox2.Items.add(ADOQuery1.Fields[0].AsString);
ADOQuery1.Next;
end;
Спасибо.

Добавлено через 4 часа 25 минут
Вроде разобрался, запросы все правильно построил. Теперь новая проблема
Сначала я загрузил Классы бумаги(3 значения) Потом при выборе одного из значений загружал другую колонку но в которой имеется значение Первого комбобокса, так же само загрузил Плотность бумаги(Числовое значение) и хотел уже загрузить в След комбобокс толщину бумаги оно мне выдало ошибку:Несоответствие типов данных в выражении условия отбора
Код для всех combobox:
Delphi
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
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
Combobox2.Clear;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT DISTINCT [Наименование бумаги] FROM [Бумага] WHERE [Класс бумаги]=' +QuotedStr(ComboBox1.Items[ComboBox1.ItemIndex]));
ADOQuery1.Open;
ADOQuery1.First;
while not ADOQuery1.Eof do
begin
ComboBox2.Items.add(ADOQuery1.Fields[0].AsString);
ADOQuery1.Next;
end;
end;
 
procedure TForm1.ComboBox2Change(Sender: TObject);
begin
Combobox3.Clear;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT DISTINCT [Масса, г/м2] FROM [Бумага] WHERE [Наименование бумаги]=' +QuotedStr(ComboBox2.Items[ComboBox2.ItemIndex]));
ADOQuery1.Open;
ADOQuery1.First;
while not ADOQuery1.Eof do
begin
ComboBox3.Items.add(ADOQuery1.Fields[0].AsString);
ADOQuery1.Next;
end;
end;
 
procedure TForm1.ComboBox3Change(Sender: TObject);
begin
Combobox3.Clear;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT DISTINCT [Толщина, мкм] FROM [Бумага] WHERE [Масса, г/м2]='+(ComboBox3.Items[ComboBox3.ItemIndex]));
ADOQuery1.Open;
ADOQuery1.First;
while not ADOQuery1.Eof do
begin
ComboBox4.Items.add(ADOQuery1.Fields[0].AsString);
ADOQuery1.Next;
end;
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT DISTINCT [Класс бумаги] FROM [Бумага]');
ADOQuery1.Open;
ADOQuery1.First;
while not ADOQuery1.Eof do
begin
ComboBox1.Items.add(ADOQuery1.Fields[0].AsString);
ADOQuery1.Next;
end;
end;
Ошибку выдает на 37 строке
0
 Аватар для Waddonator
969 / 644 / 97
Регистрация: 01.11.2012
Сообщений: 1,447
05.04.2013, 18:30
xBios, У вас ошибка в 36 строке. Думаю, что ошибка в названии столбцов - там присутствует знак ","
0
1 / 1 / 0
Регистрация: 04.03.2013
Сообщений: 125
08.04.2013, 14:44  [ТС]
Да действительно, ошибка было именно из за этого, спасибо.
Только вот почему по моему коду оно загружает весь столбец хотя должен одно значение
Delphi
1
ADOQuery1.SQL.Add('SELECT DISTINCT [Толщина] FROM [Бумага] WHERE [Масса]='+ComboBox3.Items[ComboBox3.ItemIndex]);
Там должно выйти одно значение, правильно ли условие, Выбрать столбец толщина в таблице Бумага, если масса равна выбранной загрузить то значение, Спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.04.2013, 14:44
Помогаю со студенческими работами здесь

Ошибка "параметр ххх не имеет значения по умолчанию"
Доброго времени суток. Я делал поиск по таблице через Edit, через Sql запрос ,но при запуске программы и ввода текста в поле Edit выдаёт...

Ошибка "Параметр не имеет значения по умолчанию"
Как исправить данную ошибку?

Параметр не имеет значения по умолчанию
Всем привет. Проблема такая. Есть база данных,со связями. Задача состоит в том,чтобы из двух таблиц,взять определенные поля и вывести их в...

Параметр не имеет значения по умолчанию
Что в запросе не так, помогите пожалуйста procedure TForm1.sButton4Click(Sender: TObject); //приход товара var kol1, kol2, i,...

Параметр не имеет значения по умолчанию
Здравствуйте. Имеются две таблицы: razdel с полями kod_razdela, kod_katalog, nazvanie_razdela kniga с kod_razdela, nazvanie_kniga и...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru