A3 - Web del Profesor

Anuncio
SARCAI v.2.0
ANEXO 3
ANEXO 3
Ejemplos de Informes
SARCAI v. 2.0
© EPB – ULA 1997
SARCAI v.2.0
ANEXO 4
ANEXO 4
Macros y Código fuente del Módulo
General del SARCAI v. 2.0
© EPB – ULA 1997
1
SARCAI v.2.0
ANEXO 4
MACROS:
Abrir Existencia Real en Almacén I
InicializarInforme("Existencia Real en Almacén I")
OpenForm Pedir Dos Fechas
Abrir Existencia Real en Almacén T
InicializarInforme("Existencia Real en Almacén T")
OpenForm Pedir Dos Fechas
Abrir Existencia Total Real en Almacén I
InicializarInforme("Existencia Total Real en Almacén I")
OpenForm Pedir Dos Fechas
Abrir Existencia Total Real en Almacén T
InicializarInforme("Existencia Total Real en Almacén T")
OpenForm Pedir Dos Fechas
Abrir Explosión de Materiales
InicializarInforme("Explosión de Materiales")
OpenForm Pedir Número del Plan
Abrir Lista de Precios Vigente en Fecha Buscada
InicializarInforme(" Lista de Precios Vigente en Fecha Buscada")
OpenForm Pedir Dos Fechas
Llamar a Procedimiento
llamar ()
© EPB – ULA 1997
2
SARCAI v.2.0
ANEXO 4
MÓDULO BIBLIOTECA
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
Attribute VB_Name = "Biblioteca"
Option Compare Database
Option Explicit
Public NomInforme As String
Public Function TransformaFecha(F As Date) As Date
TransformaFecha = CDate(Str(Day(F)) & "/" & Str(Month(F)) & "/"
& Str(Year(F)))
End Function
Public Sub PreparaGráficoDeProductosEstrella()
Dim dbs As Database, rst As Recordset, strSQL As String, _
NReg As Long, qdf As QueryDef
Set dbs = CurrentDb
Set qdf = dbs.CreateQueryDef("")
strSQL = "PARAMETERS [Forms]![Pedir Fechas para Ventas por
Productos]![FechaInicial] DateTime, [Forms]![Pedir Fechas para
Ventas por Productos]![FechaFinal] DateTime;" & _
"SELECT [Productos Pedidos y Despachados entre
Fechas].Nombre AS Producto, Sum([Productos Pedidos y Despachados
entre Fechas].[Total Ventas]) AS [Total Ventas] " & _
"FROM [Productos Pedidos y Despachados entre Fechas] "
& _
"GROUP BY [Productos Pedidos y Despachados entre
Fechas].Nombre " & _
"ORDER BY Sum([Productos Pedidos y Despachados entre
Fechas].[Total Ventas]) DESC;"
qdf.SQL = strSQL
qdf.Parameters("[Forms]![Pedir Fechas para Ventas por
Productos]![FechaInicial]") = [Forms]![Pedir Fechas para Ventas por
Productos]![FechaInicial]
qdf.Parameters("[Forms]![Pedir Fechas para Ventas por
Productos]![FechaFinal]") = [Forms]![Pedir Fechas para Ventas por
Productos]![FechaFinal]
Set rst = qdf.OpenRecordset(dbOpenSnapshot)
rst.MoveLast
NReg = rst.RecordCount
rst.Close
Set dbs = Nothing
DoCmd.SetWarnings False
'Inicialización de la tabla con los NProd primeros productos
strSQL = "DELETE [Gráfico de Productos Estrella T1].* " & _
"FROM [Gráfico de Productos Estrella T1];"
DoCmd.RunSQL strSQL
'Inicialización de la tabla con los NReg - NProd últimos
productos
strSQL = "DELETE [Gráfico de Productos Estrella T2].* " & _
© EPB – ULA 1997
3
SARCAI v.2.0
42
43
44
45
46
47
48
49
50
51
52
ANEXO 4
"FROM [Gráfico de Productos Estrella T2];"
DoCmd.RunSQL strSQL
'Inserción de los primeros NProd productos en T1
strSQL = "INSERT INTO [Gráfico de Productos Estrella T1] (
Producto, [Total Ventas] ) " & _
"SELECT TOP " & Str(Forms![Pedir Fechas para Ventas por
Productos]!NProd) & " [Gráfico de Productos Estrella].Producto,
[Gráfico de Productos Estrella].[Total Ventas] " & _
"FROM [Gráfico de Productos Estrella] " & _
"ORDER BY [Gráfico de Productos Estrella].[Total
Ventas]
DoCmd.RunSQL strSQL
If Forms![Pedir Fechas para Ventas por Productos]!NProd < NReg
Then
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
'Inserción de los últimos NReg - NProd productos en T2
strSQL = "INSERT INTO [Gráfico de Productos Estrella T2] (
Producto, [Total Ventas] ) " & _
"SELECT TOP " & Str(NReg - Forms![Pedir Fechas para
Ventas por Productos]!NProd) & " [Gráfico de Productos
Estrella].Producto, [Gráfico de Productos Estrella].[Total Ventas] "
& _
"FROM [Gráfico de Productos Estrella] " & _
"ORDER BY [Gráfico de Productos Estrella].[Total
Ventas]
DoCmd.RunSQL strSQL
End If
DoCmd.SetWarnings True
End Sub
Public Function NDías(F1 As Date, F2 As Date) As Integer
NDías = F2 - F1 + 1
End Function
Public Function NSemanas(F1 As Date, F2 As Date) As Integer
NSemanas = NDías(F1, F2) / 7
End Function
Public Function NQuincenas(F1 As Date, F2 As Date) As Integer
NQuincenas = NDías(F1, F2) / 15
End Function
Public Function NMeses(F1 As Date, F2 As Date) As Integer
NMeses = NDías(F1, F2) / 30
End Function
Public Function NBimestres(F1 As Date, F2 As Date) As Integer
NBimestres = NDías(F1, F2) / 60
End Function
Public Function NTrimestres(F1 As Date, F2 As Date) As Integer
NTrimestres = NDías(F1, F2) / 90
End Function
© EPB – ULA 1997
4
SARCAI v.2.0
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
ANEXO 4
Public Function NSemestres(F1 As Date, F2 As Date) As Integer
NSemestres = NDías(F1, F2) / 180
End Function
Public Function NAños(F1 As Date, F2 As Date) As Integer
NAños = NDías(F1, F2) / 365
End Function
Public Function Nbiaños(F1 As Date, F2 As Date) As Integer
Nbiaños = NDías(F1, F2) / 730
End Function
Public Function InicializarInforme(Nom As String)
NomInforme = Nom
End Function
Public Sub Exportar_Tabla(NomTab As String)
DoCmd.TransferSpreadsheet acExport, 5, _
NomTab, "c:\datos\excel\" & NomTab, True
End Sub
Sub Compacta()
DBEngine.CompactDatabase "C:\Datos\PROULA Tesis\SARCAI versión
1.0.mdb", "C:\Datos\PROULA Tesis\Prueba.mdb"
End Sub
Public Sub Cerrar()
DoCmd.DoMenuItem acFormBar, acFile, 3, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acFile, 4, , acMenuVer70
End Sub
Sub CompactaInventario()
DBEngine.CompactDatabase "C:\Datos\Access\Inventario.mdb",
"C:\Datos\PROULA Tesis\Prueba.mdb"
End Sub
Sub VerTablas()
Dim dbs As Database, tabla As TableDef, i As Integer
© EPB – ULA 1997
Set dbs = CurrentDb
With dbs
'Debug.Print .TableDefs.Count & _
'
"TableDefs en " & .Name
i = 0
For Each tabla In .TableDefs
If Left(tabla.Name, 4) <> "MSys" Then
i = i + 1
Debug.Print "No.: " & Str(i) & "
End If
Next tabla
End With
" & tabla.Name
5
SARCAI v.2.0
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
ANEXO 4
End Sub
Sub InicializarBD()
Dim SQLstr As String, dbs As Database
Dim tabla As TableDef
Set dbs = CurrentDb
DoCmd.SetWarnings False
With dbs
For Each tabla In .TableDefs
If (Left(tabla.Name, 4) <> "MSys") And (tabla.Name <>
"Elementos del Panel de control") Then
SQLstr = "DELETE DISTINCTROW * FROM [" & tabla.Name
DoCmd.RunSQL SQLstr
End If
Next tabla
End With
DoCmd.SetWarnings True
End Sub
Function llamar()
'InicializarBD
'EstablecerParámetro
'VerTablas
End Function
Public Sub Llena_PruebaOLE(Nobs As Long)
Dim Cont As Long
DoCmd.OpenForm "PruebaOLE"
For Cont = 1 To Nobs
DoCmd.GoToRecord acForm, "PruebaOLE", acGoTo, Cont
Forms!PruebaOLE.[Fecha] = Now() + Cont
Forms!PruebaOLE.[Demanda] = Int(50001 * Rnd)
Next Cont
End Sub
Public Sub PoneClaves(Hasta As Long)
Dim Cont As Long
For Cont = 1 To Hasta
DoCmd.GoToRecord acForm, "Insumos Tempo", acGoTo, Cont
Forms![Insumos Tempo]![CODIGO] = Str(Cont)
Next Cont
End Sub
Public Function PonPuntoyCadena(num As Double) As String
Dim PosComa As Integer, LonCad As Integer, CantiCad As String
CantiCad = Str(num)
LonCad = Len(CantiCad)
PosComa = InStr(1, CantiCad, ",")
MsgBox PosComa
PonPuntoyCadena = Left(CantiCad, PosComa - 1) & "." &
Right(CantiCad, LonCad - PosComa)
End Function
Function EstáCargado(cadNombreFormulario As String) As Boolean
© EPB – ULA 1997
6
SARCAI v.2.0
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
ANEXO 4
'
Determina si un formulario está cargado.
Const conDiseñoFormulario = 0
Dim entX As Integer
EstáCargado = False
For entX = 0 To Forms.Count - 1
If Forms(entX).FormName = cadNombreFormulario Then
If Forms(entX).CurrentView <> conDiseñoFormulario Then
EstáCargado = True
Exit Function ' Salir de la función al encontrar el
End If
End If
Next
End Function
Sub EstablecerParámetro(prm As Variant)
Dim dbs As Database, qdf As QueryDef, rst As Recordset
'
Set dbs = CurrentDb
Set qdf = dbs.QueryDefs![Existencia Total Real an Almacén I]
qdf.Parameters![Fecha Buscada] = prm
Set rst = qdf.OpenRecordset
SalidaAbrirRecordset rst
End Sub
Sub SalidaAbrirRecordset(rstOutput As Recordset)
Dim i As Integer
With rstOutput
For i = 0 To rstOutput.Fields.Count - 1
Debug.Print .Fields(i).Name,
Next i
Debug.Print
Do While Not .EOF
For i = 0 To rstOutput.Fields.Count - 1
Debug.Print .Fields(i),
Next i
Debug.Print
.MoveNext
Loop
End With
End Sub
© EPB – ULA 1997
7
SARCAI v.2.0
ANEXO 4
Estadísticas Generales
Base de datos: C:\Datos\PROULA 97\SARCAI2.mdb
AccessVersion:
AllowBuiltInToolbars:
AllowShortcutMenus:
AllowToolbarChanges:
Build:
Mostrar límite de
Mostrar valores en No
Orden de combinación:
Show Values in
Show Values in
StartUpForm:
StartUpShowStatusBar:
Transactions:
07.53
Verdadero
Verdadero
Verdadero
3512
1000
1
General
1
0
Panel de control
Verdadero
Verdadero
AllowBreakIntoCode:
AllowFullMenus:
AllowSpecialKeys:
AppTitle:
Def. actualizable:
Mostrar valores en
Mostrar valores en
Registros afectados:
Show Values in
Show Values Limit:
StartUpShowDBWindo
Tiempo de espera de la
Versión :
Verdadero
Verdadero
Verdadero
SARCAI versión 2.0
Verdadero
1
0
0
1
1000
Falso
60
3.0
Permisos de usuario: admin
Permisos de grupo: Admins, Users
© EPB – ULA 1997
8
Descargar