Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Вывод в PDF  [new]
NickBell
Member

Откуда: Tbilisi
Сообщений: 2876
Добрый день,

Код, приведенный ниже, работал до сегодняшнего дня. Никак не могу понять, в чем причина.
На нажатие кнопки должен произойти вывод pdf документов в отдельную папку, но вместо этого, на экране появляется только первый документ, затем зависает и вылетает весь Access.

Сам запрос проверила, там всё нормально видно. Вывод в t, тоже всё нормально пишет. Что мне еще проверить, даже не знаю.

Private Sub cmd_pdf_Click()
Dim rs As DAO.Recordset
Dim t As String
Set rs = CurrentDb.OpenRecordset("SELECT RP.id_patients, RP.tarigi, RP.surname, RP.nname , RP.id_test, RP.pasuxi " _
    & "FROM Report_blank_saerto AS RP " _
    & "WHERE RP.id_organization=39 And RP.pasuxi Is Not Null")
Do While Not rs.EOF
t = rs!surname+ "_" + rs!nname + "_" + Trim(str(rs!id_patients)) + "_" + Format(rs!tarigi, "dd\.mm\.yyyy")
     DoCmd.OpenReport "pjr_report", acViewPreview, , "[id_patients]=" & rs!id_patients
        DoCmd.OutputTo acOutputReport, "pjr_report", "PDFFormat(*.pdf)", _
        "D:\PDF\" & t & ".pdf", False, "", , acExportQualityPrint
                        DoCmd.Close acReport, "pjr_report"
   rs.MoveNext
Loop
rs.Close
End Sub
15 мар 21, 14:15    [22294745]     Ответить | Цитировать Сообщить модератору
 Re: Вывод в PDF  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 7257
NickBell


.....
t = rs!surname+ "_" + rs!nname + "_" + Trim(str(rs!id_patients)) + "_" + Format(rs!tarigi, "dd\.mm\.yyyy")
     DoCmd.OpenReport "pjr_report", acViewPreview, , "[id_patients]=" & rs!id_patients
        DoCmd.OutputTo acOutputReport, "pjr_report", "PDFFormat(*.pdf)", _
        "D:\PDF\" &  t & ".pdf", False, "", , acExportQualityPrint
                        DoCmd.Close acReport, "pjr_report"
может я чё не понял,но выделенное смущает
15 мар 21, 14:50    [22294778]     Ответить | Цитировать Сообщить модератору
 Re: Вывод в PDF  [new]
NickBell
Member

Откуда: Tbilisi
Сообщений: 2876
sdku
NickBell


.....
t = rs!surname+ "_" + rs!nname + "_" + Trim(str(rs!id_patients)) + "_" + Format(rs!tarigi, "dd\.mm\.yyyy")
     DoCmd.OpenReport "pjr_report", acViewPreview, , "[id_patients]=" & rs!id_patients
        DoCmd.OutputTo acOutputReport, "pjr_report", "PDFFormat(*.pdf)", _
        "D:\PDF\" &  t & ".pdf", False, "", , acExportQualityPrint
                        DoCmd.Close acReport, "pjr_report"

может я чё не понял,но выделенное смущает


В выделенном создается имя файла, состоящее из фамилии, имени, ИД код пациента и дата. Я проверила весь вывод с помощью Debug.print t и все нормально было.
15 мар 21, 15:08    [22294798]     Ответить | Цитировать Сообщить модератору
 Re: Вывод в PDF  [new]
NickBell
Member

Откуда: Tbilisi
Сообщений: 2876
Проблема произошла из-за моего компьютера. С другого компьютера всё нормально выполнилось.
По-видимому придется переустанавливать систему.
15 мар 21, 15:52    [22294835]     Ответить | Цитировать Сообщить модератору
 Re: Вывод в PDF  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 7257
NickBell,
я о другом:присваивание переменной t значения, используя t которая еще не определена
15 мар 21, 17:34    [22294929]     Ответить | Цитировать Сообщить модератору
 Re: Вывод в PDF  [new]
DarkMan
Member

Откуда:
Сообщений: 900
sdku
NickBell,
я о другом:присваивание переменной t значения, используя t которая еще не определена

А это ? Не то ?
Private Sub cmd_pdf_Click()
Dim rs As DAO.Recordset
Dim t As String
15 мар 21, 17:44    [22294945]     Ответить | Цитировать Сообщить модератору
 Re: Вывод в PDF  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 7257
DarkMan,
Из HELP:Оператор DIM объявляет и выделяет дисковое пространство для одной или нескольких переменных.

В данном случае определяется место на диске для хранения переменной "t" типа String.
Значение ей задается в процедуре,до этого t=empty


Сообщение было отредактировано: 15 мар 21, 19:02
15 мар 21, 19:07    [22295014]     Ответить | Цитировать Сообщить модератору
 Re: Вывод в PDF  [new]
DarkMan
Member

Откуда:
Сообщений: 900
sdku
Значение ей задается в процедуре,до этого t=empty

Хорошо , а в цикле ей значение не присваивается ? Или Вы о чем? О том , что вначале нужно присвоить пустую строку ? Не говорите загадками. :))
.....
t = rs!surname+ "_" + rs!nname + "_" + Trim(str(rs!id_patients)) + "_" + Format(rs!tarigi, "dd\.mm\.yyyy")
15 мар 21, 19:12    [22295017]     Ответить | Цитировать Сообщить модератору
 Re: Вывод в PDF  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 7257
DarkMan,
Я не разбирался подробно, но на первый взгляд:
при присвоении значения используется переменная "t" которой еще не присвоено значение(в моем сообщении выделено красным-это меня и смущает)
Очень напоминает барона Мюнхаузена который сам себя, за свои же волосы, вытащил из болота
15 мар 21, 20:02    [22295030]     Ответить | Цитировать Сообщить модератору
 Re: Вывод в PDF  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 7257
почувствуйте разницу:

К сообщению приложен файл. Размер - 38Kb
15 мар 21, 20:22    [22295035]     Ответить | Цитировать Сообщить модератору
 Re: Вывод в PDF  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 7257
Щас более внимательно посмотрел сообщение-прошу пардону-просто я пишу код начиная каждый шаг с одинаковым отступом(короче "сам дурак") и воспринял все написанное за один шаг
Еще раз извиняюсь

Сообщение было отредактировано: 15 мар 21, 20:30
15 мар 21, 20:31    [22295038]     Ответить | Цитировать Сообщить модератору
 Re: Вывод в PDF  [new]
__Michelle
Member

Откуда:
Сообщений: 3186
sdku
DarkMan,
...при присвоении значения используется переменная "t" которой еще не присвоено значение...(

Как же не присвоено?
Из открытого рекордсета берутся значения, последовательно из каждой записи.
Первой же командой.

Увидела, что Вы уже разобрались, после публикации этого сообщения.

Сообщение было отредактировано: 15 мар 21, 20:36
15 мар 21, 20:42    [22295044]     Ответить | Цитировать Сообщить модератору
 Re: Вывод в PDF  [new]
DarkMan
Member

Откуда:
Сообщений: 900
sdku
почувствуйте разницу:

Картинка с другого сайта.

Ну здесь вроде все понятно . В первом варианте функция отработала,
а во втором возникла ошибка , так как не был передан обязательный аргумент.
15 мар 21, 20:46    [22295047]     Ответить | Цитировать Сообщить модератору
 Re: Вывод в PDF  [new]
DarkMan
Member

Откуда:
Сообщений: 900
sdku
Щас более внимательно посмотрел сообщение-прошу пардону-просто я пишу код начиная каждый шаг с одинаковым отступом(короче "сам дурак") и воспринял все написанное за один шаг
Еще раз извиняюсь

Что мне нравится при программировании на PHP ,то что при использовании текстовых редакторов можно форматировать текст . И он красиво расставляет все пробелы соглассно стандартов.

Сообщение было отредактировано: 15 мар 21, 20:42
15 мар 21, 20:48    [22295051]     Ответить | Цитировать Сообщить модератору
 Re: Вывод в PDF  [new]
Сергей Лалов
Member

Откуда: localhost SPB
Сообщений: 2087
DarkMan,
Пыха сама по себе мощь. В разрезе работы с sql. Как основного языка под веб сервер и крепенького бэкэнда для 90% всего Web. Но сейчас форматирование и красоту ведь в основном на css и js строят?

Сообщение было отредактировано: 15 мар 21, 20:50
15 мар 21, 20:56    [22295055]     Ответить | Цитировать Сообщить модератору
 Re: Вывод в PDF  [new]
DarkMan
Member

Откуда:
Сообщений: 900
Сергей Лалов
Но сейчас форматирование и красоту ведь в основном на css и js строят?

Я не имел ввиду дизайн самой страницы . Я имел ввиду редактор написания кода , например я использую бесплатный CodeLobster , простой дизайн ( вернее интерфейс ) , чем то напоминает Access , и практически все доступно.

Сообщение было отредактировано: 15 мар 21, 21:03
15 мар 21, 21:09    [22295060]     Ответить | Цитировать Сообщить модератору
 Re: Вывод в PDF  [new]
Сергей Лалов
Member

Откуда: localhost SPB
Сообщений: 2087
DarkMan
Сергей Лалов
Но сейчас форматирование и красоту ведь в основном на css и js строят?

Я не имел ввиду дизайн самой страницы . Я имел ввиду редактор написания кода , например я использую бесплатный CodeLobster , простой дизайн , чем то напоминает Access , и практически все доступно.


У меня тоже есть на компе codelobster. Правда уже давненько его не расчехлял. Посмотри в сторону PhpStorm, там вроде есть бесплатная версия community. Там подсветка кода, интеллектуальный блок + умная доводка самая крутая. Плюс сама структура файлов проекта очень удобная. Вообще все редакторы от JetBrains крутые самые. Я пользуюсь IntelIJ Idea, вообще писк. PhpStorm это тоже от этой конторы.
Не знаю другого такого редактора ,который бы сам предлагал упростить код , подсказать с рефакторингом и подсветить на всех страницах проекта рекомендуемый синтаксис.
15 мар 21, 21:17    [22295063]     Ответить | Цитировать Сообщить модератору
 Re: Вывод в PDF  [new]
DarkMan
Member

Откуда:
Сообщений: 900
Сергей Лалов
Посмотри в сторону PhpStorm, там вроде есть бесплатная версия community.
Я уже пытался разные демоверсии и PhpStorm и Zend вроде бы . Но нет времени изучать новые инструменты Codelobster прост в обращении и все есть и автодоплнение и подсветки CSS , PHP , JS , jQuery , плюс разные фреймворки типа Angular, React , VueJS , Laravel . Не знаю , но лично мне хватает , и дешево и сердито . Хотя спорить не буду , профессиональные редакторы есть профессиональные .Но я уже сказал , нет времени на изучение интерфейса.
15 мар 21, 21:27    [22295070]     Ответить | Цитировать Сообщить модератору
 Re: Вывод в PDF  [new]
DarkMan
Member

Откуда:
Сообщений: 900
Да простит нас __Michelle
15 мар 21, 21:30    [22295071]     Ответить | Цитировать Сообщить модератору
 Re: Вывод в PDF  [new]
DarkMan
Member

Откуда:
Сообщений: 900
DarkMan
Да простит нас __Michelle

Sorry NickBell :))
15 мар 21, 21:47    [22295078]     Ответить | Цитировать Сообщить модератору
 Re: Вывод в PDF  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 5181
sdku
почувствуйте разницу:
почувствуйте
'окно Immediate
Dim a as Long
?my(a)

а без переменной пример очень не корректен - аргумент не опционален, о чём и сообщается в ошибке.

Сообщение было отредактировано: 16 мар 21, 05:31
16 мар 21, 05:35    [22295166]     Ответить | Цитировать Сообщить модератору
 Re: Вывод в PDF  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 7257
Еще раз повторяю-я признал свою ошибку(см.сообщение 22295038 выше. Функцией без обязательного параметра хотел проиллюстрировать ошибку,которая возникнет если в коде ссылаться на не инициализированную переменную). Не считаю нужным "тыкать меня носом" в ошибку которую я признал,пояснил почему это произошло и извинился-если этого некоторым мало ИЗВИНЯЮСЬ еще раз
16 мар 21, 13:52    [22295377]     Ответить | Цитировать Сообщить модератору
 Re: Вывод в PDF  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 5181
sdku, ты не понял. Тут не про то, что ты не досмотрел, а про то что переменная String всегда сразу инициализирована строкой нулевой длины.
16 мар 21, 16:46    [22295569]     Ответить | Цитировать Сообщить модератору
 Re: Вывод в PDF  [new]
DarkMan
Member

Откуда:
Сообщений: 900
sdku
Функцией без обязательного параметра хотел проиллюстрировать ошибку,которая возникнет если в коде ссылаться на не инициализированную переменную)

Или я дурак ? Или лыжи не едут ? При чем здесь не инициализированная переменная , если в данном примере Вы запускаете функцию , не передав в нее обязательный параметр. Если параметр не хотите передавать , делайте его Optional. Как то так .
sdku
извинился-если этого некоторым мало ИЗВИНЯЮСЬ еще раз

Это лишнее , лично я просто дискутирую.
16 мар 21, 17:06    [22295608]     Ответить | Цитировать Сообщить модератору
 Re: Вывод в PDF  [new]
vmag
Member

Откуда: MP
Сообщений: 3964
Эх, разбаловал нас всех Билл со своим акцесс и с его VBA... так трудно наступить на грабли, и то умудряемся...
16 мар 21, 18:28    [22295716]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить