Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Microsoft Access

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

Открыть новую тему     Написать ответ в эту тему

Wizzz_art



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

HELP | Обсуждение | FAQ

 
| В варезнике ищите по полному наименованию: Microsoft Office 2003-2016 |

 
Реляционная система управления базами данных (СУБД) корпорации Microsoft. Входит в состав пакета Microsoft Office. Имеет широкий спектр функций, включая связанные запросы, связь с внешними таблицами и базами данных. Благодаря встроенному языку VBA, в самом Access можно писать приложения, работающие с базами данных.
 

Смежные темы:
Программы » Microsoft Office 2019 & 365 | 2016 | 2013 | 2010 | 2007 | 2003
Программы » OneNote | Outlook 2013 & 2016 & 2019 | Outlook 2010 | Microsoft Mathematics & Math Solver
Программы » Word FAQ | Excel FAQ
Прикладное программирование » Word VBA | Excel VBA | Access VBA  
Андеграунд » Microsoft Office 2019 | 2016 | 2013 | 2010 | 2007 | 2003
Андеграунд » OneNote | Visio | SharePoint Server | Project Server | Exchange Server
Андеграунд » Надстройки (add-ins) и коммерческие макросы Excel
Андеграунд » Самостоятельная сборка дистрибутивов Оffice 2007/2010/2013/2016 | MUI для Office 2007

Всего записей: 310 | Зарегистр. 28-04-2002 | Отправлено: 19:06 12-09-2002 | Исправлено: AlexDAT, 03:36 03-09-2020
PEDKA



Улыбающийся КС
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Друзья, вот появилась следующая проблема...
 
Раньше нормально открывалась база. Переустановил систему, офис. База перестала открываться. Скачал новую — выдает аналогичную ошибку.
 

Цитата:
Введите код активации для номера ...  

Вот скрин.
При этом сам Access открывается. Вот, что написано в «О программе» — скрин.
 
Это у меня с офисом проблемы или база с паролем (или защищена каким-либо образом)?
 
Решение найдено

----------
вот такая вот батва ©...
"Тестирование" это давно уже не помойка.
"Тестирование" это филиал "Помощи" ©

Всего записей: 15962 | Зарегистр. 04-05-2003 | Отправлено: 23:55 13-01-2007 | Исправлено: PEDKA, 23:14 18-01-2007
Pantera3587

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кто подскажет? Есть список1, в котором, например, содержаться фамилии, и есть пустой список2. Вопрос: как прописать в VBA код (процедура: двойное нажатие кнопки), чтобы выбрав из первого списка фамилию она скопировалась во второй список.
 
Private Sub Список1_DblClick(Cancel As Integer)
Список1. Copy Список2 (???)
End Sub

Всего записей: 40 | Зарегистр. 20-10-2006 | Отправлено: 16:48 30-01-2007
Star Ik



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Pantera3587
Чтобы не париться со строковыми ф-циями, я бы сделал так:
1. Создал вспомогательную таблицу, например ТабСп2 с текстовым полем [Фамилия], с помощью SQL инструкции при открытии формы, содержащей эти списки, и установил
Список2.RowSource = "SELECT [ТабСп2].[Фамилия] FROM [ТабСп2]"
в той же процедуре открытия формы.
 
2. Создал процедуру копирования:
Private Sub Список1_DblClick(Cancel As Integer)
Dim База As Database, ТабСп2 As Recordset
    Set База = CurrentDb
    Set ТабСп2 = База.OpenRecordset("ТабСп2", dbOpenDynaset)
    ТабСп2.AddNew
    ТабСп2![Фамилия] = Список1
    ТабСп2.Update
    Список2.Requery
    Список2 = Список1
    ТабСп2.Close
    Set База = Nothing
End Sub
 
3. При закрытии формы удалил бы ТабСп2.

Всего записей: 62 | Зарегистр. 20-01-2006 | Отправлено: 12:22 01-02-2007 | Исправлено: Star Ik, 12:25 01-02-2007
Pantera3587

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Star Ik
Спасибо, что откликнулся. Попоробовала применить. При двойном щелчке в списке 1 выделяет в коде База As Database и выдает ошибку:User-defined Type not defined. Вообще-то у меня список 1 создан на основе ТаблицаФакт, а список 2 на основе Таблица1. В таблицефакт следующие поля: КодФакт, Фамилия, а в Таблица1 - Код1, ФИО. В форме созданы два списка на основе этих таблиц.
В VBA пишу:
 
Private Sub Form_Open(Cancel As Integer)
Список2.RowSource = "SELECT [ТаблицаФакт].[Фамилия] FROM [ТаблицаФакт]"
End Sub
 
или все-таки
 
Private Sub Form_Open(Cancel As Integer)
Список2.RowSource = "SELECT [Таблица1].[ФИО] FROM [Таблица1]"
End Sub
Далее:
 
Private Sub Список1_DblClick(Cancel As Integer)
Dim База As Database, Таблица1 As Recordset
    Set База = CurrentDb
    Set Таблица1 = База.OpenRecordset("Таблица1", dbOpenDynaset)
    Таблица1.AddNew
    Таблица1![ФИО] = Список1
    Таблица1.Update
    Список2.Requery
    Список2 = Список1
    Таблица1.Close
    Set База = Nothing
End Sub
В чем все-таки ошибка?

Всего записей: 40 | Зарегистр. 20-10-2006 | Отправлено: 18:33 01-02-2007
Star Ik



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
или все-таки  
 
Private Sub Form_Open(Cancel As Integer)  
Список2.RowSource = "SELECT [Таблица1].[ФИО] FROM [Таблица1]"  
End Sub

Именно так. Ведь данные будут копироваться в таблицу1, а уж потом из неё в Список2, при выполнении Список2.Requery.

Цитата:
При двойном щелчке в списке 1 выделяет в коде База As Database и выдает ошибку:User-defined Type not defined.

1. Необходимо подключить библиотеку Microsoft DAO 3.6 Object Library. Для этого открыть модуль формы, меню Tools -> References. Найти в списке и отметить птицей указанную библиотеку.
2. Если установлен антивирус Касперского, то воизбежание возможных пререканий с ним, в объявлении переменной База надо заменить As Database на As Object.
После этого всё должно работать.

Всего записей: 62 | Зарегистр. 20-01-2006 | Отправлено: 09:15 02-02-2007
Pantera3587

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Star Ik
Все подправила, но опять не хочет работать. Теперь выдает ошибку Type mismatch и выделяет строку:
Set Таблица1 = База.OpenRecordset("Таблица1", dbOpenDynaset)
В чем теперь проблема?

Всего записей: 40 | Зарегистр. 20-10-2006 | Отправлено: 16:48 02-02-2007
Star Ik



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Странно. Попробуй в процедуре Список1_DblClick объявить Таблица1 тоже As Object. Возможно какойто конфликт версий. К стати, какая версия Windows и Access? И установлен ли Касперский?

Всего записей: 62 | Зарегистр. 20-01-2006 | Отправлено: 22:42 02-02-2007
Pantera3587

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Star Ik
Спасибо тебе за помощь. На компе стоит Windows XP Home Edition, Access 2002. Исправила Таблицу1 на As Object, заработало, только где-то я напортачила, т.к. в таблицу 1 в столбец Фамилия добавляется ключевое поле, и в самом списке ничего не появляется. Попробую разобраться в чем дело, скорее всего  где-то в инструкции.
 
 
Добавлено:
Все заработало, все дело было в том, что в Списке2 в строке тип источника строк ничего не стояло, выбрала Таблица или запрос и все появилось, да и вместо ключевых полей выдает фамилии, т.к. из списка1 убрала ключевое поле в строке Источник строк.
 
Добавлено:

Цитата:
Потом поместить на форму еще одно свободное поле и календарик для выбора даты, дату с календарика передавать в поле.  

А как это можно сделать? Кто подскажет?

Всего записей: 40 | Зарегистр. 20-10-2006 | Отправлено: 15:50 05-02-2007
Star Ik



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Pantera3587

Цитата:
Все заработало

Я рад за тебя!

Цитата:
А как это можно сделать?

1. В свойствах свободного поля (назовем его Дата) установить "Формат поля" (вкладка "Макет") любой (по вкусу) формат даты.
2. Поместить на форму элемент "Календарь": Панель элементов -> Другие элементы -> Элемент управления Календарь (назовем его Календарь).
3. Создать процедуры:
 
Private Sub Form_Open(Cancel As Integer)
    Календарь.Value = Date
    Дата = Date
End Sub
 
Private Sub Календарь_AfterUpdate()
    Дата = Календарь.Value
End Sub

Всего записей: 62 | Зарегистр. 20-01-2006 | Отправлено: 10:09 06-02-2007 | Исправлено: Star Ik, 10:11 06-02-2007
Pantera3587

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Star Ik
Оказывается все так просто. Здорово! Огромное спасибо за помощь.

Всего записей: 40 | Зарегистр. 20-10-2006 | Отправлено: 18:19 06-02-2007
Star Ik



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Pantera3587

Цитата:
Оказывается все так просто.

В проф. приложениях обычно делают несколько сложнее. Чтобы не загромождать календарем форму, особенно если на ней много полей, календарь помещают в другую модальную форму, ограниченную его размером, которую затем открывают либо двойным щелчком на поле ввода, либо нажатием небольшой кнопки справа от поля ввода, которая, в свою очередь, может появляться лишь при получении фокуса этим полем. Но это все уже из области дизайна.
Удачи и успехов!

Всего записей: 62 | Зарегистр. 20-01-2006 | Отправлено: 09:53 07-02-2007
Pantera3587

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Star Ik
К тебе еще вопрос. Делаю две таблицы Товар1(КодТовар1, Наименование1, Цена1), Товар2 (КодТовар2, Наименование2, Цена2). Делаю третью таблицу Подбор (КодПодбор, Наименование, ЦенаПодбор). Делаю форму, в которой два списка: СписокТовар1 и СписокПодбор. В общем использую также как и впредыдущем вопросе принцип: при двойном щелчке из одного списка добавляю данные в другой список, т.е. из СписокТовар1 в СписокПодбор. Только теперь хочу, чтобы добавлялось два поля Наименование1 и Цена1. Пишу тот же код:
 
Private Sub Form_Open(Cancel As Integer)
СписокПодбор.RowSource = "SELECT [Подбор].[Наименование], [Подбор].[ЦенаПодбор]FROM [Подбор]"
End Sub
 
Private Sub СписокТовар1_DblClick(Cancel As Integer)
Dim База1 As Object, Подбор As Object
     
    Set База1 = CurrentDb
    Set Подбор = База1.OpenRecordset("Подбор")
    Подбор.AddNew
    Подбор![Наименование] = СписокТовар1
    Подбор![ЦенаПодбор] = СписокТовар1
    Подбор.Update
    СписокПодбор.Requery
    СписокПодбор = СписокТовар1
    Подбор.Close
    Set База1 = Nothing
 
End Sub
 
да в свойстве СписокТовар1 в строке Источник строк стоит  
SELECT Товар1.Наименование1, Товар1.Цена1 FROM Товар1;  
присоединенный столбец 1
в свойстве СписокПодбор в строке Источник строк:
SELECT [Подбор].[Наименование], [Подбор].[ЦенаПодбор] FROM [Подбор];
присоединенный столбец 1
 
При пробе выдает Ошибка преобразования данных и выделяет строку
Подбор![ЦенаПодбор] = СписокТовар1
Убираешь эту строку, добавляется только наименование. а нужно, чтобы добавилось и наименование и цена. Как правильно исправить код?
 
Второй вопрос. Есть еще таблица Товар2. Как можно сделать, чтобы выделив в СпискеПодбор какое-нибудь наименование, заменить его на наименование из таблицы Товар2. Может быть сделать кнопку Заменить, при нажатии на которую открывался бы список СписокТовар2. А дальше должно быть выделено наименование из СпискаПодбор, затем выделяется наименование из СпискаТовар2 и при его выделении должна произойти замена. Как это можно осуществить?
 
 
Добавлено:
Еще один вопрос. Как импортировать с интеренета какой-нибудь прайс  сразу в базу. Возможно ли такое?. Может кто приведет пример?

Всего записей: 40 | Зарегистр. 20-10-2006 | Отправлено: 17:22 07-02-2007
Star Ik



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Pantera3587

Цитата:
К тебе еще вопрос.

Да это не вопрос, а настоящий ДОПРОС с пристрастием!
Я могу на все ответить, но это займет слишком много места (гораздо больше чем вопрос).
Может сбросиш мне свою базу (адрес смотри в личке), я приведу её в божеский вид и через пару дней верну с комментариями. Раньше не смогу - текучка заедает.
По поводу импорта прайсов могу сказать следующее: напрямую из сети импортировать в базу ЛЮБОЙ прайс весьма затруднительно. Они могут иметь разный формат (HTML, Excel, Word и т.д.), различное оформление (разделы, примечания, картинки). Импорт обновлений одного и того же прайса возможен, если он имеет постоянный табличный формат. Методика импорта зависит от формата прайса.

Всего записей: 62 | Зарегистр. 20-01-2006 | Отправлено: 15:31 08-02-2007
Pantera3587

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Star Ik
Подскажи как тебе отправить базу?
Цитата:
адрес смотри в личке
А где это?

Всего записей: 40 | Зарегистр. 20-10-2006 | Отправлено: 19:10 08-02-2007
Star Ik



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Pantera3587

Цитата:
А где это?

В правом верхнем углу страницы форума ссылка Личный Ящик. Это внутренняя почта форума.

Всего записей: 62 | Зарегистр. 20-01-2006 | Отправлено: 21:32 08-02-2007
Pantera3587

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Star Ik
базу тебе отправила.

Всего записей: 40 | Зарегистр. 20-10-2006 | Отправлено: 16:29 09-02-2007
Star Ik



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Pantera3587
Загляни в личку.

Всего записей: 62 | Зарегистр. 20-01-2006 | Отправлено: 09:34 12-02-2007
The Invisible



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет, сначала запостил в теме про Excel, посоветовали обратиться в эту тему.
 
надо осуществить следующее :
 
есть несколько больших файлов *.xls
файлы в виде отчетов допустим с такими колонками:
имя / фамилия / место / дата
 
мне надо как то сделать фильтрацию по некоторым колонкам
допустим выбираю: такая то дата, и такое то имя..
 
и надо чтоб взяло соответствующие данные из всех файлов *.xls
и представило в виде одного файла или предложило бы сохранить в виде  *.xls
 
как такое в Access сделать?
 
заранее спасибо

Всего записей: 609 | Зарегистр. 20-02-2004 | Отправлено: 19:43 12-02-2007
Star Ik



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
The Invisible
Если порядок и формат соответствующих полей во всех файлах *.xls одинаковый, то вручную это сделать просто:
Из первого файла *.xls импортировать таблицу в Access. Затем, через буфер, добавить в неё все строки из таблиц других файла *.xls (ес-но без заголовков). К полученной таким образом "сводной" таблице применить необходимый фильтр (запрос) ирезультат экспортировать в новый файл .xls.
Хотя всё это аналогично можно сделать и в Excel, применив в конце автофилтры.
B в Excel и в Access все эти действия в принципе можно записать на VBA.

Всего записей: 62 | Зарегистр. 20-01-2006 | Отправлено: 23:17 12-02-2007
The Invisible



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
B в Excel и в Access все эти действия в принципе можно записать на VBA.
 

а не подскажите код макроса для Excel например ?

Всего записей: 609 | Зарегистр. 20-02-2004 | Отправлено: 00:16 13-02-2007
Открыть новую тему     Написать ответ в эту тему

Страницы: 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

Компьютерный форум Ru.Board » Компьютеры » Программы » Microsoft Access


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru