powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / слияние с WORD
25 сообщений из 83, страница 2 из 4
слияние с WORD
    #39425408
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pims,

Вторая страница, третье блюдо снизу.
Домашний сорбет (1 шарик) (ананасовый, клубничный, яблочный, из граната, из манго,
из лимона и базилика, из лесных ягод, из черной смородины).

Дальше еще примеры есть, но пока этот посмотрите.
...
Рейтинг: 0 / 0
слияние с WORD
    #39425414
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ims,

Третья страница, третье блюдо сверху
Ассорти шоколадных конфет от шеф-кондитера (рафаэлло, трюфель апельсиновый,
с фисташками, сливочное, с молочным шоколадом, чернослив в шоколаде).
...
Рейтинг: 0 / 0
слияние с WORD
    #39425419
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ims,

Четвертая страница, второе блюдо снизу.
Паста по выбору гостя: пенне, ригатони, спагетти, лингвини, феттуччине с соусом:
арабьята, томатным, болоньезе, с оливковым маслом и чесноком, карбонара
...
Рейтинг: 0 / 0
слияние с WORD
    #39425423
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pims,

Что теперь скажете?)))
...
Рейтинг: 0 / 0
слияние с WORD
    #39425434
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__Michellepims,

Что теперь скажете?)))

я пока заметила 2 вопроса
--обрезается длинное название в латинице(нет расширения)
--пустая строка, если нет латиницы

остальное вроде все так
...
Рейтинг: 0 / 0
слияние с WORD
    #39425439
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПЕНСИОНЕРКА,

Это уж пусть ТС сам доводит-шлифует.
Я не подряжалась ему весь отчет сделать.
Он говорил о двух "неразрешимых" проблемах.
Вот именно их я ему и решила.
...
Рейтинг: 0 / 0
слияние с WORD
    #39425443
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__Michelle,

извиняюсь --это я в книжный перевела
...
Рейтинг: 0 / 0
слияние с WORD
    #39425448
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__Michelle,

а в общем красота +999
у меня подобной потребности ни разу не было
...
Рейтинг: 0 / 0
слияние с WORD
    #39425450
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПЕНСИОНЕРКА__Michelle,

а в общем красота +999
у меня подобной потребности ни разу не былоУ меня тоже.
Просто стало интересно.
...
Рейтинг: 0 / 0
слияние с WORD
    #39425472
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pims,

Что-то Вы пропали.
С примером разобрались?
...
Рейтинг: 0 / 0
слияние с WORD
    #39425564
pims
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,
извините, не могу все время сидеть на форуме...
да, вы правы, вторая строка работает, но почему-то у меня в начале нормально не переносилось.
Сейчас стал оформлять (др.шрифты, размеры...) и стали накладываться строки. Посмотрел в VBA и не понял что за что отвечает...
Не сможете пояснить в комментах?

Код: vbnet
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.
[FIXED]Private Sub Report_Open(Cancel As Integer)
 H(1) = 0.608
 H(2) = 1.058
 H(3) = 2.063
 WizHook.Key = 51488399
End Sub

Private Sub ÎáëàñòüÄàííûõ_Format(Cancel As Integer, FormatCount As Integer)
 Dim K As Byte, _
     S As String
 Dim wzCch As Long, _
     wzMaxWidthCch As Long, _
     wzdx As Long, _
     wzdy As Long
 Ñòîèìîñòü_áëþäà.Top = 0
 Ïåðåâîä_áëþäà.Top = 0
 With F_Íàèìåíîâàíèå_áëþäà
  S = Left(.Value, InStr(.Value, ". . . ") - 1)
  WizHook.TwipsFromFont .FontName, .FontSize, .FontWeight, .FontItalic, .FontUnderline, _
                        wzCch, S, wzMaxWidthCch, wzdx, wzdy
  K = wzdx \ .Width - ((wzdx Mod .Width) > 0)
  .Height = H(K) * 567
  Section(0).Height = H(K) * 567
  On Error Resume Next
  Ñòîèìîñòü_áëþäà.Top = Section(0).Height - Ñòîèìîñòü_áëþäà.Height
  Section(0).Height = Section(0).Height + Ïåðåâîä_áëþäà.Height
  Ïåðåâîä_áëþäà.Top = .Top + .Height
 End With
End Sub[/FIXED]

...
Рейтинг: 0 / 0
слияние с WORD
    #39425567
pims
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
скрин
...
Рейтинг: 0 / 0
слияние с WORD
    #39425573
pims
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сорри, язык попутал


Код: vbnet
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.
Private Sub Report_Open(Cancel As Integer)
 H(1) = 0.608
 H(2) = 1.058
 H(3) = 2.063
 WizHook.Key = 51488399
End Sub

Private Sub ОбластьДанных_Format(Cancel As Integer, FormatCount As Integer)
 Dim K As Byte, _
     S As String
 Dim wzCch As Long, _
     wzMaxWidthCch As Long, _
     wzdx As Long, _
     wzdy As Long
 Стоимость_блюда.Top = 0
 Перевод_блюда.Top = 0
 With F_Наименование_блюда
  S = Left(.Value, InStr(.Value, ". . . ") - 1)
  WizHook.TwipsFromFont .FontName, .FontSize, .FontWeight, .FontItalic, .FontUnderline, _
                        wzCch, S, wzMaxWidthCch, wzdx, wzdy
  K = wzdx \ .Width - ((wzdx Mod .Width) > 0)
  .Height = H(K) * 567
  Section(0).Height = H(K) * 567
  On Error Resume Next
  Стоимость_блюда.Top = Section(0).Height - Стоимость_блюда.Height
  Section(0).Height = Section(0).Height + Перевод_блюда.Height
  Перевод_блюда.Top = .Top + .Height
 End With
End Sub
...
Рейтинг: 0 / 0
слияние с WORD
    #39425574
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pims__Michelle,
извините, не могу все время сидеть на форуме...
да, вы правы, вторая строка работает, но почему-то у меня в начале нормально не переносилось.
Сейчас стал оформлять (др.шрифты, размеры...) и стали накладываться строки. Посмотрел в VBA и не понял что за что отвечает...
Не сможете пояснить в комментах?
Да я тоже не могу.
Потому и спросила.
Еще бы пять минут, и я бы ушла на работу.
Но уж, раз застали, задержусь.
Сейчас распишу.

Я знаю, почему стали накладываться строки - увидите из объяснений.
...
Рейтинг: 0 / 0
слияние с WORD
    #39425676
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
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.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
Option Compare Database
Option Explicit

Dim H(1 To 3) As Single ' Массив для хранения значений высоты поля в зависимости от числа строк.
                        ' Индекс элемента сответствует количеству строк.
                        ' Например, H(1)- высота поля в одну строку, H(2)- высота поля в две строки, и т.д.
                        ' В данном конкретном случае (для меню) должно хватить трех элементов.
                        ' Если нет - увеличить размерность массива
 
Private Sub Report_Open(Cancel As Integer)
 WizHook.Key = 51488399 ' Инициализация скрытого объекта WizHook (найдите о нем информацию на форуме, почитайте)
 
 H(1) = 0.608           ' Присвоение значений элементам массива.
 H(2) = 1.058           ' Значения получаем вручную в конструкторе отчета, для разного количества строк в поле.
 H(3) = 2.063           ' Можно было бы организовать и автоматическое определение (с помощью одной из функций Лебанса),
                        ' но это еще километры кода, а здесь можно и обойтись предварительными ручными операциями.
                        ' То есть, именно из-за этого стали ползти строки при другом шрифте.
                        ' Подставьте правильные значения, и все придет в норму.
End Sub

Private Sub Report_Close()
 WizHook.Key = 0        ' Отключение скрытого объекта WizHook при закрытии отчета.
End Sub

