powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Форма в Excel (ошибка в коде)
11 сообщений из 11, страница 1 из 1
Форма в Excel (ошибка в коде)
    #38640403
igor171
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый вечер, уважаемые!

Задачка следующая: Имеется база данных Access и файл Excel. В файле Excel имеется форма, которую заполняют пользователи, то есть при нажатии на файл Excel появляется форма которую пользователи заполняют и при нажатии на кнопку эти данные передаются в Access.

Все работает корректно, кроме случае когда два и более пользователей одновременно нажимают на кнопку, появляется ошибка "subscript out of range"
Код программы следующий:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=путь к БД"
cn.Open

With rs
  .CursorType = adOpenStatic
  .LockType = adLockOptimistic
  .Open "SELECT FIO, AGE FROM Table", cn
  .AddNew
  .Fields!AGE.Value = ComboBox1.Value
  .Fields!FIO.Value = ComboBox2.Value
  .Update
  .Close
End With
cn.Close

Set rs = Nothing
Set cn = Nothing


Модератор: Учимся использовать тэги оформления кода - FAQ

Просьба помочь кто знает...
...
Рейтинг: 0 / 0
Форма в Excel (ошибка в коде)
    #38640441
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igor171когда два и более пользователей одновременно нажимают на кнопкуна одном компьютере что ли?

или все-таки в разных копиях этого файла на разных компьютерах?

Перепишите код следующим образом
Код: vbnet
1.
2.
3.
4.
5.
6.
Dim cn As New ADODB.Connection
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=путь к БД"
cn.Open
cn.Execute "INSERT Table (AGE, FIO) VALUES (" + ComboBox1.Value + ", """ + ComboBox2.Value + """)"
cn.Close
Set cn = Nothing
...
Рейтинг: 0 / 0
Форма в Excel (ошибка в коде)
    #38640547
igor171
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, за оптимизацию кода!

План был таков (строго не судите ибо новенький):
Есть общая папка с Excel файлом и базой Access, пользователям(другие компьютеры) рассылается гиперссылка на открытие файла Excel, при открытии файла Excel срабатывает макрос который скрывает сам Excel и показывает только форму для заполнения, после заполнения формы данные передаются в Access.

Скажу честно я не знаю можно ли это таким образом реализовать ...
...
Рейтинг: 0 / 0
Форма в Excel (ошибка в коде)
    #38640550
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуйте мой вариант, не поможет - будем думать дальше

по идее в приведенном вами коде не должна возникать эта ошибка. Укажите, на какой строке она возникает.
...
Рейтинг: 0 / 0
Форма в Excel (ошибка в коде)
    #38640644
igor171
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Выдает ошибку по строке INSERT INTO: "Ошибка синтаксиса(пропущен оператор)"


Код: vbnet
1.
cn.Execute ("INSERT INTO Table (AGE, FIO) VALUES (" + ComboBox1.Value + ", " + ComboBox2.Value + ")")


Модератор: Я ведь уже давал ссылку на инструкцию, как оформлять сообщения!
...
Рейтинг: 0 / 0
Форма в Excel (ошибка в коде)
    #38640684
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
какие при этом значения ComboBox1.Value и ComboBox2.Value?
Какие типы полей в БД у AGE, FIO?
...
Рейтинг: 0 / 0
Форма в Excel (ошибка в коде)
    #38640731
igor171
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В бд Access оба поля Текстовые, значения тестовые Combobox1.Value=Пряник Combobox2.Value=Офис 6 этаж
...
Рейтинг: 0 / 0
Форма в Excel (ошибка в коде)
    #38640743
igor171
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
То есть если я пишу так:
Код: vbnet
1.
cn.Execute ("INSERT INTO Table (AGE, FIO) VALUES (1,2)")



то в базу все записывается ...
...
Рейтинг: 0 / 0
Форма в Excel (ошибка в коде)
    #38640767
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igor171оба поля Текстовыев таком случае в кавычки нужно взять не только второе, но и первое значение
...
Рейтинг: 0 / 0
Форма в Excel (ошибка в коде)
    #38640768
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...а вы их убрали даже со второго поля.
Текстовые литералы всегда надо брать в кавычки.
...
Рейтинг: 0 / 0
Форма в Excel (ошибка в коде)
    #38640798
igor171
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Заработало! Огромное спасибо! все варианты перебрал ... отчаялся уже!
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Форма в Excel (ошибка в коде)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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