Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 20.03.2011
Сообщений: 4

Как экспортировать отдельные записи в Excel?

20.03.2011, 12:43. Показов 1823. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Долго искал по форумам, но так и не нашел даже близкой темы по моей проблеме. Поэтому, надеюсь, кто-нибудь мне поможет. Вроде и не трудно, но в какую сторону копнуть - не знаю.

Тема:
Есть база данных по клиентам в Access 2007. Она содержит всё: ФИО, паспорт, где работает, адреса, телефоны - более 50 полей в каждой записи. Есть форма, в которой пользователь может найти любого человека из базы (через поиск по фамилии или при помощи кнопок "Следующая", "Предыдущая") или ввести нового.

Необходимо:
при нажатии на кнопку "Печать..." все данные записи, которая на экране, передавались в Excel 2007, где создана спец.форма для печати.

Что уже сделано:
База на 1500 клиентов есть, спец.форма Excel для печати есть, все ссылки корректно связаны.
У меня есть код для передачи одной записи из Access в Excel, но он передает только первую запись из базы. Как указать ему, что нужно экспортировать именно ту запись, которая в данный момент открыта в форме?

Вот код:

PureBasic
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
35
36
37
38
39
40
Option Compare Database
 
Private Sub Кнопка321_Click()
 
On Error GoTo Err_Command0_Click
 
    Dim oApp As Object
    Dim oWb As Object
    Dim oWs As Object
    Dim Filename, TableName As String
 
Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("ГЛАВНЫЙ")
If Not rs.EOF Then
 
Set oApp = CreateObject("Excel.Application")
 
Set oWb = oApp.Workbooks.Open("N:\DOC\База\list.xlsx")
Set oWs = oWb.Sheets(1)
With oWs
  .Cells(4, 4) = rs.Fields("Фамилия")
  .Cells(5, 4) = rs.Fields("Имя")
  .Cells(6, 4) = rs.Fields("Отчество")
 ‘и др.
 
End With
End If
rs.Close
Set rs = Nothing
 
oApp.Visible = True
 
Exit_Command0_Click:
    Exit Sub
   
Err_Command0_Click:
    MsgBox Err.Description
    Resume Exit_Command0_Click
 
End Sub
Здесь "ГЛАВНЫЙ" - это имя запроса.
Код работает, необходимые данные передает.

Я так понимаю, необходимо где-то в коде указать уникальный номер записи, которая открыта, потому что экспорт осуществляется только первой записи под №2 (какой бы фильтр не ставил).

Заранее спасибо, если поможете!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.03.2011, 12:43
Ответы с готовыми решениями:

Как в Excel экспортировать время?
Добрый вечер! Скажите пожалуйста как в excel экспортировать время? у меня почему то экспортирует нули begin BeginCol := 1; BeginRow:=3;...

Как экспортировать данные в Excel с VBA
Как экспортировать данные Query1 в Excel с VBA (например на диск с семенем эксспорт ) так штоби если уже есть файл (ране сахраниони)...

Как экспортировать таблицу из Excel в Maple
Подскажите как экспортировать таблицу из Excel в Maple и найти собственные значения если матрица 36 на 36!Маткад почему то не хочет...

8
Модератор
Эксперт MS Access
 Аватар для shanemac51
12231 / 5078 / 814
Регистрация: 07.08.2010
Сообщений: 14,932
Записей в блоге: 4
20.03.2011, 13:01
примерно так

Visual Basic
1
Set rs = CurrentDb.OpenRecordset("select  * from ГЛАВНЫЙ where id=" & me.id)
0
0 / 0 / 0
Регистрация: 20.03.2011
Сообщений: 4
20.03.2011, 13:23  [ТС]
Цитата Сообщение от shanemac51 Посмотреть сообщение
Set rs = CurrentDb.OpenRecordset("select * from ГЛАВНЫЙ where id=" & me.id)
Подскажите, me.id где здесь указывать номер записи? Me.id = Me.Номер ?

