powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / property "DecimalPlaces"
7 сообщений из 7, страница 1 из 1
property "DecimalPlaces"
    #32528960
mlena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Подскажите пожалуйста: можно-ли менять значение property "DecimalPlaces" поля на репорте в зависимости от value другого поля в "run-time" ? И если можно, то как?
Что-то типа такого:

Код: plaintext
1.
2.
3.
4.
If Me.SubjectNo.Value =  9  Then
    Me.MonthActDol.DecimalPlaces =  2 
Else
   Me.MonthActDol.DecimalPlaces =  2 
End If
Результат отчета должен быть таким:
Код: plaintext
1.
2.
3.
4.
SubjectNo   MonthActDol
1               100
2               150
9               97.44
10              45

Спасибо.
...
Рейтинг: 0 / 0
property "DecimalPlaces"
    #32528962
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Да, конечно. Это лучше делать в событии либо Format, либо Print.
...
Рейтинг: 0 / 0
property "DecimalPlaces"
    #32528977
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно но лучше писать .00 читаемость выше
...
Рейтинг: 0 / 0
property "DecimalPlaces"
    #32528978
mlena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторсобытии либо Format, либо Print.

Что-то я не поняла - можно поподробнее, PLEASE :-)?
...
Рейтинг: 0 / 0
property "DecimalPlaces"
    #32528985
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
У отчета, как и у формы, есть события. У них обработчики. В обработчиках пишется программа.
...
Рейтинг: 0 / 0
property "DecimalPlaces"
    #32528995
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пример обработчика живого отчета формирующего размеры /цвет считающего для оглавления номера страниц правый / левый колонтитул
Access97/mdb

Код: plaintext
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.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
Dim Swop1( 32000 ) As Integer
Dim Swop2( 32000 ) As Integer
Dim Swop3( 32000 ) As Integer
Dim Swop4( 32000 ) As Integer
Private PageColon As Integer

Private Sub ВерхнийКолонтитул_Format(Cancel As Integer, FormatCount As Integer)
If (Me![P_Rang] =  4 ) Then Me![Col_Corp_1] = Me![P_Post]
If (Me![P_Rang] =  4 ) Then Me![Col_Corp_2] = Me![P_Post]
PageColon = Me.Page
If Int(PageColon /  2 ) = PageColon /  2  Then
Col_Corp_2.Visible = False
Col_Corp_1.Visible = True
Else
Col_Corp_1.Visible = False
Col_Corp_2.Visible = True
End If
End Sub

Private Sub НижнийКолонтитул_Format(Cancel As Integer, FormatCount As Integer)

With LeftColon
PageColon = Me.Page
If Int(PageColon /  2 ) = PageColon /  2  Then
.Visible = False
CDULeft.Visible = True
Else
.Visible = True
CDULeft.Visible = False
End If
End With

With RightColon
PageColon = Me.Page
If Int(PageColon /  2 ) = PageColon /  2  Then
.Visible = True
CDURight.Visible = False
Else
.Visible = False
CDURight.Visible = True
End If
End With

End Sub

Private Sub ОбластьДанных_Format(Cancel As Integer, FormatCount As Integer)
If (Me![P_Rang] =  1 ) Then
               Me![P_Post].Visible = True
               Me![P_Fio].Visible = True
               Me![P_Num].Visible = True
               Me![P_Post1].Visible = False
               Me![P_Fio1].Visible = False
               Me![P_Num1].Visible = False
              Else
               Me![P_Post1].Visible = True
               Me![P_Fio1].Visible = True
               Me![P_Num1].Visible = True
               Me![P_Post].Visible = False
               Me![P_Fio].Visible = False
               Me![P_Num].Visible = False
End If
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  Me.Section(0).Visible = True
       If (Me![P_Post] = "Центральный аппарат") Then
       Me.Section(0).Visible = False
       End If
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
      Me.Section( 9 ).Visible = True
      Me![P_Post1].FontSize =  8 
      Me![P_Post1].BackColor =  16777215 
      Me![L_Sep].Visible = True
Select Case Me![P_Rang]
     Case  1 
        Swop1(Me![Id]) = Page
        If (Me![P_Gl1] =  1 ) Then
                          Me![P_Post].FontBold = True
                          Me![P_Fio].FontBold = True
                          'Me![P_Post].Left = 0
                           Else
                          Me![P_Post].FontBold = False
                          Me![P_Fio].FontBold = False
                          'Me![P_Post].Left =  100 
        End If
   Case  2 
       Swop2(Me![Id]) = Page
      Me![P_Num1].Visible = False
      Me![P_Post1].FontSize =  16 
   Case  3 
      Swop3(Me![Id]) = Page
      Me![P_Post1].FontSize =  20 
   If Len(Me![P_Num1]) <  3  Then Me![P_Num1].Visible = False
   Case  4 
      Swop4(Me![Id]) = Page
      Me![L_Sep].Visible = False
      Me![P_Fio1].Visible = False
      Me![P_Num1].Visible = False
      Me![P_Post1].FontSize =  24 
      Me![P_Post1].BackColor =  8454016 
   Case Else
End Select
End Sub

Private Sub ПримечаниеОтчета_Format(Cancel As Integer, FormatCount As Integer)
Dim MyDb As Database
Dim Sql_String As String
Dim TestTable As Recordset
Set MyDb = CurrentDb
Sql_String = "Select * From TCorp "
    Set TestTable = MyDb.OpenRecordset(Sql_String)
    If (TestTable.RecordCount =  0 ) Then GoTo Xlop4
    TestTable.MoveFirst
    Do Until TestTable.EOF
    TestTable.Edit
    TestTable![P_Num] = Swop4(TestTable![Corp_Id])
    TestTable.Update
    TestTable.MoveNext
    Loop
Xlop4: TestTable.Close
Sql_String = "Select * From TComp "
    Set TestTable = MyDb.OpenRecordset(Sql_String)
    If (TestTable.RecordCount =  0 ) Then GoTo Xlop3
    TestTable.MoveFirst
    Do Until TestTable.EOF
    TestTable.Edit
    TestTable![P_Num] = Swop3(TestTable![Comp_Id])
    TestTable.Update
    TestTable.MoveNext
    Loop
Xlop3: TestTable.Close
Sql_String = "Select * From TPodr "
    Set TestTable = MyDb.OpenRecordset(Sql_String)
    If (TestTable.RecordCount =  0 ) Then GoTo Xlop2
    TestTable.MoveFirst
    Do Until TestTable.EOF
    TestTable.Edit
    TestTable![P_Num] = Swop2(TestTable![Podr_Id])
    TestTable.Update
    TestTable.MoveNext
    Loop
Xlop2: TestTable.Close
Sql_String = "Select * From TPers "
    Set TestTable = MyDb.OpenRecordset(Sql_String)
    If (TestTable.RecordCount =  0 ) Then GoTo Xlop1
    TestTable.MoveFirst
    Do Until TestTable.EOF
    TestTable.Edit
    TestTable![P_Num] = Swop1(TestTable![Pers_Id])
    TestTable.Update
    TestTable.MoveNext
    Loop
Xlop1: TestTable.Close

...
Рейтинг: 0 / 0
property "DecimalPlaces"
    #32529017
mlena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Огромное спасибо!!
A я пыталась влепить code на 'Report Event' (там естественно нет Format & Print), a надо было на 'Detail_Format' . Pardon за глупый вопрос :-(
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / property "DecimalPlaces"
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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