Copia de seguridad de la base de datos que se está ejecutando
Private Sub Comando2_Click()
If CopiaSegurMdbActual(“C:\Carpeta1\Carpeta2″, True) Then
MsgBox “Copia Realizada”
Else
MsgBox “NO se pudo realizar la copia”
End If
End Sub
Private Sub Comando2_Click()
If CopiaSegurMdbActual(“C:\Carpeta1\Carpeta2″, True) Then
MsgBox “Copia Realizada”
Else
MsgBox “NO se pudo realizar la copia”
End If
End Sub
‘*******************************************************************************
‘* UsuariosConectados
‘* devuelve en una matriz los usuarios conectados a la base de datos indicada
‘* hay que tener presente que siempre devolverá al usuario que llama a esta
‘* función, además de si los hubiera el resto de usuarios conectados
‘* Argumentos: strRutaBD => ruta de la base de datos
‘* strPassword => (opcional) password para base de datos protegida
‘* uso: UsuariosConectados
‘* ESH 01/08/07 21:33
‘*******************************************************************************
Public Function UsuariosConectados(strRutaBD As String, Optional strPassword As String) As Variant
Dim strConexion As String, _
Conexion As New ADODB.Connection, _
rst As New ADODB.Recordset, _
Matriz() As Variant, _
i As Long
On Error GoTo UsuariosConectados_TratamientoErrores
‘ establezco los parámetros de la conexión
strConexion = “Microsoft.Jet.OLEDB.4.0;”
strConexion = strConexion & “Data Source=” & strRutaBD & “;”
If Not Len(Trim(strPassword)) = 0 Then
strConexion = strConexion & “Jet OLEDB:Database Password=” & strPassword & “;”
End If
‘ abro la base de datos
Conexion.Provider = strConexion
Conexion.Open
‘ abro un recordset que me devolverá los usuarios conectados
Set rst = Conexion.OpenSchema(adSchemaProviderSpecific, , “{947bb102-5d43-11d1-bdbf-00c04fb92675}”)
‘ los cuatro campos devueltos por el recordset son
‘ COMPUTER_NAME ordenador desde el que se ha abierto la base de datos
‘ LOGIN_NAME usuario con que está conectado si utiliza seguridad de Access y
‘ sino es así Admin
‘ CONNECTED el usuario esta conectado (S/N)
‘ SUSPECT_STATE este ultimo indica si la conexión finalizó en circunstancias normales ¿?
If Not (rst.EOF And rst.BOF) Then
ReDim Preserve Matriz(3, i)
Matriz(0, i) = “Equipo”
Matriz(1, i) = “Usuario”
Matriz(2, i) = “¿Conectado?”
Matriz(3, i) = “Fin conexión”
Do
ReDim Preserve Matriz(3, i)
Matriz(0, i) = rst.Fields(0)
Matriz(1, i) = rst.Fields(1)
Matriz(2, i) = rst.Fields(2)
Matriz(3, i) = rst.Fields(3)
rst.MoveNext
i = i + 1
Loop Until rst.EOF
End If
UsuariosConectados = Matriz
UsuariosConectados_Salir:
‘ cierro los objetos
On Error Resume Next
If Not rst Is Nothing Then
rst.Close
Set rst = Nothing
End If
If Not Conexion Is Nothing Then
Conexion.Close
Set Conexion = Nothing
End If
On Error GoTo 0
Exit Function
UsuariosConectados_TratamientoErrores:
MsgBox “Error “ & Err & ” en proc.: UsuariosConectados de Módulo: mdlUsuariosConectados (“ & Err.Description & “)”, vbCritical + vbOKOnly, “ATENCION”
Resume UsuariosConectados_Salir
End Function ‘ UsuariosConectados
en un formulario donde quieras pon….
Private Sub Loquesea()
On Error GoTo ControlErrores
Me.TimerInterval = 800
MsgBox “error conceptual contable”, vbCritical, “BalancesLeré”
Me.TimerInterval = 0
End If
Exit Sub
ControlErrores:
Resume Next
End Sub
Private Sub Form_Timer()
SendKeys “{Enter}”
End Sub
Option Compare Database
Option ExplicitPublic Declare Function LoadImage Lib “user32″ Alias _
”LoadImageA” (ByVal hInst As Long, ByVal lpsz As String, _
ByVal un1 As Long, ByVal n1 As Long, ByVal n2 As Long, _
ByVal un2 As Long) As LongPublic Declare Function SendMessage Lib “user32″ Alias _
”SendMessageA” (ByVal hwnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, lParam As Any) As LongPublic Const WM_GETICON = &H7F
Public Const WM_SETICON = &H80
Public Const ICON_SMALL = 0
Public Const ICON_BIG = 1 ‘// LoadImage() image types
Public Const IMAGE_BITMAP = 0
Public Const IMAGE_ICON = 1
Public Const IMAGE_CURSOR = 2
Public Const IMAGE_ENHMETAFILE = 3 ‘// LoadImage() flags
Public Const LR_DEFAULTCOLOR = &H0
Public Const LR_MONOCHROME = &H1
Public Const LR_COLOR = &H2
Public Const LR_COPYRETURNORG = &H4
Public Const LR_COPYDELETEORG = &H8
Public Const LR_LOADFROMFILE = &H10
Public Const LR_LOADTRANSPARENT = &H20
Public Const LR_DEFAULTSIZE = &H40
Public Const LR_LOADMAP3DCOLORS = &H1000
Public Const LR_CREATEDIBHeader = &H2000
Public Const LR_COPYFROMRESOURCE = &H4000
Public Const LR_SHARED = &H8000Public Function SetFormIcon(MyIcon As String, Optional frm As String) As Boolean
‘Place un icon dans le menu de l’application ou dans un formulaireDim hIcon As Long
Dim hwnd As Long
Dim IconPath As StringIconPath = CurrentDBDir() & MyIcon
If Len(Dir(IconPath)) = 0 Then
SetFormIcon = False
Exit Function
Else
If frm = “” Then
hwnd = Application.hWndAccessApp
Else
hwnd = Forms(frm).hwnd
End If
hIcon = LoadImage(0&, IconPath, IMAGE_ICON, 16, 16, LR_LOADFROMFILE)
’// wParam = 0; Setting small icon. wParam = 1; setting large icon
If hIcon <> 0 Then
Call SendMessage(hwnd, WM_SETICON, 0, ByVal hIcon)
SetFormIcon = True
End If
End IfEnd Function
Function CloseAllForm()
Dim intForm As Integer
For intForm = 0 To Forms.Count – 1
DoCmd.Close acForm, Forms(0).Name, acSaveYes
Next
End Function
¿Y que pasa con las fracciones de día: el mediodía, la media tarde, la medianoche, el amaiketako, las cinco de la tarde, las tres y media después de almorzar, las doce y cuarto, media hora después de empezar el partido, un cuarto hora de antes de la hora de salida, tres minutos más tarde, … ?
Resumen de lo publicado (explícita o implicitamente):
En Access, un día concreto es un nº entero, que se puede tratar como eso:
un nº al que se pueden sumar o restar días para trasladarnos en el tiempo ó
hacer semisumas para averiguar el momento equidistante entre dos fechas, ó … Leer más…
Function verificaCCC(Entidad As String, Sucursal As String, _
DigCon As String, Cuenta As String) As Boolean
If Int(DigCon / 10) = (11 – (Int(Sucursal Mod 10) * 6 + Int(Int( _
Sucursal / 10) Mod 10) * 3 + Int(Int( _
Sucursal / 100) Mod 10) * 7 + Int(Int( _
Sucursal / 1000) Mod 10) * 9 + Int(Entidad Mod 10) * 10 + Int(Int( _
Entidad / 10) Mod 10) * 5 + Int(Int(Entidad / 100) Mod 10) * 8 + Int( _
Int(Entidad / 1000) Mod 10) * 4) Mod 11) And DigCon Mod 10 = (11 – ( _
Right(Cuenta, _
1) * 6 + Int(Int(Cuenta / 10) Mod 10) * 3 + Int(Int( _
Cuenta / 100) Mod 10) * 7 + Int(Int(Cuenta / 1000) Mod 10) * 9 + Int( _
Int(Cuenta / 10000) Mod 10) * 10 + Int(Int( _
Cuenta / 100000) Mod 10) * 5 + Int(Int( _
Cuenta / 1000000) Mod 10) * 8 + Int(Int( _
Cuenta / 10000000) Mod 10) * 4 + Int(Int( _
Cuenta / 100000000) Mod 10) * 2 + Int(Int( _
Cuenta / 1000000000) Mod 10) * 1) Mod 11) Then
‘correcto
verificaCCC = True
End If
End Function