0% acharam este documento útil (0 voto)
30 visualizações81 páginas

Módulos VBA para Access: Botões e Idade

Enviado por

gjr2021teste
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato RTF, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
30 visualizações81 páginas

Módulos VBA para Access: Botões e Idade

Enviado por

gjr2021teste
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato RTF, PDF, TXT ou leia on-line no Scribd

F:\GLICERIO JUNIOR\25092024.

accdb quinta-feira, 26 de setembro de 2024


Módulo: mod_ArredondaBotao Página: 1

Propriedades

Container: Modules DateCreated: 25/08/2024 11:10:40


LastUpdated: 25/08/2024 11:10:40 Owner: admin
UserName: admin

Código

1 Attribute VB_Name = "mod_ArredondaBotao"


2 Option Compare Database
3
4 Public Function ArredondaBotao(Frm As Form)
5 '// verifica a versão do access
6 ' shape só funciona a partir do 10.1
7 Dim gVer: gVer = Application.Version
8 If gVer > 10.1 Then
9 '// formata os botões
10 Dim ctl
11 For Each ctl In Frm
12 If Frm.Controls(ctl.Name).ControlType = acCommandButton Then
13 Frm.Controls(ctl.Name).Shape = 1
14 End If
15 Next
16 End If
17 '// fim de rotina
18 End Function
19

Permissões de usuário

admin Excluir; Ler permissões; Definir permissões; Alterar proprietário, Ler definição; Modificar
definição

Permissões de grupo

Admins Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição
Users Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_Calc_idade Página: 2

Propriedades

Container: Modules DateCreated: 25/08/2024 11:10:40


LastUpdated: 25/08/2024 11:10:40 Owner: admin
UserName: admin

Código

1 Attribute VB_Name = "mod_Calc_idade"


2 Option Compare Database
3
4 Public Function dias_idade(totalDias As Long) As String
5 Dim anos As Long
6 Dim meses As Long
7 Dim diasRestantes As Long
8 Dim i As Long
9
10 ' Defina o número de dias em cada mês (não considerando anos bissextos)
11 Dim diasPorMes(1 To 12) As Long
12 diasPorMes(1) = 31 ' Janeiro
13 diasPorMes(2) = 28 ' Fevereiro
14 diasPorMes(3) = 31 ' Março
15 diasPorMes(4) = 30 ' Abril
16 diasPorMes(5) = 31 ' Maio
17 diasPorMes(6) = 30 ' Junho
18 diasPorMes(7) = 31 ' Julho
19 diasPorMes(8) = 31 ' Agosto
20 diasPorMes(9) = 30 ' Setembro
21 diasPorMes(10) = 31 ' Outubro
22 diasPorMes(11) = 30 ' Novembro
23 diasPorMes(12) = 31 ' Dezembro
24
25 ' Calcular anos
26 anos = totalDias \ 365
27 diasRestantes = totalDias Mod 365
28
29 ' Calcular meses
30 meses = 0
31 For i = 1 To 12
32 If diasRestantes >= diasPorMes(i) Then
33 meses = meses + 1
34 diasRestantes = diasRestantes - diasPorMes(i)
35 Else
36 Exit For
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_Calc_idade Página: 3

37 End If
38 Next i
39
40 '// retornar o resultado formatado
41 dias_idade = anos & " anos, " & meses & " meses e " & diasRestantes & " dias"
42 End Function
43
44 Public Function CalculaIdade(DataNasc As Date) As String
45
46 Dim anos, meses, dias
47
48 If IsNull(DataNasc) Then
49 CalculaIdade = ""
50 Exit Function
51 End If
52
53 anos = DateDiff("yyyy", DataNasc, Now)
54
55 If DateAdd("yyyy", anos, DataNasc) > Now Then
56 anos = anos - 1
57 End If
58
59 If anos > 1 Then
60
61 CalculaIdade = anos & " anos"
62 ElseIf anos = 1 Then
63 CalculaIdade = anos & " ano"
64 Else
65 NewDate = DateAdd("yyyy", anos, DataNasc)
66 meses = DateDiff("m", NewDate, Now)
67
68 If DateAdd("m", meses, NewDate) > Now Then
69 meses = meses - 1
70 End If
71
72 If meses > 1 Then
73 CalculaIdade = meses & " meses"
74 ElseIf meses = 1 Then
75 CalculaIdade = meses & " mês"
76 Else
77 dias = DateDiff("d", DataNasc, Now)
78 If dias > 1 Then
79 CalculaIdade = dias & " dias"
80 Else
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_Calc_idade Página: 4

81 CalculaIdade = dias & " dia"


82 End If
83 End If
84 End If
85
86 End Function

Permissões de usuário

admin Excluir; Ler permissões; Definir permissões; Alterar proprietário, Ler definição; Modificar
definição

Permissões de grupo

Admins Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição
Users Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_Calendario Página: 5

Propriedades

Container: Modules DateCreated: 25/08/2024 11:10:40


LastUpdated: 25/08/2024 11:10:40 Owner: admin
UserName: admin

Código

1 Attribute VB_Name = "mod_Calendario"


2 ' Origem : http://www.viescas.com/Info/links.htm
3 ' Arquivo de download : Calendar.zip
4 ' Arquivo MDB: CalendarNoOCX.mdb
5 ' Autor : John L. Viescas
6 Option Compare Database 'Use database order for string comparisons
7 'Option Explicit
8 '******************************************************************************************
9 '* CHAMADA ********************************************************************************
10 '******************************************************************************************
11 '// O número deve ser alterado segundo a tabela abaixo para determinar onde
12 ' o calendário será aberto em relação ao controle.
13 '
14 ' 0 = Abaixo
15 ' 1 = Acima
16 ' 2 = Lado direito
17 ' 3 = Lado esquerdo
18 ' 4 = A direita, deslocado
19 '// determina o nome do formulário e campo ativo
20 ' NomForm = Screen.ActiveForm.Name
21 ' NomCampo = Screen.ActiveControl.Name
22 '// posiciona o calendário
23 ' Dim blRet As Boolean
24 ' blRet = PositionFormRelativeToControl("Calendario", Me.Abaixo, 0)
25 '// fim
26 '*****************************************************************************************
27
28 Global NomForm As String
29 Global NomCampo As String
30
31 Global DataDat2 As String
32
33 Public Function IsNothing(ByVal varValueToTest) As Integer
34 '-----------------------------------------------------------
35 ' Does a "nothing" test based on data type.
36 ' Null = nothing
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_Calendario Página: 6

37 ' Empty = nothing


38 ' Number = 0 is nothing
39 ' String = "" is nothing
40 ' Date/Time is never nothing
41 ' Inputs: A value to test for logical "nothing"
42 ' Outputs: True = value passed is a logical "nothing", False = it ain't
43 ' Created By: JLV 01/31/95
44 ' Last Revised: JLV 01/31/95
45 '-----------------------------------------------------------
46
47 'Verifica o tipo de dado do campo que chamou
48
49 'Valor do parâmetro de teste
50 '-1 : Para o resto
51 '0 : Para valores Data/hora
52 Dim intSuccess As Integer
53
54 On Error GoTo IsNothing_Err
55 IsNothing = True 'valor -1
56
57 Select Case VarType(varValueToTest)
58 Case 0 ' Empty 'valor -1
59 GoTo IsNothing_Exit
60 Case 1 ' Null 'valor -1
61 GoTo IsNothing_Exit
62 Case 2, 3, 4, 5, 6 ' Integer, Long, Single, Double, Currency 'valor -1
63 If varValueToTest <> 0 Then IsNothing = False 'valor 0
64 Case 7 ' Date / Time
65 IsNothing = False 'valor 0
66 Case 8 ' String 'valor -1
67 ' o Then do If pega uma string que tem cara de data (sem hora)
68 If (Len(varValueToTest) <> 0 And varValueToTest <> " ") Then IsNothing = False 'valor
0
69 End Select
70
71
72 IsNothing_Exit:
73 On Error GoTo 0
74 Exit Function
75
76 IsNothing_Err:
77 IsNothing = True
78 Resume IsNothing_Exit
79
80 End Function
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_Calendario Página: 7

81
82

Permissões de usuário

admin Excluir; Ler permissões; Definir permissões; Alterar proprietário, Ler definição; Modificar
definição

Permissões de grupo

Admins Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição
Users Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_CaseSensitive Página: 8

Propriedades

Container: Modules DateCreated: 25/08/2024 11:10:40


LastUpdated: 25/08/2024 11:10:40 Owner: admin
UserName: admin

Código

1 Attribute VB_Name = "mod_CaseSensitive"


2 Option Compare Database
3
4 ' Neste exemplo, a função StrComp é usada com o argumento vbBinaryCompare,
5 ' que realiza uma comparação case sensitive. Então, quando você chamar essa função,
6 ' ela retornará 0 se as strings forem idênticas (case sensitive),
7 ' 1 se a primeira string for maior que a segunda (case sensitive) e
8 ' -1 se a primeira string for menor que a segunda (case sensitive).
9 ' Função constrida com auxilio de IA
10 Function CompareCaseSensitive(str1 As String, str2 As String) As Integer
11 ' Retorna 0 se as strings forem iguais (case sensitive)
12 ' Retorna 1 se str1 for maior que str2 (case sensitive)
13 ' Retorna -1 se str1 for menor que str2 (case sensitive)
14
15 ' Comparação case sensitive
16 CompareCaseSensitive = StrComp(str1, str2, vbBinaryCompare)
17 '?CompareCaseSensitive("a1234","a1234")
18 End Function

Permissões de usuário

admin Excluir; Ler permissões; Definir permissões; Alterar proprietário, Ler definição; Modificar
definição

Permissões de grupo

Admins Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição
Users Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_Cursor Página: 9

Propriedades

Container: Modules DateCreated: 25/08/2024 11:10:40


LastUpdated: 25/08/2024 11:10:40 Owner: admin
UserName: admin

Código

1 Attribute VB_Name = "mod_Cursor"


2 Option Compare Database
3 Option Explicit
4
5 'CursorAnimado Me
6 'CursorPadrao Me
7
8 #If VBA7 Then
9 Declare PtrSafe Function LoadCursorFromFile Lib "user32" Alias "LoadCursorFromFileA"
(ByVal lpFileName
As String) As Long
10 Declare PtrSafe Function SetClassLong Lib "user32" Alias "SetClassLongA" (ByVal hwnd As
Long, ByVal nIndex
As Long, ByVal dwNewLong As Long) As Long
11 Declare PtrSafe Function LoadCursor Lib "user32" Alias "LoadCursorA" (ByVal hInstance As
Long, ByVal
lpCursorName As Long) As Long
12 Declare PtrSafe Function LoadCursorBynum Lib "user32" Alias "LoadCursorA" (ByVal
hInstance As Long,
ByVal lpCursorName As Long) As Long
13 Declare PtrSafe Function SetCursor Lib "user32" (ByVal hCursor As Long) As Long
14 Declare PtrSafe Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd
As Long, ByVal
nIndex As Long, ByVal dwNewLong As Long) As Long
15 #Else
16 Declare Function LoadCursorFromFile Lib "user32" Alias "LoadCursorFromFileA" (ByVal
lpFileName As
String) As Long
17 Declare Function SetClassLong Lib "user32" Alias "SetClassLongA" (ByVal hwnd As Long,
ByVal nIndex As
Long, ByVal dwNewLong As Long) As Long
18 Declare Function LoadCursor Lib "user32" Alias "LoadCursorA" (ByVal hInstance As Long,
ByVal
lpCursorName As Long) As Long
19 Declare Function LoadCursorBynum Lib "user32" Alias "LoadCursorA" (ByVal hInstance As
Long, ByVal
lpCursorName As Long) As Long
20 Declare Function SetCursor Lib "user32" (ByVal hCursor As Long) As Long
21 Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As
Long, ByVal nIndex
As Long, ByVal dwNewLong As Long) As Long
22 #End If
23
24 ' Declare Windows API Constants for Windows System cursors
25 Const GCW_HCURSOR = (-12)
26 Const IDC_APPSTARTING As Long = 32650&
27 Const IDC_ARROW As Long = 32512&
28 Const IDC_HAND As Long = 32649
29 Const IDC_HELP As Long = 32651
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_Cursor Página: 10

30 Const IDC_IBEAM As Long = 32513&


31 Const IDC_ICON As Long = 32641&
32 Const IDC_WAIT As Long = 32514&
33 Const IDC_UPARROW As Long = 32516&
34 Const IDC_SIZEWE As Long = 32644&
35 Const IDC_SIZENWSE As Long = 32642&
36 Const IDC_SIZENS As Long = 32645&
37 Const IDC_SIZENESW As Long = 32643&
38 Const IDC_SIZEALL As Long = 32646&
39 Const IDC_SIZE As Long = 32640&
40 Const IDC_NO As Long = 32648&
41
42 ' Declare handles for cursor
43 Public Const GCL_HCURSOR = (-12)
44 Public hOldCursor As Long
45 Public hNewCursor As Long
46 Const GWL_WNDPROC As Long = (-4)
47
48
49 Public Function CursorAnimado(Frm As Form)
50 '// desabilita a ampulheta do mouse
51 DoCmd.Hourglass False
52
53 hNewCursor = LoadCursorFromFile(CurrentProject.Path & "\mSys\cur\Busy.ani")
54 hOldCursor = SetClassLong(Frm.hwnd, GCL_HCURSOR, hNewCursor)
55
56 End Function
57
58 Public Function gCursor(Frm As Form)
59 '// desabilita a ampulheta do mouse
60 DoCmd.Hourglass False
61
62 hNewCursor = LoadCursorFromFile(CurrentProject.Path & "\mSys\cur\hand.cur")
63 hOldCursor = SetClassLong(Frm.hwnd, GCL_HCURSOR, hNewCursor)
64
65 End Function
66
67 Public Function CursorPadrao(Frm As Form)
68
69 hOldCursor = SetClassLong(Frm.hwnd, GCL_HCURSOR, hOldCursor)
70
71 End Function
72
73
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_Cursor Página: 11

74 Public Function MouseCursor(CursorType As Long)


75 'MouseCursor("32649")
76 Dim lngRet As Long
77 lngRet = LoadCursorBynum(0&, CursorType)
78 lngRet = SetCursor(lngRet)
79
80 End Function
81

Permissões de usuário

admin Excluir; Ler permissões; Definir permissões; Alterar proprietário, Ler definição; Modificar
definição

Permissões de grupo

Admins Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição
Users Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_DAO Página: 12

Propriedades

Container: Modules DateCreated: 07/09/2024 18:01:40


LastUpdated: 07/09/2024 18:01:40 Owner: admin
UserName: admin

Código

1 Attribute VB_Name = "mod_DAO"


2 Option Compare Database
3
4
5
6
7 Public Function limpaBanco()
8 Dim db As DAO.Database
9 Dim tbl As DAO.TableDef
10 Dim field As DAO.field
11 Dim sql As String
12
13 Set db = CurrentDb
14
15 For Each tbl In db.TableDefs
16 'Looping por todas as tabelas que não sejam de sistema
17 If InStr(1, tbl.Name, "MSys") = False Then
18 'Debug.Print tbl.Name
19 sql = "delete from " & tbl.Name
20 db.Execute sql
21 End If
22 Next
23
24 'fecha e tira da memória a referência do objeto.
25 db.Close
26 Set db = Nothing
27 End Function

Permissões de usuário

admin Excluir; Ler permissões; Definir permissões; Alterar proprietário, Ler definição; Modificar
definição
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_DAO Página: 13

Permissões de grupo

Admins Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição
Users Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_Document_Fields Página: 14

Propriedades

Container: Modules DateCreated: 07/09/2024 17:57:24


LastUpdated: 07/09/2024 17:57:24 Owner: admin
UserName: admin

Código

1 Attribute VB_Name = "mod_Document_Fields"


2 'Attribute VB_Name = "mod_ListFields2Debug_s4p"
3 Option Compare Database
4 Option Explicit
5
6 'module: mod_Document_Fields2Debug_s4p
7 '*************** Code Start ***********************************************
8 ' Purpose : Document fieldnames and other information
9 ' to the Debug window
10 ' for a particular table or query
11 ' Author : crystal (strive4peace)
12 ' Code List: www.msaccessgurus.com/code.htm
13 ' This code: https://msaccessgurus.com/VBA/Document_Fields2Debug.htm
14 ' LICENSE :
15 ' You may freely use and share this code, but not sell it.
16 ' Keep attribution. Mark your changes. Use at your own risk.
17 '-------------------------------------------------------------------------------
18 ' Document_Fields2Debug_s4p
19 '-------------------------------------------------------------------------------
20 Public Function Document_Fields2Debug_s4p(tabela As String)
21 '230601 s4p, 608, 609 AutoNumber
22 'list fields to Debug window for a specified Table or a Query
23
24 'CLICK HERE
25 ' PRESS F5 to Run!
26 '
27 'PRESS Ctrl-G to go to Debug window
28 'drag by titlebar to float if you want to change its size
29
30 'CALLS
31 ' Get_Property
32
33 ' On Error GoTo Proc_Err
34
35 Dim sTable As String _
36 , sTitle As String _
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_Document_Fields Página: 15

37 , iTab As Integer _
38 , bIsTable As Boolean _
39 , bFieldnameOnly As Boolean _
40 , bShowMessage As Boolean
41
42 '----------------------------- CUSTOMIZE!
43 sTable = tabela '"c_Contact" 'YOUR TABLE or query name
44 bIsTable = True 'false to document a query
45 iTab = 20 'make bigger if you have long fieldnames
46 bFieldnameOnly = False 'True to list fieldnames only
47 bShowMessage = True 'show MsgBox at end
48 '-----------------------------
49
50 Dim db As DAO.Database _
51 , oTable As Object _
52 , oField As DAO.field
53
54 Set db = CurrentDb
55
56 sTitle = String(5, "=")
57
58 If bIsTable = True Then
59 Set oTable = db.TableDefs(sTable)
60 sTitle = sTitle & " Table " & sTitle
61 Else
62 Set oTable = db.QueryDefs(sTable)
63 sTitle = sTitle & " Query " & sTitle
64 End If
65 sTitle = sTitle & " " & sTable & " " & String(10, "=")
66
67 With oTable
68 Debug.Print sTitle
69 Debug.Print "-Fieldname-";
70 If bFieldnameOnly Then
71 Debug.Print
72 Else
73 Debug.Print Tab(iTab); "-Type-";
74 Debug.Print Tab(iTab + 7); "-Size-";
75 Debug.Print Tab(iTab + 14); "-Description-"
76 End If
77
78 For Each oField In .Fields
79 With oField
80 Debug.Print .Name;
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_Document_Fields Página: 16

81 If bFieldnameOnly Then
82 Debug.Print
83 Else
84 If .Type = 4 And _
85 (.Attributes And dbAutoIncrField) _
86 = dbAutoIncrField Then
87 Debug.Print Tab(iTab); "(AutoNumber)";
88 ' Debug.Print " (AutoNumber)";
89 Else
90 Debug.Print Tab(iTab); .Type;
91 Debug.Print Tab(iTab + 7); .Size;
92 End If
93
94 Debug.Print Tab(iTab + 14); _
95 Get_Property("Description", oField, "")
96 End If
97 End With
98 Next oField
99 End With 'tdf
100
101 If bShowMessage Then
102 MsgBox "Press Ctrl_G to see field information for " _
103 & sTable & " in the Debug window" _
104 , , "done"
105 End If
106
107 Proc_Exit:
108 On Error Resume Next
109 Set oField = Nothing
110 Set oTable = Nothing
111 Set db = Nothing
112 Exit Function
113
114 Proc_Err:
115 MsgBox Err.Description, , _
116 "ERROR " & Err.Number _
117 &" Document_Fields2Debug_s4p "
118
119 Resume Proc_Exit
120 Resume
121 End Function
122
123 '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
124 ' Get_Property
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_Document_Fields Página: 17

125 '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
126 ' UNCOMMENT if you need this
127 ' Get_Property is in mod_Properties_s4p
128 ' posted here:
129 ' https://msaccessgurus.com/VBA/Code/Properties.htm
130 '
131 Public Function Get_Property( _
132 psPropName As String _
133 , Optional obj As Object _
134 , Optional pvDefaultValue As Variant _
135 ) As Variant
136
137
138 ''s4p 8-9 ... 130831, 160820, 170721, 191124, 200511, 220403
139 '' get the value of a database (or object) property
140 '' pass (optional) object to look somewhere other than CurrentDb
141 '' pass (optional) default value to return if property not set
142 '
143 ' ' PARAMETERS
144 ' ' psPropName is the (database) property name to return the value of
145 ' ' OPTIONAL
146 ' ' obj = database, field, tabledef, querydef,
147 ' ' or other object with properties
148 ' ' if obj is not specified, then CurrentDb is used
149 ' ' pvDefaultValue is value to return if property cannot be read
150 ' '
151 ' 'RETURNS
152 ' ' Value of property
153 ' ' OR
154 ' ' Null (or pvDefaultValue) if property has no value or is not defined
155 '
156 ' 'EXAMPLES
157 ' ' MyValue = Get_Property("MyDatabasePropertyName")
158 ' ' MyFieldDescription = Get_Property("Description",oField,"")
159 ' ' ?Get_Property("Description",currentdb.TableDefs("MyTable").fields("MyField"))
160 '
161 On Error GoTo Proc_Err
162 '
163 Dim bRelease As Boolean
164 bRelease = False
165 '
166 If obj Is Nothing Then
167 Set obj = CurrentDb
168 bRelease = True
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_Document_Fields Página: 18

169 End If
170 '
171 ' 'initialize return value
172 If Not IsMissing(pvDefaultValue) Then
173 Get_Property = pvDefaultValue
174 Else
175 Get_Property = Null
176 End If
177 '
178 With obj
179 Get_Property = obj.Properties(psPropName)
180 End With
181 '
182 Proc_Exit:
183 On Error Resume Next
184 If bRelease Then Set obj = Nothing
185 Exit Function
186 '
187 Proc_Err:
188 Resume Proc_Exit
189 '
190 End Function
191
192 '*************** Code End *****************************************************
193
194
195 Public Function documanta()
196 Dim db As DAO.Database
197 Dim tbl As DAO.TableDef
198 Dim field As DAO.field
199 Dim sql As String
200
201 Set db = CurrentDb
202
203 For Each tbl In db.TableDefs
204 'Looping por todas as tabelas que não sejam de sistema
205 If InStr(1, tbl.Name, "MSys") = False Then
206 'Debug.Print tbl.Name
207 Document_Fields2Debug_s4p tbl.Name
208 End If
209
210 Next
211
212 'fecha e tira da memória a referência do objeto.
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_Document_Fields Página: 19

213 db.Close
214 Set db = Nothing
215 End Function

Permissões de usuário

admin Excluir; Ler permissões; Definir permissões; Alterar proprietário, Ler definição; Modificar
definição

Permissões de grupo

Admins Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição
Users Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_Eventos Página: 20

Propriedades

Container: Modules DateCreated: 25/08/2024 11:10:40


LastUpdated: 25/08/2024 11:10:40 Owner: admin
UserName: admin

Código

1 Attribute VB_Name = "mod_Eventos"


2 Option Compare Database
3 Option Explicit
4
5 'Autor: Avelino Sampaio - Usando Access
6 'Site: www.usandoaccess.com.br
7
8 Public Function fncMontaEventos(Frm As Form)
9 Dim ctl As Control
10 For Each ctl In Frm.Controls
11 Select Case ctl.ControlType
12 Case acTextBox, acComboBox, acListBox
13 If Left(ctl.Name, 3) <> "Cmd" Or Left(ctl.Name, 3) <> "cmd" Then
14 ctl.OnGotFocus = "=fncPintaCampo([" & ctl.Name & "],1)" 'Cor Amarela
15 ctl.OnLostFocus = "=fncPintaCampo([" & ctl.Name & "],0)" 'Cor Branca
16 End If
17 End Select
18 Next
19 End Function
20
21 Public Function fncPintaCampo(ctl As Control, cor As Byte)
22 ctl.BackColor = Switch(cor = 0, RGB(230, 237, 215), cor = 1, RGB(255, 254, 188))
23 ctl.ForeColor = Switch(cor = 0, 2631720, cor = 1, vbBlue)
24 ctl.FontWeight = Switch(cor = 0, 0, cor = 1, 700)
25 ctl.BorderColor = Switch(cor = 0, 12040119, cor = 1, RGB(85, 192, 254))
26 If cor = 1 Then ctl.BorderWidth = 1
27 If cor = 0 Then ctl.BorderWidth = 0
28 'ctl.FontBold = False
29 End Function
30
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_Eventos Página: 21

Permissões de usuário

admin Excluir; Ler permissões; Definir permissões; Alterar proprietário, Ler definição; Modificar
definição

Permissões de grupo

Admins Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição
Users Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_Global Página: 22

Propriedades

Container: Modules DateCreated: 31/08/2024 23:22:21


LastUpdated: 31/08/2024 23:22:21 Owner: admin
UserName: admin

Código

1 Attribute VB_Name = "mod_Global"


2 Option Compare Database
3
4 Global srtChavePA As Integer
5 Global srtChavePAA As Integer
6 Global srtChaveAuditoria As Integer
7 Global srtChaveQuestao As Integer
8 'Global srtChavePA As Integer
9 'Global srtChavePA As Integer

Permissões de usuário

admin Excluir; Ler permissões; Definir permissões; Alterar proprietário, Ler definição; Modificar
definição

Permissões de grupo

Admins Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição
Users Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_NewSort Página: 23

Propriedades

Container: Modules DateCreated: 25/08/2024 11:10:40


LastUpdated: 25/08/2024 11:10:40 Owner: admin
UserName: admin

Código

1 Attribute VB_Name = "mod_NewSort"


2 Option Compare Database
3
4 '---------------------------------------------------------------------------------------
5 ' Procedure : NewSort
6 ' DateTime : 6/12/2008 - 4/9/2015
7 ' Author : Mike Wolfe
8 ' Source : https://nolongerset.com/newsort/
9 ' Purpose : Sort a continuous form by simply pointing at a column label.
10 ' Requires : UpdateOrderBy() function
11 ' Usage : Set the following properties in the label control(s) in the form header:
12 ' - OnMouseMove: =UseHand()
13 ' - OnClick: =NewSort([Form], "FieldToSort")
14 ' : To set the initial sort order, pass multiple field names
15 ' - OnLoad: =NewSort([Form], "1stFieldToSort", "2ndFieldToSort")
16 ' : To use the recordsource's sort order, pass no field names
17 ' - OnLoad: =NewSort([Form])
18 ' : To sort a field in descending order first (subsequent clicks always toggle)
19 ' - OnClick: =NewSort([Form], "LastPmtDate DESC")
20 '
21 ' Changelog :
22 ' 8/24/09 - Added Frm.OrderByOn = False line to fix bug where interaction with
23 ' SetScrollBarDisplay would prevent OrderBy clause from being completely
24 ' replaced by a multiple field name sort
25 ' 11/15/09 - Bug fix: Enter parameter 'LastPmtDate DESC DESC'
26 ' 4/12/11 - Bug fix: Left over ORDER BY was filtering out all records when OnLoad:
=NewSort(Form)
27 ' 5/25/12 - Bug fix: [SQL Server] A column has been specified more than once in the order by
list.
28 ' Columns in the order by list must be unique. (#169)
29 ' 9/14/12 - Bug fix: Workaround for Access 2000 bug where updating the OrderBy clause
30 ' of a subform sets the Filter Off on the parent form
31 ' 3/30/15 - Bug fix: exit immediately if the form has no RecordSource
32 ' 4/ 9/15 - Bug fix: Workaround for Workaround for Access 2000 bug fix of 9/14/12
33 '---------------------------------------------------------------------------------------
34 '
35 Function NewSort(Frm As Form, ParamArray FieldNames() As Variant) 'vv
36 Dim CommaPos As Long, NewOrderBy As String
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_NewSort Página: 24

37 Dim FieldName As Variant, PreferDesc As Boolean, SaveFilter As String


38 Dim UntrimmedClause As Variant, Clause As String, Clauses As Variant, i As Integer
39 If Len(Frm.RecordSource) = 0 Then Exit Function
40
41 On Error Resume Next
42 Dim ParentFilterOn As Variant
43 ParentFilterOn = Frm.Parent.FilterOn
44
45 On Error GoTo 0
46
47 'If single field is passed to function, then append to existing OrderBy clause...
48 If UBound(FieldNames) = LBound(FieldNames) And Len(Frm.OrderBy) > 0 Then
49 FieldName = Trim(FieldNames(LBound(FieldNames)))
50 Frm.OrderBy = UpdateOrderBy(Frm.OrderBy, CStr(FieldName))
51 Frm.OrderByOn = True
52 Else
53 '...create brand new OrderBy clause
54 For Each FieldName In FieldNames
55 NewOrderBy = Conc(NewOrderBy, FieldName)
56 Next FieldName
57 If Len(NewOrderBy) > 0 Then
58 Frm.OrderBy = NewOrderBy
59 Frm.OrderByOn = True
60 Else
61 Frm.OrderBy = ""
62 Frm.OrderByOn = False
63 If Frm.FilterOn Then
64 SaveFilter = Frm.Filter
65 Frm.RecordSource = Frm.RecordSource
66 Frm.Filter = SaveFilter
67 Frm.FilterOn = True
68 Else
69 Frm.RecordSource = Frm.RecordSource
70 End If
71 End If
72 End If
73
74 'Workaround for Access 2000 bug:
75 If Not IsEmpty(ParentFilterOn) Then
76 Dim SaveOrderByOn As Boolean
77 SaveOrderByOn = Frm.OrderByOn
78 Frm.Parent.FilterOn = ParentFilterOn
79 Frm.OrderByOn = SaveOrderByOn
80 End If
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_NewSort Página: 25

81
82 End Function
83
84 'NOTE: Add third angle bracket and remove Private token to enable DocTesting
85 '>> UpdateOrderBy("FinBsmt DESC, UnfinBsmt DESC", "UnfinBsmt DESC")
86 'UnfinBsmt DESC, FinBsmt DESC
87 '>> UpdateOrderBy("", "UnfinBsmt DESC")
88 'UnfinBsmt DESC
89 '>> UpdateOrderBy("FinBsmt DESC, UnfinBsmt DESC", "FinBsmt DESC")
90 'FinBsmt, UnfinBsmt DESC
91 '>> UpdateOrderBy("FName, LName", "LName")
92 'LName, FName
93 Private Function UpdateOrderBy(ExistingOrderBy As String, NewField As String) As String 'vv
94 Dim PreferDesc As Boolean, FieldName As String
95 Dim Clauses As Variant, Clause As String, UntrimmedClause As Variant, i As Integer
96
97 If Len(ExistingOrderBy) = 0 Then
98 UpdateOrderBy = NewField
99 Exit Function
100 End If
101
102 'Allow user to indicate that the first sort for a column should be in descending order
103 FieldName = NewField
104 PreferDesc = Right(FieldName, 5) = " DESC"
105 FieldName = Replace(FieldName, " DESC", "")
106
107 Clauses = Split(ExistingOrderBy, ",")
108 UpdateOrderBy = ""
109 For Each UntrimmedClause In Clauses
110 Clause = Trim(UntrimmedClause)
111 If i = 0 Then
112 If Left(Clause, Len(FieldName)) = FieldName Then
113 If Right(Clause, 4) = "DESC" Then
114 UpdateOrderBy = FieldName
115 Else
116 UpdateOrderBy = FieldName & " DESC"
117 End If
118 Else
119 If PreferDesc Then
120 UpdateOrderBy = FieldName & " DESC"
121 Else
122 UpdateOrderBy = FieldName
123 End If
124 UpdateOrderBy = Conc(UpdateOrderBy, Clause)
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_NewSort Página: 26

125 End If
126 Else
127 If Left(Clause, Len(FieldName)) <> FieldName Then
128 UpdateOrderBy = Conc(UpdateOrderBy, Clause)
129 End If
130 End If
131 i=i+1
132 Next UntrimmedClause
133 End Function
134
135
136
137 '---------------------------------------------------------------------------------------
138 ' Procedure : Conc
139 ' Author : Mike Wolfe
140 ' Source : https://nolongerset.com/come-together/
141 ' Date : 1/23/2009 - 4/1/2015
142 ' Purpose : Concatenates two strings
143 ' Notes : Eliminates the need to strip off the leading/trailing delimiter when
144 ' building a string list
145 ' 4/17/09 - If StartText is filled, but nextval is empty, then StartText is returned unchanged.
146 ' 5/ 1/09 - Changed return type of conc from Variant to String.
147 ' 4/ 1/15 - Allow passing Nulls as StartText.
148 '>>> Conc("1, 2, 3", "4")
149 ' 1, 2, 3, 4
150 '>>> Conc("This", "that", " and ")
151 ' This and that
152 '>>> Conc("Five", Null, " and ")
153 ' Five
154 '>>> Conc(Null, "Dime", " and ")
155 ' Dime
156 '>>> "#" & Conc(Null, Null) & "#"
157 ' ##
158 '---------------------------------------------------------------------------------------
159 '
160 Function Conc(StartText As Variant, NextVal As Variant, _
161 Optional Delimiter As String = ", ") As String
162 If Len(Nz(StartText)) = 0 Then
163 Conc = Nz(NextVal)
164 ElseIf Len(Nz(NextVal)) = 0 Then
165 Conc = StartText
166 Else
167 Conc = StartText & Delimiter & NextVal
168 End If
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_NewSort Página: 27

169 End Function


170

Permissões de usuário

admin Excluir; Ler permissões; Definir permissões; Alterar proprietário, Ler definição; Modificar
definição

Permissões de grupo

Admins Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição
Users Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_PositionWindow Página: 28

Propriedades

Container: Modules DateCreated: 25/08/2024 11:10:40


LastUpdated: 25/08/2024 11:10:40 Owner: admin
UserName: admin

Código

1 Attribute VB_Name = "mod_PositionWindow"


2 'Copyright: Stephen Lebans - Lebans Holdings 1999 Ltd. www.lebans.com
3 ' You may use this code in your own private or commercial applications
4 ' without cost. Simply leave this copyright notice in the source code.
5 ' You may not sell htis code by itself or as part of a collection.
6 'Name: PositionFormRelativeToControl
7 'Version: 1.5
8 'Purpose: To allow you to open a second form relative to a control on the parent form.
9 'Author: Stephen Lebans
10 'Email: Stephen@lebans.com
11 'Web Site: www.lebans.com
12 'Date: Nov 13 , 2004, 10:10:10 PM
13
14 Option Compare Database
15 Option Explicit
16
17 Private Type POINTAPI
18 X As Long
19 Y As Long
20 End Type
21
22 Private Type RECT
23 Left As Long
24 Top As Long
25 Right As Long
26 Bottom As Long
27 End Type
28
29 #If VBA7 Then
30 Private Declare PtrSafe Function GetSystemMetrics Lib "user32" _
31 (ByVal nIndex As Long) As Long
32
33 Private Declare PtrSafe Function GetWindowLong Lib "user32" Alias "GetWindowLongA"
(ByVal hwnd As
Long, ByVal nIndex As Long) As Long
34
35 Private Declare PtrSafe Function GetClientRect Lib "user32" _
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_PositionWindow Página: 29

36 (ByVal hwnd As Long, lpRect As RECT) As Long


37
38 Private Declare PtrSafe Function GetWindowRect Lib "user32" _
39 (ByVal hwnd As Long, lpRect As RECT) As Long
40
41 Private Declare PtrSafe Function ClientToScreen Lib "user32" _
42 (ByVal hwnd As Long, lpPoint As POINTAPI) As Long
43
44 Private Declare PtrSafe Function ScreenToClient Lib "user32" _
45 (ByVal hwnd As Long, lpPoint As POINTAPI) As Long
46
47 Private Declare PtrSafe Function GetDesktopWindow Lib "user32" () As Long
48
49 Private Declare PtrSafe Function apiGetWindowLong Lib "user32" _
50 Alias "GetWindowLongA" _
51 (ByVal hwnd As Long, _
52 ByVal nIndex As Long) As Long
53
54 Private Declare PtrSafe Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
55
56 Private Declare PtrSafe Function DeleteDC Lib "gdi32" (ByVal hdc As Long) As Long
57
58 Private Declare PtrSafe Function apiGetDeviceCaps Lib "gdi32" _
59 Alias "GetDeviceCaps" (ByVal hdc As Long, ByVal nIndex As Long) As Long
60
61 Private Declare PtrSafe Function ReleaseDC Lib "user32" _
62 (ByVal hwnd As Long, ByVal hdc As Long) As Long
63
64
65 Private Declare PtrSafe Function SendMessage Lib "user32" _
66 Alias "SendMessageA" _
67 (ByVal hwnd As Long, _
68 ByVal wMsg As Long, _
69 ByVal wParam As Long, _
70 lParam As Any) As Long
71
72 Private Declare PtrSafe Function apiGetWindow Lib "user32" _
73 Alias "GetWindow" _
74 (ByVal hwnd As Long, _
75 ByVal wCmd As Long) _
76 As Long
77
78 Private Declare PtrSafe Function apiGetClassName Lib "user32" _
79 Alias "GetClassNameA" _
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_PositionWindow Página: 30

80 (ByVal hwnd As Long, _


81 ByVal lpClassName As String, _
82 ByVal nMaxCount As Long) _
83 As Long
84
85 Private Declare PtrSafe Function FindWindowEx Lib "user32" _
86 Alias "FindWindowExA" (ByVal hwnd1 As Long, ByVal hwnd2 As Long, _
87 ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
88
89 Private Declare PtrSafe Function SetWindowPos Lib "user32" _
90 (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, _
91 ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
92 #Else
93 Private Declare Function GetSystemMetrics Lib "user32" _
94 (ByVal nIndex As Long) As Long
95
96 Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd
As Long, ByVal
nIndex As Long) As Long
97
98 Private Declare Function GetClientRect Lib "user32" _
99 (ByVal hwnd As Long, lpRect As RECT) As Long
100
101 Private Declare Function GetWindowRect Lib "user32" _
102 (ByVal hwnd As Long, lpRect As RECT) As Long
103
104 Private Declare Function ClientToScreen Lib "user32" _
105 (ByVal hwnd As Long, lpPoint As POINTAPI) As Long
106
107 Private Declare Function ScreenToClient Lib "user32" _
108 (ByVal hwnd As Long, lpPoint As POINTAPI) As Long
109
110 Private Declare Function GetDesktopWindow Lib "user32" () As Long
111
112 Private Declare Function apiGetWindowLong Lib "user32" _
113 Alias "GetWindowLongA" _
114 (ByVal hwnd As Long, _
115 ByVal nIndex As Long) As Long
116
117 Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
118
119 Private Declare Function DeleteDC Lib "gdi32" (ByVal hdc As Long) As Long
120
121 Private Declare Function apiGetDeviceCaps Lib "gdi32" _
122 Alias "GetDeviceCaps" (ByVal hdc As Long, ByVal nIndex As Long) As Long
123
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_PositionWindow Página: 31

124 Private Declare Function ReleaseDC Lib "user32" _


125 (ByVal hwnd As Long, ByVal hdc As Long) As Long
126
127
128 Private Declare Function SendMessage Lib "user32" _
129 Alias "SendMessageA" _
130 (ByVal hwnd As Long, _
131 ByVal wMsg As Long, _
132 ByVal wParam As Long, _
133 lParam As Any) As Long
134
135 Private Declare Function apiGetWindow Lib "user32" _
136 Alias "GetWindow" _
137 (ByVal hwnd As Long, _
138 ByVal wCmd As Long) _
139 As Long
140
141 Private Declare Function apiGetClassName Lib "user32" _
142 Alias "GetClassNameA" _
143 (ByVal hwnd As Long, _
144 ByVal lpClassName As String, _
145 ByVal nMaxCount As Long) _
146 As Long
147
148 Private Declare Function FindWindowEx Lib "user32" _
149 Alias "FindWindowExA" (ByVal hwnd1 As Long, ByVal hwnd2 As Long, _
150 ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
151
152 Private Declare Function SetWindowPos Lib "user32" _
153 (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, _
154 ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
155 #End If
156
157 ' Window Styles
158 Private Const WS_OVERLAPPED = &H0&
159 Private Const WS_POPUP = &H80000000
160 Private Const WS_CHILD = &H40000000
161 Private Const WS_MINIMIZE = &H20000000
162 Private Const WS_VISIBLE = &H10000000
163 Private Const WS_DISABLED = &H8000000
164 Private Const WS_CLIPSIBLINGS = &H4000000
165 Private Const WS_CLIPCHILDREN = &H2000000
166 Private Const WS_MAXIMIZE = &H1000000
167 Private Const WS_CAPTION = &HC00000 ' WS_BORDER Or WS_DLGFRAME
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_PositionWindow Página: 32

168 Private Const WS_BORDER = &H800000


169 Private Const WS_DLGFRAME = &H400000
170 Private Const WS_VSCROLL = &H200000
171 Private Const WS_HSCROLL = &H100000
172 Private Const WS_SYSMENU = &H80000
173 Private Const WS_THICKFRAME = &H40000
174 Private Const WS_GROUP = &H20000
175 Private Const WS_TABSTOP = &H10000
176
177 Private Const WS_MINIMIZEBOX = &H20000
178 Private Const WS_MAXIMIZEBOX = &H10000
179
180 Private Const WS_TILED = WS_OVERLAPPED
181 Private Const WS_ICONIC = WS_MINIMIZE
182 Private Const WS_SIZEBOX = WS_THICKFRAME
183 Private Const WS_OVERLAPPEDWINDOW = (WS_OVERLAPPED Or WS_CAPTION Or WS_SYSMENU
Or
WS_THICKFRAME Or WS_MINIMIZEBOX Or WS_MAXIMIZEBOX)
184 Private Const WS_TILEDWINDOW = WS_OVERLAPPEDWINDOW
185
186 Private Const WS_POPUPWINDOW = (WS_POPUP Or WS_BORDER Or WS_SYSMENU)
187 Private Const WS_CHILDWINDOW = (WS_CHILD)
188
189 ' Extended Window Styles
190 Private Const WS_EX_DLGMODALFRAME = &H1&
191 Private Const WS_EX_NOPARENTNOTIFY = &H4&
192 Private Const WS_EX_TOPMOST = &H8&
193 Private Const WS_EX_ACCEPTFILES = &H10&
194 Private Const WS_EX_TRANSPARENT = &H20&
195
196 ' GetWindow() Constants
197 Private Const GW_HWNDFIRST = 0
198 Private Const GW_HWNDLAST = 1
199 Private Const GW_HWNDNEXT = 2
200 Private Const GW_HWNDPREV = 3
201 Private Const GW_OWNER = 4
202 Private Const GW_CHILD = 5
203 Private Const GW_MAX = 5
204
205
206 ' App instance
207 Private Const GWL_HINSTANCE = (-6)
208 Private Const GWL_STYLE = (-16)
209 ' Twips per inch
210 Private Const TWIPSPERINCH = 1440&
211
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_PositionWindow Página: 33

212 ' Device Parameters for GetDeviceCaps()


213 Private Const LOGPIXELSX = 88 ' Logical pixels/inch in X
214 Private Const LOGPIXELSY = 90 ' Logical pixels/inch in Y
215 Private Const BITSPIXEL = 12 ' Number of bits per pixel
216
217 Private Const SM_CXSCREEN = 0
218 Private Const SM_CYSCREEN = 1
219 Private Const SM_CXVSCROLL = 2
220 Private Const SM_CYHSCROLL = 3
221 Private Const SM_CXBORDER = 5
222 Private Const SM_CYBORDER = 6
223
224 ' SetWindowPos Flags
225 Private Const SWP_NOSIZE = &H1
226 Private Const SWP_NOMOVE = &H2
227 Private Const SWP_NOZORDER = &H4
228 Private Const SWP_NOREDRAW = &H8
229 Private Const SWP_NOACTIVATE = &H10
230 Private Const SWP_FRAMECHANGED = &H20 ' The frame changed: send WM_NCCALCSIZE
231 Private Const SWP_SHOWWINDOW = &H40
232 Private Const SWP_HIDEWINDOW = &H80
233 Private Const SWP_NOCOPYBITS = &H100
234 Private Const SWP_NOOWNERZORDER = &H200 ' Don't do owner Z ordering
235
236 Private Const SWP_DRAWFRAME = SWP_FRAMECHANGED
237 Private Const SWP_NOREPOSITION = SWP_NOOWNERZORDER
238
239 ' SetWindowPos() hWndInsertAfter values
240 Private Const HWND_TOP = 0
241 Private Const HWND_BOTTOM = 1
242 Private Const HWND_TOPMOST = -1
243 Private Const HWND_NOTOPMOST = -2
244 Private Const TITLE = ""
245
246 ' Horizontal and Vertical Screen resolution
247 Private m_ScreenXdpi As Long
248 Private m_ScreenYdpi As Long
249
250 ' Junk return vars
251 Private lRet As Long
252
253
254
255 Public Function PositionFormRelativeToControl(frmName As String, ctl As Access.Control,
Optional Position
As Long = 0) As Boolean
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_PositionWindow Página: 34

256 Position:
257 ' 0 = Underneath
258 ' 1 = On Top
259 ' 2 = Right side
260 ' 3 = Left side
261 ' 4 = Bottom Right Hand Corner
262
263 ' Window handle to our Form's Detail Section
264 Dim m_hWndSection As Long
265
266 ' Form we will position under the control
267 Dim Frm As Access.Form
268
269 ' Access MDI document window
270 Dim hWndMDI As Long
271 ' MDI borders
272 Dim MDIborderX As Long
273 Dim MDIborderY As Long
274
275 ' For positioning window
276 Dim rc As RECT
277 Dim rcWin As RECT
278 Dim pt As POINTAPI
279 Dim lOffsetX As Long, lOffsetY As Long
280
281 ' Screen dimensions
282 Dim m_ScreenWidth As Long
283 Dim m_ScreenHeight As Long
284
285 ' Window Style var
286 Dim lStyle As Long
287
288 ' Since we are turning off screen redraw ignore all errors
289 On Error Resume Next
290
291 ' Turn off redraw
292 ' Leave this alone util you are done debugging
293 'Application.Echo False
294
295 ' Open the Form
296 DoCmd.OpenForm frmName, acNormal, , , , acHidden
297 ' Does form exist?
298 Set Frm = Forms.Item(frmName)
299
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_PositionWindow Página: 35

300 If Not Frm Is Nothing Then


301
302 ' Get the Window handle for the form Section containing this control
303 m_hWndSection = fFindSectionhWnd(ctl)
304 ' Calculate the LEFT offset for this control from the edge of the Section
305 ' First calc our screen resolution
306 GetScreenDPI
307 ' Now get our screen dimensions
308 m_ScreenWidth = GetSystemMetrics(SM_CXSCREEN)
309 m_ScreenHeight = GetSystemMetrics(SM_CYSCREEN)
310
311 Select Case Position
312
313 Case 0
314 lOffsetX = ctl.Left / (TWIPSPERINCH / m_ScreenXdpi)
315 lOffsetY = (ctl.Top + ctl.Height) / (TWIPSPERINCH / m_ScreenYdpi)
316
317 Case 1
318 lOffsetX = ctl.Left / (TWIPSPERINCH / m_ScreenXdpi)
319 lOffsetY = (-Frm.WindowHeight + ctl.Top) / (TWIPSPERINCH / m_ScreenYdpi)
320
321 Case 2
322 lOffsetX = (ctl.Left + ctl.Width) / (TWIPSPERINCH / m_ScreenXdpi)
323 lOffsetY = (ctl.Top) / (TWIPSPERINCH / m_ScreenYdpi)
324
325 Case 3
326 ' Nov-2004 Logic error
327 ' Must use Form's width NOT COntrol's width
328 'lOffsetX = (ctl.Left - ctl.Width) / (TWIPSPERINCH / m_ScreenXdpi)
329 lOffsetX = (ctl.Left - Frm.WindowWidth) / (TWIPSPERINCH / m_ScreenXdpi)
330 lOffsetY = (ctl.Top) / (TWIPSPERINCH / m_ScreenYdpi)
331
332 Case 4
333 lOffsetX = (ctl.Left + ctl.Width) / (TWIPSPERINCH / m_ScreenXdpi)
334 lOffsetY = (ctl.Top + ctl.Height) / (TWIPSPERINCH / m_ScreenYdpi)
335
336 Case Else
337 ' Default to Underneath
338 lOffsetX = ctl.Left / (TWIPSPERINCH / m_ScreenXdpi)
339 lOffsetY = (ctl.Top + ctl.Height) / (TWIPSPERINCH / m_ScreenYdpi)
340
341 End Select
342
343 ' Get window rectangle of the Section
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_PositionWindow Página: 36

344 lRet = GetWindowRect(m_hWndSection, rc)


345 ' Add in offsets for the calling control
346 pt.X = lOffsetX + rc.Left&
347 pt.Y = lOffsetY + rc.Top
348
349 ' Bounds checking to ensure form will be completely visible on screen
350
351 lRet = GetWindowRect(Frm.hwnd, rcWin)
352
353 With rcWin
354 If m_ScreenWidth - pt.X < .Right - .Left Then
355 pt.X = m_ScreenWidth - (.Right - .Left)
356 ElseIf pt.X < 2 Then 'm_S
357 pt.X = 2
358 End If
359
360 If m_ScreenHeight - pt.Y < .Bottom - .Top Then
361 pt.Y = m_ScreenHeight - (.Bottom - .Top)
362 ElseIf pt.Y < 2 Then
363 pt.Y = 2
364 End If
365
366 End With
367
368
369 ' If the Form's POPUP property is True then skip the
370 ' ScreenToClient stuff
371 If Not Frm.PopUp = True Then
372
373 ' find MDIClient window
374 hWndMDI = FindWindowEx(Application.hWndAccessApp, 0&, "MDIClient", TITLE)
375 ' COnvert to Client coordinates of our MDI window
376 lRet = ScreenToClient(hWndMDI, pt)
377 ' We have to subtract our MDI window's Border
378 lRet = GetWindowRect(hWndMDI, rcWin)
379 lRet = GetClientRect(hWndMDI, rc)
380 MDIborderX = ((rcWin.Right - rcWin.Left) - (rc.Right - rc.Left))
381 MDIborderY = ((rcWin.Bottom - rcWin.Top) - (rc.Bottom - rc.Top))
382
383 ' See if ScrollBar is visible in the MDI window
384 lStyle = GetWindowLong(hWndMDI, GWL_STYLE)
385
386 If lStyle And WS_HSCROLL Then
387 MDIborderY = MDIborderY - GetSystemMetrics(SM_CYHSCROLL)
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_PositionWindow Página: 37

388 End If
389
390 If lStyle And WS_VSCROLL Then
391 MDIborderX = MDIborderX - GetSystemMetrics(SM_CXVSCROLL)
392 End If
393 ' Remainder is our Border thickness
394 MDIborderX = MDIborderX / 2
395 MDIborderY = MDIborderY / 2
396 Else
397 ' POPUP = True
398 ' We need to subtract the Border thickness of the main Access Aplication Window
399 MDIborderX = GetSystemMetrics(SM_CXBORDER)
400 MDIborderY = GetSystemMetrics(SM_CYBORDER)
401 End If
402
403 ' Position our Form underneath of the calling control
404 Call SetWindowPos(Frm.hwnd, 0&, pt.X - MDIborderX, pt.Y - MDIborderY, 0, 0, SWP_NOSIZE)
405
406 End If
407
408 ' Turn on redraw
409 'Application.Echo True
410 ' Cleanup
411 Set Frm = Nothing
412
413 '// Oculta
414 DoCmd.RunCommand acCmdRestore
415 ' Return Success
416 PositionFormRelativeToControl = True
417
418 End Function
419
420 Private Sub GetScreenDPI()
421 Dim lngDC As Long
422
423 ' Grab any DC
424 lngDC = GetDC(0)
425 'Horizontal
426 m_ScreenXdpi = apiGetDeviceCaps(lngDC, LOGPIXELSX)
427 'Vertical
428 m_ScreenYdpi = apiGetDeviceCaps(lngDC, LOGPIXELSY)
429
430 lngDC = ReleaseDC(0, lngDC)
431 End Sub
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_PositionWindow Página: 38

432
433 Private Function fFindSectionhWnd(ctl As Access.Control) As Long
434 On Error GoTo Err_fFindSectionhWnd
435 ' Get ListBox's hWnd
436 Dim hWnd_LSB As Long
437 Dim hWnd_Temp As Long
438
439 ' Window RECT vars
440 Dim rc As RECT
441 Dim pt As POINTAPI
442
443 ' Loop Counters
444 Dim SectionCounter As Long
445 Dim ctr As Long
446
447 ' Which Section contains the Control?
448 Select Case ctl.Section
449 Case acDetail '0
450 SectionCounter = 2
451 Case acHeader '1
452 SectionCounter = 1
453 Case acFooter '2
454 SectionCounter = 3
455 Case Else
456 ' **** NEED ERROR HANDLING! ****
457 End Select
458
459 ' Setup SectionCounter
460 ' Form Header, Detail and then Footer
461 ctr = 1
462
463 ' Nov -2004 - Modification by Onno Willems
464 ' Let's get first Child Window of the FORM
465 If TypeOf ctl.Parent Is Access.Page Then
466 ' If the control is on a page on a tab, we can't get a window handle
467 If TypeOf ctl.Parent.Parent Is Access.TabControl Then
468 ' As expected, the page is on a tab
469 If TypeOf ctl.Parent.Parent.Parent Is Access.Form Then
470 ' And the parent of the tab is the form we wanted
471 hWnd_LSB = apiGetWindow(ctl.Parent.Parent.Parent.hwnd, GW_CHILD)
472 End If
473 End If
474 Else
475 ' Normal control directly on form
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_PositionWindow Página: 39

476 hWnd_LSB = apiGetWindow(ctl.Parent.hwnd, GW_CHILD)


477 End If
478
479 ' Let's walk through every sibling window of the Form
480 Do
481 If fGetClassName(hWnd_LSB) = "OFormSub" Then
482 ' First OFormSub is the Form's Header. We want the next next one
483 ' which is the detail section
484 If ctr = SectionCounter Then
485 fFindSectionhWnd = hWnd_LSB
486 Exit Function
487 End If
488
489 ' Increment our Section Counter
490 ctr = ctr + 1
491
492 End If
493
494 ' Let's get the NEXT SIBLING Window
495 hWnd_LSB = apiGetWindow(hWnd_LSB, GW_HWNDNEXT)
496
497 ' Let's Start the process from the Top again
498 ' Really just an error check
499 Loop While hWnd_LSB <> 0
500
501 ' SORRY - NO ListBox hWnd is available
502 fFindSectionhWnd = 0
503
504 Exit_fFindSectionhWnd:
505 Exit Function
506
507 Err_fFindSectionhWnd:
508 MsgBox Err.Description
509 Resume Exit_fFindSectionhWnd
510
511 End Function
512
513 ' From Dev Ashish's Site
514 ' The Access Web
515 ' http://www.mvps.org/access/
516
517 '******* Code Start *********
518 Private Function fGetClassName(hwnd As Long)
519 Dim strBuffer As String
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_PositionWindow Página: 40

520 Dim lngLen As Long


521 Const MAX_LEN = 255
522 strBuffer = Space$(MAX_LEN)
523 lngLen = apiGetClassName(hwnd, strBuffer, MAX_LEN)
524 If lngLen > 0 Then fGetClassName = Left$(strBuffer, lngLen)
525 End Function
526 '******* Code End *********
527

Permissões de usuário

admin Excluir; Ler permissões; Definir permissões; Alterar proprietário, Ler definição; Modificar
definição

Permissões de grupo

Admins Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição
Users Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_RecordXofY Página: 41

Propriedades

Container: Modules DateCreated: 07/09/2024 18:09:34


LastUpdated: 07/09/2024 18:09:34 Owner: admin
UserName: admin

Código

1 Attribute VB_Name = "MOD_RecordXofY"


2 Option Compare Database
3 Option Explicit
4
5 Public Function RecXofY(frmName As Form) As String
6
7 Dim rst As DAO.Recordset
8 Dim cc As Long: cc = 0
9
10 Set rst = frmName.RecordsetClone
11 cc = rst.RecordCount
12 On Error Resume Next
13
14 rst.Bookmark = frmName.Bookmark
15
16 If Err Then
17 RecXofY = "Novo"
18 Else
19 RecXofY = rst.AbsolutePosition + 1 & " de " & cc
20 End If
21
22 rst.Close
23 Set rst = Nothing
24
25 End Function
26
27

Permissões de usuário

admin Excluir; Ler permissões; Definir permissões; Alterar proprietário, Ler definição; Modificar
definição
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_RecordXofY Página: 42

Permissões de grupo

Admins Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição
Users Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_Registros Página: 43

Propriedades

Container: Modules DateCreated: 25/08/2024 11:10:40


LastUpdated: 25/08/2024 11:10:40 Owner: admin
UserName: admin

Código

1 Attribute VB_Name = "mod_Registros"


2 Option Compare Database
3 Option Explicit
4
5 Public RegAtual As Long
6 Public RegTotal As Long
7
8 Public Function fncTotal(Frm As Form, campo_chave As String) As Long
9 On Error GoTo resolve
10 Dim lngTotal As Long
11 If Frm.cboFiltro.Column(0) <> 0 Then
12 lngTotal = DCount(campo_chave, Frm.RecordSource, "[" & campo_chave & "] = " &
Frm.cboFiltro.Column(0))

13 Else
14 lngTotal = DCount(campo_chave, Frm.RecordSource)
15 End If
16 fncTotal = lngTotal
17 resolve:
18 If Err.Number = 2471 Then: Resume Next
19 End Function
20
21 Public Function fncTotalGeral(Frm As Form, campo_chave As String) As Long
22 Dim lngTotal As Long
23 lngTotal = DCount(campo_chave, Frm.RecordSource)
24 fncTotalGeral = lngTotal
25 End Function
26
27 Public Function fncNovo(Frm As Form) As Long
28 '// cria um novo registro
29 DoCmd.GoToRecord acDataForm, Frm.Name, acNewRec
30 End Function
31
32 Public Function fncSalvar(Frm As Form) As Long
33 On Error GoTo resolve
34 '// cria um novo registro
35 DoCmd.RunCommand acCmdSelectRecord
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_Registros Página: 44

36 DoCmd.RunCommand acCmdSaveRecord
37 Frm.cboFiltro.Requery
38 resolve:
39 If Err.Number = 2465 Then: Resume Next
40 End Function
41
42 Public Function fncExclui(Frm As Form) As Long
43 '// cria um novo registro
44 If MsgBox("Você deseja realmente excluir este registro?", vbYesNo, "EXCLUSÃO DE
REGISTRO") = vbYes Then

45 DoCmd.SetWarnings False 'desabilita os avisos do sistema


46 DoCmd.RunCommand acCmdSelectRecord 'seleciona o registro
47 DoCmd.RunCommand acCmdDelete 'deleta o registro
48 Else
49 Exit Function
50 End If
51 End Function
52
53 Public Function fncAnterior(Frm As Form, campo_chave As String) As Long
54 On Error GoTo resolve
55 '// move para o registro anterior
56 If Frm.txtAtual = 1 Then
57 MsgBox "Você está no primeiro registro!", vbInformation, "ATENÇÃO"
58 Exit Function
59 Else
60 DoCmd.RunCommand acCmdRecordsGoToPrevious
61 Frm.txtTotal = fncTotal(Frm, campo_chave)
62 Frm.txtAtual = Frm.CurrentRecord
63 End If
64 resolve:
65 If Err.Number = 2046 Then: Resume Next
66 End Function
67
68 Public Function fncPrimeiro(Frm As Form, campo_chave As String) As Long
69 '// move para o primeiro registro
70 DoCmd.RunCommand acCmdRecordsGoToFirst
71 Frm.txtTotal = fncTotal(Frm, campo_chave)
72 Frm.txtAtual = 1
73 End Function
74
75 Public Function fncProximo(Frm As Form, campo_chave As String) As Long
76 On Error GoTo resolve
77 '// move para o próximo registro
78 If Frm.txtAtual = Frm.txtTotal Then
79 MsgBox "Você está no último registro!", vbInformation, "ATENÇÃO"
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_Registros Página: 45

80 Exit Function
81 Else
82 DoCmd.RunCommand acCmdRecordsGoToNext
83 Frm.txtTotal = fncTotal(Frm, campo_chave)
84 'Me!txtAtual = Me!txtAtual + 1
85 Frm.txtAtual = Frm.CurrentRecord
86 End If
87 resolve:
88 If Err.Number = 2046 Then: Resume Next
89
90 End Function
91
92 Public Function fncUltimo(Frm As Form, campo_chave As String) As Long
93 '// move para o último registro
94 DoCmd.RunCommand acCmdRecordsGoToLast
95 Frm.txtTotal = fncTotal(Frm, campo_chave)
96 Frm.txtAtual = Frm.CurrentRecord
97 End Function

Permissões de usuário

admin Excluir; Ler permissões; Definir permissões; Alterar proprietário, Ler definição; Modificar
definição

Permissões de grupo

Admins Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição
Users Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_remove_tags_html Página: 46

Propriedades

Container: Modules DateCreated: 09/09/2024 18:21:57


LastUpdated: 09/09/2024 18:21:57 Owner: admin
UserName: admin

Código

1 Attribute VB_Name = "mod_remove_tags_html"


2 Option Compare Database
3
4 '---------------------------------------------------------------------------------------
5 ' Procedure : RemoveHTML
6 ' Author : Daniel Pineault, CARDA Consultants Inc.
7 ' Website : http://www.cardaconsultants.com
8 ' Purpose : Remove any HTML tags and/or comments from a string
9 ' Copyright : The following may be altered and reused as you wish so long as the
10 ' copyright notice is left unchanged (including Author, Website and
11 ' Copyright). It may not be sold/resold or reposted on other sites (links
12 ' back to this site are allowed).
13 '
14 ' Input Variables:
15 ' ~~~~~~~~~~~~~~~~
16 ' sString : String to sanitize (remove HTML tags from)
17 '
18 ' Usage:
19 ' ~~~~~~
20 ' RemoveHTML("And
21
22 ' Returns: And then some
23 '
24 ' Revision History:
25 ' Rev Date(yyyy/mm/dd) Description
26 ' **************************************************************************************
27 ' 1 2009-Aug-26 Initial Release
28 ' 2 2009-Oct-30 Changed pattern to include comments
29 '---------------------------------------------------------------------------------------
30 Function RemoveHTML(sString As String) As String
31 On Error GoTo Error_Handler
32 Dim oRegEx As Object
33
34 Set oRegEx = CreateObject("vbscript.regexp")
35
36 With oRegEx
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_remove_tags_html Página: 47

37 'Patterns see: http://regexlib.com/Search.aspx?k=html%20tags


38 '.Pattern = "<[^>]+>" 'basic html pattern
39 .Pattern = "]*>" 'html tags and comments
40 .Global = True
41 .IgnoreCase = True
42 .MultiLine = True
43 End With
44
45 RemoveHTML = oRegEx.Replace(sString, "")
46
47 Error_Handler_Exit:
48 On Error Resume Next
49 Set oRegEx = Nothing
50 Exit Function
51
52 Error_Handler:
53 MsgBox "The following error has occurred." & vbCrLf & vbCrLf & _
54 "Error Number: " & Err.Number & vbCrLf & _
55 "Error Source: RemoveHTML" & vbCrLf & _
56 "Error Description: " & Err.Description, _
57 vbCritical, "An Error has Occurred!"
58 Resume Error_Handler_Exit
59 End Function
60

Permissões de usuário

admin Excluir; Ler permissões; Definir permissões; Alterar proprietário, Ler definição; Modificar
definição

Permissões de grupo

Admins Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição
Users Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_remover_letras Página: 48

Propriedades

Container: Modules DateCreated: 25/08/2024 11:10:40


LastUpdated: 25/08/2024 11:10:40 Owner: admin
UserName: admin

Código

1 Attribute VB_Name = "mod_remover_letras"


2 Option Compare Database
3
4 Public Function RemoverLetras(str As String) As String
5 Dim i As Integer
6 Dim resultado As String
7 Dim caractere As String
8
9 resultado = ""
10
11 For i = 1 To Len(str)
12 caractere = Mid(str, i, 1)
13 If Not caractere Like "[A-Za-z]" Then
14 resultado = resultado & caractere
15 End If
16 Next i
17
18 RemoverLetras = resultado
19 End Function
20

Permissões de usuário

admin Excluir; Ler permissões; Definir permissões; Alterar proprietário, Ler definição; Modificar
definição

Permissões de grupo

Admins Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição
Users Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_remover_letras Página: 49
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_Resolução_Criquio Página: 50

Propriedades

Container: Modules DateCreated: 25/08/2024 11:10:40


LastUpdated: 25/08/2024 11:10:40 Owner: admin
UserName: admin

Código

1 Attribute VB_Name = "mod_Resolução_Criquio"


2 Option Compare Database
3
4 #If VBA7 Then
5 Public Declare PtrSafe Function GetSystemMetrics Lib "user32.dll" (ByVal nIndex As Long) As
Long '
Declaramos a API
6 #Else
7 Public Declare Function GetSystemMetrics Lib "user32.dll" (ByVal nIndex As Long) As Long '
Declaramos a API

8 #End If
9
10 Const SM_CXSCREEN = 0 ' Constante da largura
11 Const SM_CYSCREEN = 1 ' Constante da altura
12
13 Public Function Largura() As Long
14 Largura = GetSystemMetrics(SM_CXSCREEN) * 15 ' Pegamos a largura em pixels e
multipliamos por 15
15 End Function
16
17 Public Function Altura() As Long
18 Altura = GetSystemMetrics(SM_CYSCREEN) * 15 ' Pegamos a altura em pixels e multipliamos
por 15
19 End Function
20
21 Public Function gLargura() As Long
22 '// para uso com a função ReSizeForm
23 gLargura = GetSystemMetrics(SM_CXSCREEN)
24 End Function
25
26 Public Function gAltura() As Long
27 gAltura = GetSystemMetrics(SM_CYSCREEN)
28 End Function
29
30 Public Function pegaResolucao() As String
31 Dim screenWidth As Long
32 Dim screenHeight As Long
33
34 screenWidth = GetSystemMetrics(SM_CXSCREEN)
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_Resolução_Criquio Página: 51

35 screenHeight = GetSystemMetrics(SM_CYSCREEN)
36
37 pegaResolucao = "Largura: " & screenWidth & " px, Altura: " & screenHeight & " px"
38 End Function

Permissões de usuário

admin Excluir; Ler permissões; Definir permissões; Alterar proprietário, Ler definição; Modificar
definição

Permissões de grupo

Admins Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição
Users Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_resolução_monitor Página: 52

Propriedades

Container: Modules DateCreated: 25/08/2024 11:10:40


LastUpdated: 25/08/2024 11:10:40 Owner: admin
UserName: admin

Código

1 Attribute VB_Name = "mod_resolução_monitor"


2 Option Compare Database
3
4 'Num modulo novo, cole e salve:
5
6 'Digite a resolução em que os seus formularios
7 'foram criados, exemplo 1336
8
9 Global Const DesignResolutionX = 1366
10
11
12 Global Const WM_HORZRES = 8
13 Global Const WM_VERTRES = 10
14
15 Dim Width As Integer
16 Dim Factor As Single
17
18 #If VBA7 Then 'para 64 bits
19 Declare PtrSafe Function WM_apiGetDeviceCaps Lib "gdi32" Alias "GetDeviceCaps" (ByVal hdc As
Long, ByVal
nIndex As Long) As Long
20 Declare PtrSafe Function WM_apiGetDesktopWindow Lib "user32" Alias "GetDesktopWindow" ()
As Long
21 Declare PtrSafe Function WM_apiGetDC Lib "user32" Alias "GetDC" (ByVal hwnd As Long) As
Long
22 Declare PtrSafe Function WM_apiReleaseDC Lib "user32" Alias "ReleaseDC" (ByVal hwnd As
Long, ByVal hdc As
Long) As Long
23 Declare PtrSafe Function WM_apiGetSystemMetrics Lib "user32" Alias "GetSystemMetrics"
(ByVal nIndex As
Long) As Long
24 #Else 'para 32 bits
25 Declare Function WM_apiGetDeviceCaps Lib "gdi32" Alias "GetDeviceCaps" (ByVal hdc As Long,
ByVal nIndex
As Long) As Long
26 Declare Function WM_apiGetDesktopWindow Lib "user32" Alias "GetDesktopWindow" () As Long
27 Declare Function WM_apiGetDC Lib "user32" Alias "GetDC" (ByVal hwnd As Long) As Long
28 Declare Function WM_apiReleaseDC Lib "user32" Alias "ReleaseDC" (ByVal hwnd As Long, ByVal
hdc As Long)
As Long
29 Declare Function WM_apiGetSystemMetrics Lib "user32" Alias "GetSystemMetrics" (ByVal nIndex
As Long) As
Long
30 #End If
31
32 Public Function GetScreenResolution() As String
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_resolução_monitor Página: 53

33 'retorna a altura e a largura


34 Dim DisplayHeight As Integer
35 Dim DisplayWidth As Integer
36 Dim hDesktopWnd As Long
37 Dim hDCcaps As Long
38 Dim iRtn As Integer
39
40 'API que obtem a resolução atual
41 hDesktopWnd = WM_apiGetDesktopWindow()
42 hDCcaps = WM_apiGetDC(hDesktopWnd)
43 DisplayHeight = WM_apiGetDeviceCaps(hDCcaps, WM_VERTRES)
44 DisplayWidth = WM_apiGetDeviceCaps(hDCcaps, WM_HORZRES)
45 iRtn = WM_apiReleaseDC(hDesktopWnd, hDCcaps)
46 GetScreenResolution = DisplayWidth & "x" & DisplayHeight
47 Width = DisplayWidth
48
49 End Function
50
51 Public Sub ReSizeForm(Frm As Form)
52 Dim ctl As Control
53
54 On Error Resume Next
55 SetFactor 'chama o sub SetFactor
56 With Frm
57 .Width = Frm.Width * Factor
58 End With
59 For Each ctl In Frm.Controls
60 With ctl
61 .Height = ctl.Height * Factor
62 .Left = ctl.Left * Factor
63 .Top = ctl.Top * Factor
64 .Width = ctl.Width * Factor
65 .FontSize = .FontSize * Factor
66 End With
67 Next ctl
68 End Sub
69
70 Sub SetFactor()
71 GetScreenResolution 'chama a função GetScreenResolution
72 'Factor = Width / DesignResolutionX
73 Factor = Width / gLargura()
74 End Sub
75
76 'Para chamar, no evento VBA ao carregar do seu formulario;
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_resolução_monitor Página: 54

77
78 'Private Sub Form_Load()
79 ' Call ReSizeForm(Me)
80 'End Sub

Permissões de usuário

admin Excluir; Ler permissões; Definir permissões; Alterar proprietário, Ler definição; Modificar
definição

Permissões de grupo

Admins Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição
Users Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_SeparaNomes Página: 55

Propriedades

Container: Modules DateCreated: 16/09/2024 09:55:41


LastUpdated: 16/09/2024 09:55:41 Owner: admin
UserName: admin

Código

1 Attribute VB_Name = "mod_SeparaNomes"


2 Option Compare Database
3
4 Public Function SeparaNomes(strFrase As String, QualSimboloVaiPartir As String,
QualParteVaiSeparar As
Integer) As String
5 'By@JPaulo2009 Dezembro
6 'Fun??o separa uma frase pelas virgulas ou outro s?mbolo ou espa?o
7 'Exemplo: SeparaNomes("Esta ? uma fun??o\feita para separar palavras.", "\", 1)
8 'O 1 vai mostrar a primeira parte da frase, "Esta ? uma fun??o"
9
10
11 Dim strArray() As String
12 Dim strParteInteira As Integer
13
14
15 On Error GoTo Err_SeparaNomes
16
17
18 strArray = Split(strFrase, QualSimboloVaiPartir)
19
20
21 strParteInteira = UBound(strArray) + 1
22
23
24 If strParteInteira = 0 Then
25 SeparaNomes = strFrase
26 Exit Function
27 End If
28
29
30 If QualParteVaiSeparar = 0 Then
31 SeparaNomes = strFrase
32 Exit Function
33 ElseIf QualParteVaiSeparar > strParteInteira Then
34 QualParteVaiSeparar = strParteInteira
35 End If
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_SeparaNomes Página: 56

36
37
38 SeparaNomes = Trim(strArray(QualParteVaiSeparar - 1))
39
40
41 Exit_SeparaNomes:
42 Exit Function
43
44
45 Err_SeparaNomes:
46 MsgBox Err & " - " & Error$, vbExclamation, "Fun??o SeparaNomes"
47 Resume Exit_SeparaNomes
48 Resume
49 End Function
50

Permissões de usuário

admin Excluir; Ler permissões; Definir permissões; Alterar proprietário, Ler definição; Modificar
definição

Permissões de grupo

Admins Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição
Users Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_Sleep Página: 57

Propriedades

Container: Modules DateCreated: 25/08/2024 11:10:40


LastUpdated: 25/08/2024 11:10:40 Owner: admin
UserName: admin

Código

1 Attribute VB_Name = "mod_Sleep"


2 Option Compare Database
3
4 'Declara função Sleep
5 #If VBA7 Then
6 Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) 'For 64
Bit Systems
7 #Else
8 Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) 'For 32 Bit Systems
9 #End If
10
11
12

Permissões de usuário

admin Excluir; Ler permissões; Definir permissões; Alterar proprietário, Ler definição; Modificar
definição

Permissões de grupo

Admins Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição
Users Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_Transparencia Página: 58

Propriedades

Container: Modules DateCreated: 25/08/2024 11:10:40


LastUpdated: 25/08/2024 11:10:40 Owner: admin
UserName: admin

Código

1 Attribute VB_Name = "mod_Transparencia"


2 Option Compare Database
3 Option Explicit
4 'Autor de la función base: Indeterminado
5 'Declaraciones
6
7 #If VBA7 Then
8 Private Declare PtrSafe Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _
9 (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
10
11 Private Declare PtrSafe Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _
12 (ByVal hwnd As Long, ByVal nIndex As Long) As Long
13
14 Private Declare PtrSafe Function SetLayeredWindowAttributes Lib "user32" _
15 (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwflags As Long) As
Long
16 #Else
17 Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _
18 (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
19
20 Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _
21 (ByVal hwnd As Long, ByVal nIndex As Long) As Long
22
23 Private Declare Function SetLayeredWindowAttributes Lib "user32" _
24 (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwflags As Long) As
Long
25 #End If
26
27 'Constantes
28 Private Const GWL_EXSTYLE = (-20)
29 Private Const WS_EX_LAYERED = &H80000
30 Private Const LWA_ALPHA = &H2
31
32 Function AccessTransparente(Nivel As Integer)
33 'Adaptación: Byron Contreras, febrero 08, byronlcl@gmail.com
34 'Objetivo: Ajustar el nivel de transparencia de la ventana principal
35 ' de access. El nivel de transparencia debe estar entre 0 a 250
36 '.............................................................................
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: mod_Transparencia Página: 59

37 Dim lngHwnd As Long


38 If Nivel < 0 Or Nivel > 255 Then Exit Function
39 lngHwnd = Application.hWndAccessApp
40 SetWindowLong lngHwnd, GWL_EXSTYLE, GetWindowLong(lngHwnd, GWL_EXSTYLE) Or
WS_EX_LAYERED
41 SetLayeredWindowAttributes lngHwnd, 0, Nivel, LWA_ALPHA
42 End Function
43 '
44 'Ejemplo de uso:
45 'Private Sub Form_Load()
46 'Call AccessTransparente(175)
47 'End Sub

Permissões de usuário

admin Excluir; Ler permissões; Definir permissões; Alterar proprietário, Ler definição; Modificar
definição

Permissões de grupo

Admins Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição
Users Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: Módulo1 Página: 60

Propriedades

Container: Modules DateCreated: 25/08/2024 11:10:40


LastUpdated: 25/08/2024 11:10:40 Owner: admin
UserName: admin

Código

1 Attribute VB_Name = "Módulo1"


2 Option Compare Database
3
4 Public Function gLimpa_mascara(ByVal strChar As String) As String
5 gLimpa_mascara = Replace(strChar, ".", "")
6 gLimpa_mascara = Replace(gLimpa_mascara, "-", "")
7 gLimpa_mascara = Replace(gLimpa_mascara, "/", "")
8 gLimpa_mascara = Replace(gLimpa_mascara, "!", "")
9 gLimpa_mascara = Replace(gLimpa_mascara, "@", "")
10 gLimpa_mascara = Replace(gLimpa_mascara, "$", "")
11 gLimpa_mascara = Replace(gLimpa_mascara, "#", "")
12 gLimpa_mascara = Replace(gLimpa_mascara, "¨", "")
13 gLimpa_mascara = Replace(gLimpa_mascara, "&", "")
14 gLimpa_mascara = Replace(gLimpa_mascara, "*", "")
15 gLimpa_mascara = Replace(gLimpa_mascara, "(", "")
16 gLimpa_mascara = Replace(gLimpa_mascara, ")", "")
17 gLimpa_mascara = Replace(gLimpa_mascara, "_", "")
18 gLimpa_mascara = Replace(gLimpa_mascara, "+", "")
19 gLimpa_mascara = Replace(gLimpa_mascara, "=", "")
20 gLimpa_mascara = Replace(gLimpa_mascara, "§", "")
21 gLimpa_mascara = Replace(gLimpa_mascara, "^", "")
22 gLimpa_mascara = Replace(gLimpa_mascara, "´", "")
23 gLimpa_mascara = Replace(gLimpa_mascara, "{", "")
24 gLimpa_mascara = Replace(gLimpa_mascara, "[", "")
25 gLimpa_mascara = Replace(gLimpa_mascara, "ª", "")
26 gLimpa_mascara = Replace(gLimpa_mascara, "<", "")
27 gLimpa_mascara = Replace(gLimpa_mascara, ">", "")
28 gLimpa_mascara = Replace(gLimpa_mascara, ":", "")
29 gLimpa_mascara = Replace(gLimpa_mascara, ",", "")
30 gLimpa_mascara = Replace(gLimpa_mascara, "°", "")
31 gLimpa_mascara = Replace(gLimpa_mascara, ";", "")
32 gLimpa_mascara = Replace(gLimpa_mascara, "?", "")
33 gLimpa_mascara = Replace(gLimpa_mascara, "}", "")
34 gLimpa_mascara = Replace(gLimpa_mascara, "]", "")
35 gLimpa_mascara = Replace(gLimpa_mascara, "}", "")
36 gLimpa_mascara = Replace(gLimpa_mascara, "'", "")
F:\GLICERIO JUNIOR\25092024.accdb quinta-feira, 26 de setembro de 2024
Módulo: Módulo1 Página: 61

37 gLimpa_mascara = Replace(gLimpa_mascara, Chr(39), "")


38 gLimpa_mascara = Replace(gLimpa_mascara, "|", "")
39 gLimpa_mascara = Replace(gLimpa_mascara, "\", "")
40 End Function
41
42
43

Permissões de usuário

admin Excluir; Ler permissões; Definir permissões; Alterar proprietário, Ler definição; Modificar
definição

Permissões de grupo

Admins Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição
Users Excluir; Ler permissões; Definir permissões; Alterar proprietárioLer definição; Modificar
definição

Você também pode gostar