Private Sub ОбластьДанных_Format(Cancel As Integer, FormatCount As Integer)
 Dim K As Byte, _
     S As String
 Dim wzCch As Long, _
     wzMaxWidthCch As Long, _
     wzdx As Long, _
     wzdy As Long        ' Объявляем переменные, требующиеся для работы WizHook
 Стоимость_блюда.Top = 0 ' Переносим "блуждающее" поле вверх - чтобы не мешало менять высоту Области Данных
 Перевод_блюда.Top = 0   ' То же самое
 With F_Наименование_блюда
  S = Left(.Value, InStr(.Value, ". . . ") - 1) ' Выделяем "значимую" часть поля F_Наименования блюда
                                                ' (без хвостовых точек)
  WizHook.TwipsFromFont .FontName, .FontSize, .FontWeight, .FontItalic, .FontUnderline, _
                        wzCch, S, wzMaxWidthCch, wzdx, wzdy ' Работает WizHook
  K = wzdx \ .Width - ((wzdx Mod .Width) > 0) ' Получив от WizHook ширину текста
                                              ' при текущих характеристиках шрифта,
                                              ' и зная ширину поля, вычисляем количество строк.
  .Height = H(K) * 567                                             ' Задаем высоту поля F_Наименование_блюда,
                                                                   ' определяемую вычисленным количеством строк
  Section(0).Height = H(K) * 567                                   ' То же самое для Области Данных
  Стоимость_блюда.Top = Section(0).Height - Стоимость_блюда.Height ' Переносим поле Стоимость_блюда
                                                                   ' к последней строке Наименования
  Section(0).Height = Section(0).Height + Перевод_блюда.Height     ' Увеличиваем высоту Области Данных
                                                                   ' на высоту поля Перевод_блюда
  Перевод_блюда.Top = .Top + .Height                               ' Размещаем поле Перевод_блюда
                                                                   ' под полем F_Наименование_блюда
 End With
End Sub
...
Рейтинг: 0 / 0
слияние с WORD
    #39425693
pims
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,
огромное вам спасибо, разобрался и переделал как надо.
Извиняюсь за свою наглость, но возможно ли в данном случае сделать так, чтобы при отсутствии цены точки не рисовались?
...
Рейтинг: 0 / 0
слияние с WORD
    #39425715
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pims,

Да, можно.

1. Источник данных поля F_Наименование_блюда сделать таким;
Код: sql
1.
=[Наименование_блюда] & IIf([Стоимость_блюда] Is Null;"";". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ")

Вместо цепочки точек просится функция String, но при этом возникают дополнительные нюансы.
Пока пусть так.


2. В коде строку
Код: vbnet
1.
  S = Left(.Value, InStr(.Value, ". . . ") - 1)

заменить на
Код: vbnet
1.
2.
3.
4.
5.
  If F_Наименование_блюда = Наименование_блюда Then
   S = .Value
  Else
   S = Left(.Value, InStr(.Value, ". . . ") - 1)
  End If
...
Рейтинг: 0 / 0
слияние с WORD
    #39425798
pims
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,

супер! Спасибо!
Я правда уже хотел делать другой вариант, даже 2 было в мыслях: добавить таблицу "комплект_блюд" (что на мой взгляд было бы правильнее), либо поиграться с оператором "IF"
...
Рейтинг: 0 / 0
слияние с WORD
    #39426256
pims
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Рано радовался...
Казалось все отлично, но лишь до появления 3-ей строки в названии. Как не игрался переменной Н(3) так и не смог изменить её размер.
__Michelle , выручи еще раз, все делаю по аналогии со 2-й строкой, но результат нулевой :(
...
Рейтинг: 0 / 0
слияние с WORD
    #39426274
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pims,

Можете базу выложить?
Я буду занята где-то до трех-четырех. Вот тогда.
Если раньше удастся посмотреть - посмотрю.
Прямо сейчас никак не могу этим заняться.
...
Рейтинг: 0 / 0
слияние с WORD
    #39426280
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pims,

попробуйте
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Private Sub Report_Open(Cancel As Integer)
 H(1) = 0.56
 H(2) = H(1) * 2
 H(3) = H(1) * 3
 H(4) = H(1) * 4
 WizHook.Key = 51488399
End Sub
...
Рейтинг: 0 / 0
слияние с WORD
    #39426288
pims
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,

если открыть полный отчет, то на 4-й странице есть позиция без точек, там должна быть 3-я строка
...
Рейтинг: 0 / 0
слияние с WORD
    #39426292
pims
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПЕНСИОНЕРКАpims,

попробуйте
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Private Sub Report_Open(Cancel As Integer)
 H(1) = 0.56
 H(2) = H(1) * 2
 H(3) = H(1) * 3
 H(4) = H(1) * 4
 WizHook.Key = 51488399
End Sub


нет, еще более коряво получается
...
Рейтинг: 0 / 0
слияние с WORD
    #39426338
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pims,

у меня нормально получается --может вы и размер шрифта изменили
...
Рейтинг: 0 / 0
слияние с WORD
    #39426347
pims
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПЕНСИОНЕРКА,
да, изменил, база чуть выше выложена с тем шрифтом, который нужен. Там Н(1)=0,7 должен быть
...
Рейтинг: 0 / 0
25 сообщений из 83, страница 2 из 4
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / слияние с WORD
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]