Если в коде вводить me.id, то выдает ошибку "Method not found" и зависает
Если в коде вводить me.Номер, то выдает ошибку "Слишком мало параметров. Требуется 1"
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12231 / 5078 / 814
Регистрация: 07.08.2010
Сообщений: 14,932
Записей в блоге: 4
20.03.2011, 14:28
я же не знаю ваших имен
написала условно
1
0 / 0 / 0
Регистрация: 20.03.2011
Сообщений: 4
20.03.2011, 14:46  [ТС]
Вопрос в том, В КАКУЮ ЧАСТЬ КОМАНДЫ подставлять! У меня при любом изменении выдает ошибку!

Вот имена:
ГЛАВНЫЙ - имя запроса
Номер - имя счетчика в запросе
ГЛАВНАЯ - имя формы

что нужно писать вместо me и вместо id ? Подскажите, пожалуйста!
0
 Аватар для Елена
2454 / 797 / 24
Регистрация: 18.08.2009
Сообщений: 1,697
21.03.2011, 06:03
Tankister, в запросе Главный поставьте условие на выборку записи по коду (приравнять к записи в форме или что-то подобное) и потом из этого запроса передавайте печать в эксель
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12231 / 5078 / 814
Регистрация: 07.08.2010
Сообщений: 14,932
Записей в блоге: 4
21.03.2011, 07:55
Visual Basic
1
Set rs = CurrentDb.OpenRecordset("select * from ГЛАВНЫЙ where номер=" & me.номер)
в форме должен быть контрол с именем "номер" для поля таблицы "номер"(без права корректировки-- доступ =нет)
1
0 / 0 / 0
Регистрация: 20.03.2011
Сообщений: 4
22.03.2011, 09:56  [ТС]
shanemac51, СПАСИБО, теперь всё работает!!! Сразу сам не догадался, что исправить! СПАСИБО!
0
 Аватар для Сергей1980
547 / 377 / 16
Регистрация: 17.12.2009
Сообщений: 991
22.03.2011, 16:59
Цитата Сообщение от Tankister Посмотреть сообщение
Подскажите, me.id где здесь указывать номер записи? Me.id = Me.Номер ?

Если в коде вводить me.id, то выдает ошибку "Method not found" и зависает
Если в коде вводить me.Номер, то выдает ошибку "Слишком мало параметров. Требуется 1"
Вам надо обозначить явную числовую или текстовую переменную в запросе, то есть принудительно ее
привести в формат, по которому у вас условие отбора.
То есть это должно выглядеть как то так:

A = Val (me.номер)
strSQL = "SELECT * FROM ТАБЛИЦА WHERE ПОЛЕ = " & A


К примеру так. У меня была идентичная ошибка, долго искал причину, подсказали именно такой вариант в более четком определении типа переменной в запросе. Текстовые, числовые и датаВремя определяются по разному.
Пробуйте
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.03.2011, 16:59
Помогаю со студенческими работами здесь

Как из Excel экспортировать данные в dbf
Можно в самом Excel сделать форму на ней кнопку "Экспорт"?

Как из ADOTable экспортировать данные в excel?
Работаю в Embarcadero RAD Studio 2010. Как из ADOTable экспортировать данные в Excel файл? для этого существует какой то инструмент, или же...

Как можно экспортировать данные из zedgraph в Excel?
Пожалуйста подскажите, где можно узнать о том, как можно экспортировать данные из zedgrapha в Excel?

Как экспортировать данные из Advantech Genie в Excel?
Нужно реализовать перенос данных из "Genie" в "Excel" и обратно. Неделю мучаюсь, не могу сделать, может кто то сталкивался с такой...

Как экспортировать Табличный документ в Excel без сохранения?
Есть табличный документ. Нужно чтобы он в экселе открывался. Сейчас просто создаю временный файл с рандомным именем в темп папке и...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru