Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
1 / 1 / 0
Регистрация: 29.01.2014
Сообщений: 23

Открыть с VB Form БД *.mdb через Access для редактирования

11.02.2014, 22:04. Показов 2532. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сразу прошу прощения, если повторяю вопрос и прошу не пинать, но поиск по форуму результатов не дал. У самого опыта не хватает, хотя понимаю, что проблема "детская".
Условия: есть форма с элементами. Textbox'ы и Combobox'ы связаны с БД, которая находится в папке проекта, посредством ADODB - всё работает отлично.
Задача: при нажатии на кнопку необходимо открыть БД *.mdb с запуском Access, чтобы можно было отредактировать БД, сохранить и закрыть. (Я говорю не о подключении БД - она уже подключена. а именно об открытии через родную программу - Access).
Дело в том, что БД содержит прайс, который время от времени надо будет редактировать. Нужен простой способ: открыл БД, подправил цены, сохранил, закрыл.
Киньте, пожалуйста, коротенький и простой код для достижения этой цели.
Спасибо.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.02.2014, 22:04
Ответы с готовыми решениями:

MS Access 2003 как открыть отчет для редактирования
Модератора прошу прощения за то, что два вопроса в одной теме. Мне 79-й год, не судите меня и не обзывайте дураком, сам не думал, что...

VBA Outlook: Как открыть сообщение для редактирования через объектную модель Word?
Добрый день! Подскажите, плиз, как открыть сообщение (MailItem) для редактирования через объектную модель Word (через свойство...

DAO 3.6 - Как открыть запароленную БД (*.mdb) через VB 6?
Проблема! Я запаролил БД в Access 2000 (пароль - zzz) Теперь хочу открыть БД через ВБ.... Пишу: Public DBF As Database DBName...

5
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
11.02.2014, 22:17
Лучший ответ Сообщение было отмечено The trick как решение

Решение

Цитата Сообщение от Shaman Weeder Посмотреть сообщение
об открытии через родную программу - Access
Visual Basic
1
2
3
4
5
6
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Const SW_SHOWNORMAL = 1
 
Private Sub Command1_Click()
 ShellExecute Me.hwnd, vbNullString, "C:\Путь_к_базе\Ваша_База.mdb", vbNullString, "", SW_SHOWNORMAL
End Sub
1
1 / 1 / 0
Регистрация: 29.01.2014
Сообщений: 23
12.02.2014, 01:03  [ТС]
Большое спасибо - работает!

Цитата Сообщение от Pro_grammer Посмотреть сообщение
Visual Basic
1
 "C:\Путь_к_базе\Ваша_База.mdb"
а если не указывать путь к файлу, а записать так, чтобы файл БД находился в папке проекта? типа, App.Path... как это правильно записать?

Добавлено через 1 час 52 минуты
И ещё созрел вопрос. Как можно в коде указать, чтобы документ по клику на кнопке открывался не в конкретной программе, а в ассоциированном приложении? Например, *.doc и *.xls можно открыть и в MS Office и в OpenOffice. Как сделать, чтобы не было указания на конкретное приложение, потому что MS Office стоит не на всех компьютерах и при открытии документа выдаст ошибку. А так - клик! на кнопочку "Открыть прайс" - и он открывается в том приложении, с которым ассоциирован на данном компьютере.
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
12.02.2014, 02:21
Visual Basic
1
strDBName = App.Path & "\biblio.mdb" ' установить путь к таблице рядом с программой
Добавлено через 3 минуты
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
' Декларация функции для запуска файла. 
Public Declare Function ShellExecute Lib "shell32.dll" Alias _ 
                        "ShellExecuteA" (ByVal hwnd As Long, _ 
                         ByVal lpOperation As String, _ 
                         ByVal lpFile As String, _ 
                         ByVal lpParameters As String, _ 
                         ByVal lpDirectory As String, _ 
                         ByVal nShowCmd As Long) As Long 
 
' Декларация константы для максимизирования окна открываемого приложения. 
' Для работы с другими константами смотрите MSDN. 
Public Const SW_SHOWMAXIMIZED = 3 
 
'После этого нижеследующий код будет открывать файл test.xls. 
 
Call ShellExecute(0, "open", "test.xls","", "", SW_SHOWMAXIMIZED)
1
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
12.02.2014, 07:45
Цитата Сообщение от Shaman Weeder Посмотреть сообщение
чтобы документ по клику на кнопке открывался не в конкретной программе, а в ассоциированном приложении?
Для этого я и применил ShellExecute - эта API открывает любое ассоциированное приложение, а не только mdb.
Кликните здесь для просмотра всего текста
В VB6 есть свой Shell, но ему как раз нужно конкретно указывать приложение.

Цитата Сообщение от Shaman Weeder Посмотреть сообщение
типа, App.Path... как это правильно записать?
Так и записывать App.Path & "\имя документа".
1
1 / 1 / 0
Регистрация: 29.01.2014
Сообщений: 23
12.02.2014, 09:07  [ТС]
Всем спасибо - буду пробовать.

Добавлено через 26 минут
Да, теперь всё отлично работает.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.02.2014, 09:07
Помогаю со студенческими работами здесь

Возможно ли открыть БД(mdb) из VB6 через ADO без образования файла блокировки?
Хочу взять данные с файл сервера с правом только на чтение! Возможно ли открыть БД из VB через ADO без образования файла блокировки (.ldb)?...

Access. Копирование с одной базы b1.mdb содержимое в другую базу b2.mdb
Через ADOConnection1 подключил базу b1.mdb, ADOConnection2 подключил базу b2.mdb. В каждой из баз имеется по одной таблице (в b1.mdb...

Access ошибается при создании mdb или сжатии уже созданного mdb
Здравствуйте! Помогите! Access ошибается при создании mdb или сжатии уже созданного mdb. Скриншоты приложил. Сперва сообщение на на...

Авторизация в Windows Form через Access
Всем привет) Помогите, пожалуйста! Есть форма, к форме привязана БД Access "Login". В таблице два столбца: Name (Name) и Password...

Авторизация в Windows Form через Access
Здравствуйте. Нужно создать авторизацию. При нажатии на кнопку регистрация пользователь вводит логин и пароль, и его данные заносятся в БД....


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru