Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 27.04.2015
Сообщений: 4
1

Ошибка при выполнении SQL запроса "Слишком мало параметров требуется 1"

27.04.2015, 14:20. Показов 2970. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток!
Столкнулся со следующей проблемой: после перемещения файла Excel с макросом на другой компьютер при выполнении SQL запроса возникает ошибка (На моем компе все работает отлично): "Слишком мало праметров. Требуется 1". сравнил подключенные библиотеки. Все совпадает. Может у кого то возникала подобная проблема. SQL запрос выполняется из файла Excel в файл Excel.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.04.2015, 14:20
Ответы с готовыми решениями:

При выполнении запроса: "Слишком мало параметров, требуется 2"
есть такой код: Dim strSQL As String strSQL = "update users set Fio=''" & txFio.Value & "''...

Ошибка запроса из VBA: "Слишком мало параметров. Требуется 1"
Всем привет. Глупый вопрос, но меня тормозит StrSQL = "Select ДниНедели.Код from ДниНедели Where...

Ошибка при удалении значения из БД. "Слишком мало параметров. Требуется 2"
По нажатии кнопки Button 1 загружаю таблицу из MO Access. По нажатии кнопки Button 2 пытаюсь...

Снова Ошибка 3061, Слишком мало параметров. Требуется 1
И снова Здравствуйте. Хочу сделать возможность выгрузки данных из БД Access в шаблон файла Excel...

5
Модератор
Эксперт функциональных языков программированияЭксперт Python
36601 / 20330 / 4220
Регистрация: 12.02.2012
Сообщений: 33,640
Записей в блоге: 13
27.04.2015, 14:23 2
Покажи код. И это может быть связано с разными версиями Excel
0
0 / 0 / 0
Регистрация: 27.04.2015
Сообщений: 4
27.04.2015, 14:42  [ТС] 3
Версии Excel одинаковые (сеть корпоративная). Пробовал так же и на XP и на семерке все одно и то же.
А вот непосредственно код:
Visual Basic
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
Private Sub Workbook_Open()
Application.ScreenUpdating = False
Sheets(" ").Select
Sheets("База").Visible = True
   Sheets("База").Select
  Sheets("База").Range("A2:E300").Select
    Selection.ClearContents
   Sheets("База").Select
Sheets("База2").Visible = True
   Sheets("База2").Select
  Sheets("База2").Rows("2:500").Select
    Selection.ClearContents
Sheets("Лист2").Visible = True
   Sheets("Лист2").Select
  Sheets("Лист2").Columns("A:B").Select
    Selection.ClearContents
r = Environ("USERNAME")
 
If r = "Логин пользователя" Then
cp = "Петров"
cp = "'" & cp & "'"
End If
 
 
Dim SQLConn As New ADODB.Connection
SQLConn.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;HDR=Yes; Data Source=EV1"
On Error GoTo 111
SQLConn.Open
Worksheets("База2").Range("U2").CopyFromRecordset SQLConn.Execute("SELECT [Дата получения решения],[Статус решения],[Дата реализации решения],[Комментарии / причины не реализации решения] FROM [Форма реестра new$] WHERE [Исполнитель]  = " & cp)
 
com
 
r = 2
Do While Workbooks("SA.xlsm").Worksheets("База2").Cells(r, 1).Value <> Empty
i = 2
Do While Workbooks("SA.xlsm").Worksheets("Лист2").Cells(i, 1).Value <> Empty
If Workbooks("SA.xlsm").Worksheets("Лист2").Cells(i, 1).Value = Workbooks("SA.xlsm").Worksheets("База2").Cells(r, 1).Value Then
Workbooks("SA.xlsm").Worksheets("База2").Cells(r, 20).Value = Workbooks("SA.xlsm").Worksheets("Лист2").Cells(i, 2).Value
End If
i = i + 1
Loop
r = r + 1
Loop
SQLConn.Close
Sheets("База").Visible = False
Sheets("База2").Visible = False
Sheets("Лист2").Visible = False
m = Application.CountA(Worksheets("База").Columns(1)) + 1
UserForm1.ListBox1.RowSource = "База!A2:E" & (m - 1)
UserForm1.Show
Exit Sub
111:
A1 = Err.Description
A2 = Err.Number
 
End Sub
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36601 / 20330 / 4220
Регистрация: 12.02.2012
Сообщений: 33,640
Записей в блоге: 13
27.04.2015, 14:59 4
А источник данных EV1 создан?
0
Модератор
Эксперт MS Access
11960 / 4828 / 779
Регистрация: 07.08.2010
Сообщений: 14,138
Записей в блоге: 4
27.04.2015, 15:09 5
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
'' заблокируйте обработчик, что бы видеть точное имя ошибки
''On Error GoTo 111
SQLConn.Open
''Первым делом проверьте имена полей и таблиц
S1="SELECT [Дата получения решения],[Статус решения],[Дата реализации решения],"
s1=s1 & " [Комментарии / причины не реализации решения] FROM [Форма реестра new$]"
s1=s1 & " WHERE [Исполнитель] = " & cp
'' просмотрите строку
DEBUG.PRINT S1 
 
Worksheets("База2").Range("U2").CopyFromRecordset SQLConn.Execute(S1)
0
0 / 0 / 0
Регистрация: 27.04.2015
Сообщений: 4
27.04.2015, 16:45  [ТС] 6
1. Источник создан правильно. Несколько раз путь перепроверял.
2. Имена полей также проверил в первую очередь. Сократил запрос до одного поля. Взял самое простое. (не помогло). Тем более у меня то на компе работает, при перемещении ничего не менял.
3. Обработчик тож блокировал получал ошибку -2147217904 (80040е 10)

Добавлено через 1 час 13 минут
Благодарю за помощь.
Отдельное спасибо shanemac51. Посмотрел строку через DEBUG.PRINT и увидел что на других компах переменная "ср" отображалась почему то без кавычек. Если добавить кавычки непосредственно в запросе то проблема решается)))
0
27.04.2015, 16:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.04.2015, 16:45
Помогаю со студенческими работами здесь

Слишком мало параметров. требуется 1
есть код strSQL = &quot;insert into ЖурналИнноваций select * from ВременныеДанные where...

Слишком мало параметров. Требуется 2
Здравствуйте, помогите, пожалуйста, исправить ошибку. Я хочу выбрать из таблицы строчки, в которых...

Слишком мало параметров. Требуется 1
Если я запрос полностю вбиваю одной строкой, то все нормально: void __fastcall...

Слишком мало параметров. Требуется 3
Здравствуйте друзья!. Работаю с акцесовской базой. В самой акцесовской базе создал запрос на...

ODBC Слишком мало параметров. Требуется 3
При попытке добавить запись в бд Access (подключение через ODBC, иные варианты не предлагать, так...

Слишком мало параметров, требуется 1. Access, VBA
Добрый вечер. Мне необходимо удалить определённую запись в таблице access, код ниже, но у меня...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru