Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 19.05.2015
Сообщений: 11
1

Ошибка в коде vba для переноса элемента из одного списка в другой

07.07.2016, 18:56. Показов 1307. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
При клике на элемент списка в форме должно, по моим ожиданиям, перекинуть выбранный элемент этого (первого) списка во второй. Но что-то пошло не так, выдает ошибку:
Во время подключения MS Access к серверу OLE или элемента управления ActiveX произошла ошибка.

Visual Basic
1
2
3
4
Private Sub List1_Click()
List2.AddItem List1.Text
List1.RemoveItem List1.ListIndex
End Sub
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.07.2016, 18:56
Ответы с готовыми решениями:

VBA процедура переноса настроек word с одного компьютера на другой
Прошу о помощи разбирающихся людей. Необходимо разработать процедуру переноса настроек приложения...

Ошибка переноса из одного ListBox в другой
Всем привет. Столкнулся со следующей проблемой: При переносе из одного ListBox в другой выдает...

Макрос для выборочного переноса из одного листа в другой
Здраствуйте! Так уж сложилось, что я не владею языками (программирования), но хорошо разбираюсь в...

Макрос для переноса данных с одного файла в другой
Уважаемые эксперты, нужно Ваша помощь, очень:( Суть такова есть файл, в котором 2 эксель файла, а...

12
Эксперт MS Access
26806 / 14485 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
07.07.2016, 19:17 2
Уберите .Text. В ВБА Access это свойство имеет иной смысл, нежели в формах ВБ 6
Visual Basic
1
2
3
4
Private Sub List1_Click()
List2.AddItem List1  '.Text
List1.RemoveItem List1.ListIndex
End Sub
И еще. Предлагаемый код пригоден только для свободных списков без источника.
2
0 / 0 / 0
Регистрация: 19.05.2015
Сообщений: 11
09.07.2016, 12:38  [ТС] 3
Хм, а как тогда сделать подобный перенос между списками с источниками, подскажете?
0
Эксперт MS Access
17487 / 7249 / 1651
Регистрация: 21.06.2012
Сообщений: 13,866
09.07.2016, 12:50 4
Только для списка значений ...
Читаем справку
"Remarks
The RowSourceType property of the specified control must be set to "Value List".
This method is only valid for list box or combo box controls on forms."
1
Модератор
Эксперт MS Access
11963 / 4831 / 779
Регистрация: 07.08.2010
Сообщений: 14,151
Записей в блоге: 4
09.07.2016, 12:57 5
гугл-перевод
замечания
RowSourceType свойство указанного элемента управления должен быть установлен в "Список значений".
Этот метод применим только для окна списка или поля со списком элементов управления на формах.
1
0 / 0 / 0
Регистрация: 19.05.2015
Сообщений: 11
09.07.2016, 14:54  [ТС] 6
Понятно, что ж, спасибо.
0
Эксперт MS Access
26806 / 14485 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
09.07.2016, 14:59 7
Цитата Сообщение от benogruz Посмотреть сообщение
а как тогда сделать подобный перенос между списками с источниками, подскажете?
В принципе тоже возможно. Но это будет перенос из одной таблицы в другую. И вариантов много. Зависит от большого количества факторов. Ответить однозначно нельзя, могут быть различные ситуации.

Ну и, как уже Вам писали, тип источника списка будет таблица/запрос. А не список значений.
0
шапоклякистка 8-го дня
3679 / 2239 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
09.07.2016, 15:05 8
Цитата Сообщение от benogruz Посмотреть сообщение
Понятно, что ж, спасибо.
НЕ поняла, чего вы скисли-то? И список значений - двольно годный способ переноса, да и другие способы есть. Выкладывайте образец данных, на пальцах не объясню.

Добавлено через 1 минуту
Цитата Сообщение от mobile Посмотреть сообщение
Но это будет перенос из одной таблицы в другую.
Зачем? Если можно просто редактировать условие where в двух запросах?
0
0 / 0 / 0
Регистрация: 19.05.2015
Сообщений: 11
09.07.2016, 15:50  [ТС] 9
Как из таблицы в таблицу переносить мне понятно. Но этот способ, увы, не подходит.

БД сейчас у меня на этом компе нет, как и Аксесса, придется подождать немного, ну или взять за пример и самому по-быстрому накидать в Аксессе что-то такое: в форме есть список1, ссылающийся на таблицу1, есть пустой список2, в который должно попадать выделенное (активное, нажатое, как угодно) в списке1 значение после, допустим, нажатия кнопки1. Ну, или же после дабл клика по нужному значению списка1, это уже не так важно.
0
шапоклякистка 8-го дня
3679 / 2239 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
09.07.2016, 17:50 10
Ок, тогда под вашу конкретику допилите сами.
Вложения
Тип файла: rar ДваСписка.rar (28.8 Кб, 2 просмотров)
0
шапоклякистка 8-го дня
3679 / 2239 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
09.07.2016, 17:55 11
Лучший ответ Сообщение было отмечено benogruz как решение

Решение

Нашла в прошлой версии ляп, исправила. Берите этот вариант.

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Option Compare Database
Option Explicit
 
Dim strCodes As String
 
Private Sub Левый_Click()
    strCodes = Левый & "," & strCodes
    Правый.RowSource = "Select * From Таблица1 Where Код IN (" & strCodes & ")"
    Левый.RowSource = "Select * From Таблица1 Where Код NOT IN (" & strCodes & ")"
End Sub
 
Private Sub Правый_Click()
    strCodes = Replace(strCodes, Правый & ",", "")
    If Len(strCodes) > 0 Then
        Правый.RowSource = "Select * From Таблица1 Where Код IN (" & strCodes & ")"
        Левый.RowSource = "Select * From Таблица1 Where Код NOT IN (" & strCodes & ")"
      Else
        Правый.RowSource = "SELECT * FROM Таблица1 WHERE False"
        Левый.RowSource = "SELECT * FROM Таблица1 WHERE True"
    End If
End Sub
Вложения
Тип файла: rar ДваСписка.rar (32.1 Кб, 8 просмотров)
1
шапоклякистка 8-го дня
3679 / 2239 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
09.07.2016, 18:01 12
На самом деле это даже не мой метод, а взяла на вооружение у двоих форумчан (mobile и у кого-то еще), когда обсуждалась возможность выбора строк таблицы галочками без создания временной таблицы.
1
0 / 0 / 0
Регистрация: 19.05.2015
Сообщений: 11
10.07.2016, 12:53  [ТС] 13
Спасибо большое, завтра буду подстраивать код под свою БД.
0
10.07.2016, 12:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.07.2016, 12:53
Помогаю со студенческими работами здесь

Использование макросов для переноса данных с одного листа на другой
Доброго дня! Нужна помощь в написании макросов! На основании информации на листе "Табель" нужно ...

Подскажите программу для переноса места с одного диска на другой
Здравствуйте. У меня на данный момент два локальных диска, но в последнее время замечаю, что на...

Макрос для переноса выделенных ячеек из одного листа документа в другой
Добрый день. Буду признателен тем, кто сможет оказать мне помощь в следующем вопросе. В...

Как написать скрипт на PHP для переноса изображения с одного сайта на другой?
Суть задачи заключается в следующем. Есть сайт, где по результатам простенкого фильтра с помощью...


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

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