|
|
|
Узнать выгружены ли данные в Excel?
|
|||
|---|---|---|---|
|
#18+
Собственно говоря сабж, вот выгружаю я данные в Exel, а как проверить были выгружены данные или нет? Или может надо у самого Exel получить информацию о том были данные выгружены или нет? Не знаю. Подскажите, пожалуйста! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2004, 12:12 |
|
||
|
Узнать выгружены ли данные в Excel?
|
|||
|---|---|---|---|
|
#18+
и как же ты выгружаешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2004, 12:20 |
|
||
|
Узнать выгружены ли данные в Excel?
|
|||
|---|---|---|---|
|
#18+
Dim xlsObject As Object If Not IsNull(Me.flPath) And Not (Me.flPath = "") Then Else MsgBox "Не указан путь выгрузки!", vbOKOnly, "Ошибка ввода" GoTo ex End If If Not IsNull(Me.flSheet) And Not (Me.flSheet = "") Then DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel97, "зап_все_поля2", Me.flPath, , Me.flSheet Else DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel97, "зап_все_поля2", Me.flPath, , "Лист1" End If 'DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel97, "SELECT пк_дата, пк_время FROM зап_все_поля", Me.flPath, , Me.flSheet If Me.flOpen Then Set xlsObject = CreateObject("Excel.Application") xlsObject.Workbooks.Open Me.flPath xlsObject.Visible = True MsgBox "Данные были успешно экспортированы в Excel", vbOKOnly, "" DoCmd.Close acForm, "пфр_сохранить_данные" Else MsgBox "Данные были успешно экспортированы в Excel", vbOKOnly, "" DoCmd.Close End If DoCmd.SetWarnings False DoCmd.OpenQuery "зап_все_поля_флаг", acViewNormal DoCmd.SetWarnings True Forms![фрм_ввод_данных].Refresh Forms![фрм_ввод_данных].Requery ex: End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2004, 13:33 |
|
||
|
Узнать выгружены ли данные в Excel?
|
|||
|---|---|---|---|
|
#18+
Окрывай рекордсетом свой запрос и проверяй есть ли там данные (Rs.Eof или Rs.RecordCount). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2004, 13:50 |
|
||
|
Узнать выгружены ли данные в Excel?
|
|||
|---|---|---|---|
|
#18+
2 Amel: Спасибо, а можно, пожалуйста, поподробней (очень подробно) Rs.RecordCount куда поставить и как оно должно работать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2004, 14:54 |
|
||
|
Узнать выгружены ли данные в Excel?
|
|||
|---|---|---|---|
|
#18+
Пожалуйста, подскажите, куда и как вставить Rs.RecordCount, что-то пробую, но никак не получается. >Окрывай рекордсетом свой запрос и проверяй есть ли там данные Ну а причем тут проверка данных, данные ведь в запросе и так будут? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2004, 21:53 |
|
||
|
Узнать выгружены ли данные в Excel?
|
|||
|---|---|---|---|
|
#18+
Ей, кто-нибудь, подскажите, пожалуйста!!! Очень надо!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2004, 00:10 |
|
||
|
Узнать выгружены ли данные в Excel?
|
|||
|---|---|---|---|
|
#18+
Что именно надо проверить? Наличие данных для выгрузки или успешность/безошибочность выгрузки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2004, 00:13 |
|
||
|
Узнать выгружены ли данные в Excel?
|
|||
|---|---|---|---|
|
#18+
Надо проверить успешность выгрузки данных. (Безошибочность проверять не надо). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2004, 00:22 |
|
||
|
Узнать выгружены ли данные в Excel?
|
|||
|---|---|---|---|
|
#18+
Тогда остается одно - импортировать полученный файл обратно в Аксесс и проверять, сколько в нем записей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2004, 00:24 |
|
||
|
Узнать выгружены ли данные в Excel?
|
|||
|---|---|---|---|
|
#18+
А попроще ничего нельзя придумать? Не, нужно просто определить, что произошла выгрузка! Я хотел поставить это событие на клик кнопки (код приведен в посте 13:33), но кнопка слишком мого всего проверяет и туда, наверно уже код не запихнуть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2004, 00:50 |
|
||
|
Узнать выгружены ли данные в Excel?
|
|||
|---|---|---|---|
|
#18+
На длину программы в одной кнопке ограничений нет. Но что значит произошла выгрузка и что значит не произошла? Если выгрузилась часть данных, а потом Эксель завис, то это как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2004, 00:54 |
|
||
|
Узнать выгружены ли данные в Excel?
|
|||
|---|---|---|---|
|
#18+
О, идея! А как можно определить, что весь код от 13:33 прошел без ошибок, т.е. я имею в виду, что пользователю не выдался ни 1 MsgBox, и если это условие произошло, то на успешное выполнение я бы запустил DoCmd.SetWarnings False DoCmd.OpenQuery "зап_все_поля_флаг", acViewNormal DoCmd.SetWarnings True а в случае неудачи заново прогнал бы весь код! Только как это осуществить??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2004, 00:59 |
|
||
|
Узнать выгружены ли данные в Excel?
|
|||
|---|---|---|---|
|
#18+
MsgBox'ы отследить нельзя. SetWarnings - штука очень опасная. Прогонять код заново бесполезно, потому что второй раз будет то же самое. Я пошел спать, спокойной ночи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2004, 01:01 |
|
||
|
Узнать выгружены ли данные в Excel?
|
|||
|---|---|---|---|
|
#18+
>Тогда остается одно - импортировать полученный файл обратно в Аксесс и >проверять, сколько в нем записей. А как это реализовать с помощью кода? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2004, 01:10 |
|
||
|
Узнать выгружены ли данные в Excel?
|
|||
|---|---|---|---|
|
#18+
Попытался эту проблему обойти, но заказчику опять надо, чтобы Ac97 проверял успешность выгрузки данных в Excel. Если кто-нибудь сталкивался с данной проблемой, откликнитесь, пожалуйста! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2004, 10:05 |
|
||
|
Узнать выгружены ли данные в Excel?
|
|||
|---|---|---|---|
|
#18+
Могу в кратце рассказать как формируются отчеты у нас: 1. Расчитываются данные в базу 1 2. Запускается отдельная база проверки 2, которая настраивается на конкретную базу и проверяет корректность расчитанной информации. 3. Данные выгружаются в Ёксель. 4. Следующая база 3 сгружает инфу с экселя в проверочную базу и 5. На базу 3 натравливается база проверки 2. Базы 2 и 3 для всех отчетов одинаковые с возможностью подстройки под конкретный отчет. Этот длинный путь, конечно, занимает много времени, однако практически исключает возможность возникновения ошибки. Правда базы 2 и 3 монстриального типа и написать их за пару дней не получится (они до сих пор совершенствуются). Но для своих конкретных отчетов можно написать что-нибудь и попроще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2004, 11:43 |
|
||
|
Узнать выгружены ли данные в Excel?
|
|||
|---|---|---|---|
|
#18+
2 CtrlAlt: Спасибо, но мне наверно как-раз нужно: >Но для своих конкретных отчетов можно написать что-нибудь и попроще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2004, 14:34 |
|
||
|
Узнать выгружены ли данные в Excel?
|
|||
|---|---|---|---|
|
#18+
Убедитесь, что в модуле, меню "Сервис/Ссылки" есть "Microsoft Excel 8.0 Object Library". Затем попробуйте: Sub test() Dim oApp As Object, wbkReport As Workbook, shtTemp As Worksheet Dim qdf As QueryDef, rstData As Recordset, i% Set oApp = GetObject(, "Excel.Application") oApp.Visible = True oApp.WindowState = xlMaximized Set wbkReport = oApp.Workbooks.Add("Шаблон1.xlt") Set shtTemp = wbkReport.Worksheets("Temp") Set qdf = CurrentDb.QueryDefs("Запрос1") For i = 0 To 5 qdf.Parameters(i) = Eval(qdf.Parameters(i).Name) Next Set rstData = qdf.OpenRecordset(dbOpenSnapshot) shtTemp.Cells.Clear shtTemp.Cells(1).CopyFromRecordset rstData End Sub Такой способ всегда превосходно действовал за все время моего общения с Access (c 97 года) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2004, 15:47 |
|
||
|
|

start [/forum/topic.php?fid=45&fpage=1647&tid=1675285]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
3ms |
track hit: |
69ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 195ms |
| total: | 334ms |

| 0 / 0 |
