Access. Вывод на форму данных

Программирование на Visual Basic for Applications
WiDoS
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 25.04.2006 (Вт) 13:55

Access. Вывод на форму данных

Сообщение WiDoS » 25.04.2006 (Вт) 19:18

Приветствую! Помогите пожалуйста. Неделю как знаю VBA и вобще программирование под офис.
Делаю одну работу в акцесе и не могу закончить.

Значит что задача заключается в следующем: на форме находится кнопка с помощью к-й открываю диалоговое окно для выбора xls файла. Данные от туда нужно поместить на форму.

Слышал есть такая фишка как datagrid, справка молчит по этому поводу, на форуме тоже не нашел. Пытаюсь сделать с помощью Spreadsheet5, так строка
Dim spr1 As Spreadsheet
!!! Set spr = Forms!Form1!Spreadsheet5
дает ошибку он не соответствии данных, Spreadsheet5 - находится на форме.

Как можно отобразить в достоином виде содержимое xls файла???
---------------------------------------------------------------
Я подключил xls с помощью кода
Set Exc = CreateObject("Excel.Application")
Set WB = Exc.Workbooks.Open(FD.SelectedItems(1))
Set Sh = WB.Sheets(1)
Т.е. из файла я могу получить данные для дальнейшей обработки с помощью объекта Worksbook. А вот отобразить на форму не знаю как! ПОМОГИТЕ КТО ЗНАЕТ!

Вобще как лучше поступить в таких случаях? Может кто-то даст пример, пол инет облазил ничего не могу найти.
Как в акцессе вытащить правильно таблицу из экселя???
Как найти количество записей если таблица прямоугольная??? Есть какие-нибидь средства встроенные???
Спасибо![/syntax]

Al Khamid
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 274
Зарегистрирован: 11.02.2004 (Ср) 10:00
Откуда: Москва, Ховрино

Сообщение Al Khamid » 26.04.2006 (Ср) 17:13

Последний раз редактировалось Al Khamid 18.11.2007 (Вс) 2:16, всего редактировалось 1 раз.

WiDoS
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 25.04.2006 (Вт) 13:55

Сообщение WiDoS » 27.04.2006 (Чт) 17:59

Вся проблема в том что нужно на ВБА. Я знаю что можно импортировать ескель таблицу, что можно с помощью того же лист бокса отобразить данны. Но нужно совет как это сделать на ВБА, без участия средств акцеса (в смысле иморта и т.д.) Т.е. все что будет на форме тем будут пользоваться пользователи.
Меня интересует как удобней, разумней, рациональней и т.д. подключится (импортировать, загрузить) таблицу из экселя?
На каком элементе управления лучше отобразить данные (кроме едит бокса, лист бокса), меня интересует типа датагрида или Spreadsheet, в справке у меня нет описания как работать с ними, понял что с помощью запроса.
В общем помогите куском кода или пару функцей, я там уже сам разберусь. Спасибо!
P.S. Не вижу тут ничего ужасного. Ну нет у меня опыта, не знаю как правильно, лит-ры тоже нет, одна справка и Ваш форум.

Al Khamid
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 274
Зарегистрирован: 11.02.2004 (Ср) 10:00
Откуда: Москва, Ховрино

Сообщение Al Khamid » 28.04.2006 (Пт) 8:21

Последний раз редактировалось Al Khamid 18.11.2007 (Вс) 1:46, всего редактировалось 1 раз.

WiDoS
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 25.04.2006 (Вт) 13:55

Сообщение WiDoS » 28.04.2006 (Пт) 14:04

Ну конечно спасибо, чесное слово, за потраченое время. Но я умею работать в акцесе, знаю все необходимое для импорта и вобще работы с таблицами. Я никогда не программировал под офисом и хотел получить инфу связанную с языком. Хорошая идея посмотреть учебную базу, эт хор. так и сделаю.
Задача заключается не в том что я не знаю как связать эл-ты уп-я с таблицами или запросами. Изначально задумано что пользователь не умеет пользоваться акцессом, он только имеет форму и работает с ней.
Меня интересует функции к-е дадут возможность подключать xls файл, или импортировать данные из него в акцес. Причем пользователь будет выбирать разные xls файлы, поэтому данные будут динамическими. Эта форма будет вести расчет исходя данных в этом файле, и реализовывать этот проект нужно только на ВБА. Пользователь не сможет самостоятельно импортировать эти данные.
Допустим я нашел два способа как вытянуть таблицу из экселевского файла:
1) С помощью объекта Апликатион.Ексель, там есть Ворксшит и он содержит лист с нужными данными.
2) С помощью запроса и Рекордсет. Потом в датагрид или спиаршит устанавливаю ДатаСорс=Рекордсет.

Датагрид или подобный элемент уп-я нужен для тображения данных к-е получены из эксель файла. Так нужно и использование листбокс не рекомендуется в данном случае.

Так же хочу реализовать возможность если пользователь внесет изменения в этот элемент управления, чтобы новые данные можно было сохранить в тот самый эксемель файл. Вот прошу помочь какой ф-й это можно сделать? Как другим способом можно реализовать данное средстов для сохранения. Или какой друго эл-т управления можно использовать для отображения данных?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 28.04.2006 (Пт) 14:18

В access (если он относительно новый) уже есть ссылка на ADO.

Поэтому, идём на www.connectionstrings.com и смотрим, какова должна быть строка подключения в файлу excel. Используем строку подключения, берём данные кодом, раз очень нуно именно так...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 52

    TopList