Archivo

Archivo para Noviembre 2007

Copia de seguridad de la base de datos que se está ejecutando

22.11.2007 lumbanico 1 Comentario

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

Leer más…

Categorías:Microsoft Access

Conocer los usuarios conectados a la base de datos

‘*******************************************************************************
‘* 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

Categorías:Microsoft Access

Cierre automático de un msgbox

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

Categorías:Microsoft Access

Cambiar el icono de la aplicación

Option Compare Database
Option Explicit

Public 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 Long

Public Declare Function SendMessage Lib “user32″ Alias _
    ”SendMessageA” (ByVal hwnd As Long, ByVal wMsg As Long, _
    ByVal wParam As Long, lParam As Any) As Long

Public 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 = &H8000

Public Function SetFormIcon(MyIcon As String, Optional frm As String) As Boolean
‘Place un icon dans le menu de l’application ou dans un formulaire

Dim hIcon As Long
Dim hwnd As Long
Dim IconPath As String

IconPath = 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 If

End Function

Categorías:Microsoft Access

Cierra todos los formularios abiertos

11.11.2007 lumbanico 1 Comentario

Function CloseAllForm()

Dim intForm As Integer
For intForm = 0 To Forms.Count – 1
DoCmd.Close acForm, Forms(0).Name, acSaveYes
Next

End Function

Horas en Access

¿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…

Categorías:Microsoft Access

Verificando el CCC

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


Categorías:Microsoft Access