Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Перенос данных в Excel - 2007
 
 автор: alexsamurai   (23.07.2008 в 14:42)   личное сообщение
 
 

Коллеги, Добрый день!
У меня возникла проблемка,есть форма, в которой есть одно или несколько полей и нужно из них данные, перенести в Excel. Смотрел старые темы, но в новом Access-2007, те советы у меня применить не получается. Алгоритм я вижу так. Берется поле(как его взять?), присваивается переменной. Открываем Excel, выбираем ячейку и вставляем данные. Потом очищаем буфер(как это сделать?)
Shell "C:\Program Files\Microsoft Office\Office12\excel.exe e:\1.xls", vbMaximizedFocus Так я открываю таблицу. Range("C22").Select ActiveSheet.Paste Подскажите, пожалуйста, как передать переменной данные из поля5, и вообще что я делаю не так. И еще посоветуйте, пожалуйста, книгу, в которой есть все эти команды

  Ответить  
 
 автор: osmor   (23.07.2008 в 15:32)   личное сообщение
 
 

Почему Shell? почему не использовать OLE?

  Ответить  
 
 автор: alexsamurai   (23.07.2008 в 16:58)   личное сообщение
 
 

я просто не знаю. Это я где то подглядел. Если не трудно скажи, как?

  Ответить  
 
 автор: osmor   (23.07.2008 в 17:00)   личное сообщение
 
 

http://hiprog.com/forum/read.php?id_forum=1&id_theme=3587&page=1

  Ответить  
 
 автор: alexsamurai   (24.07.2008 в 10:08)   личное сообщение
 
 

спасибо, буду разбираться

  Ответить  
 
 автор: alexsamurai   (25.07.2008 в 14:40)   личное сообщение
 
 

Set db = CurrentDb
Set xl = CreateObject("Excel.Application")
Set xlb = xl.Workbooks.Add
Set xls = xlb.Worksheets(1)

xl.Visible = True
Set rs = db.OpenRecordset("фио")

xls.Range("a1").CopyFromRecordset rs

Вот что у меня получилось. Но он печатает всю таблицу, а мне нужно только одно поле. Подскажите, в чем здесь ошибка?

  Ответить  
 
 автор: час   (25.07.2008 в 15:04)   личное сообщение
 
 

Set rs = db.OpenRecordset("фио")
а фио - это таблица?
Сделайте запрос - на один столбец "Ф_И_О"
Set rs = db.OpenRecordset("Ф_И_О")

  Ответить  
 
 автор: alexsamurai   (25.07.2008 в 15:47)   личное сообщение
 
 

Есть база "клиенты". Есть поле "паспорт" из которого, с помощью формулы я забираю серию, номер, кем и когда выдан и эти данные отправляю все это в Excel, в разные я чейки.

  Ответить  
 
 автор: час   (25.07.2008 в 16:27)   личное сообщение
 
 

Ну тогда -
Цикл по рекордсет(у)
от первой записи до последней.........
когда формулой выуживаете данные - можете сохранить их (данные) в переменных
а затем передать в разные ячейки
(а) = фио
(б) = серия
.......................
Затем очистить переменные и повторить цикл до конца рекордсет(а)

  Ответить  
 
 автор: alexsamurai   (25.07.2008 в 16:45)   личное сообщение
 
 

а как присвоить?
я ввожу как в VB,
Dim a
a = поле5

но это не правильно

  Ответить  
 
 автор: час   (26.07.2008 в 08:46)   личное сообщение
 
 

Это не правильно.............
Вы про DAO или ADO в курсе?

  Ответить  
 
 автор: alexsamurai   (28.07.2008 в 11:32)   личное сообщение
 
 

если честно, то нет. Я работал с VB, решил попробывать с VBA, думал что тоже самое. Ан нет. Со временем, конечно разберусь, но сейчас встал острый вопрос, по поводу присвоения переменным данных из поля в Access и переноса их в Excel. В Excel там, Range это я нашел. А вот как в Access, пока не нашел. Если не трудно подскажите. И посоветуйте, пожалуйста, книгу.Сейчас читаю, книгу: Л. А. Демидова, А. Н. Пылькин - Программирование в среде VBA

  Ответить  
 
 автор: alexsamurai   (28.07.2008 в 14:13)   личное сообщение
 
 

вообщем всем, спасибо. Уже почти, разобрался.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList