Archivo

Archivo para Abril 2007

Seleccionar una impresora

‘***************************Debut du code***************************

Public Declare Function SHGetPathFromIDList Lib “shell32.dll” _
    Alias “SHGetPathFromIDListA” (ByVal pidl As Long, _
    ByVal pszPath As String) As Long

Public Declare Function SHBrowseForFolder Lib “shell32.dll” _
    Alias “SHBrowseForFolderA” (lpBrowseInfo As BROWSEINFO) As Long

Public Type BROWSEINFO
    hOwner As Long
    pidlRoot As Long
    pszDisplayName As String
    lpszTitle As String
    ulFlags As Long
    lpfn As Long
    lParam As Long
    iImage As Long
End Type

Function GetDirectory(Optional Msg) As String

Dim bInfo As BROWSEINFO
Dim path As String
Dim R As Long, X As Long, Pos As Integer


bInfo.pidlRoot = 0

If IsMissing(Msg) Then
     bInfo.lpszTitle = “Select a folder.”
Else
     bInfo.lpszTitle = Msg
End If

bInfo.ulFlags = &H1

X = SHBrowseForFolder(bInfo)

path = Space$(512)
R = SHGetPathFromIDList(ByVal X, ByVal path)

If R Then
    Pos = InStr(path, Chr$(0))
     GetDirectory = Left(path, Pos – 1)
Else
     GetDirectory = “”
End If

End Function

‘***************************Fin du code***************************

Categorías:Microsoft Access

Cierra todos los formularios abiertos

Function CloseAllForm()

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

End Function

Categorías:Microsoft Access

Saber si un formulario está abierto (II)

El siguiente código permite saber si un determinado formulario está abierto en la base de datos activa.
El argumento chNomForm corresponde al nombre del formulario que se quiere verificar. 

Public Function EstChargé(ByVal chNomForm As String) As Boolean
Const conModeCréation = 0
Const conEtatObjFermé = 0
EstChargé = False
If SysCmd(acSysCmdGetObjectState, acForm, chNomForm) <> conEtatObjFermé Then
    If Forms(chNomForm).CurrentView <> conModeCréation Then EstChargé = True
End If

End Function

Si el formulario está abierto la función devuelve verdadero.

Comprueba la existencia de un control en un formulario

Los siguientes códigos permiten averiguar la existencia de un control dentro de un formulario.

El argumento strControl corresponde al nombre del control del cual se quiere averiguar la existencia en el formulario desde el que se llama a la función.

Function ControlExistForm(strControl As String) As Boolean

On Error GoTo ErrControlExist
Dim frm As Form
Dim ctl As Control
Set frm = Screen.ActiveForm
For Each ctl In frm.Controls
    If ctl.Name = strControl Then
        ControlExistForm = True
        Exit For
    End If
Next
Exit Function
ErrControlExist:
    MsgBox Err.Number & vbCrLf & vbCrLf & Err.Description, vbCritical

End Function

Para averiguar la existencia del control dentro de un determinado formulario strForm. 

Function ControlExist(strForm As String, strControl As String) As Boolean

On Error GoTo ErrControlExist
Dim frm As Form
Dim ctl As Control
DoCmd.Echo False
DoCmd.OpenForm strForm, acDesign
Set frm = Forms(strForm)
For Each ctl In frm.Controls
    If ctl.Name = strControl Then
        ControlExist = True
        Exit For
    End If
Next
DoCmd.Close acForm, strForm, acSaveNo
DoCmd.Echo True
Exit Function
ErrControlExist:
    DoCmd.Close acForm, strForm, acSaveNo
    DoCmd.Echo True
    MsgBox Err.Number & vbCrLf & vbCrLf & Err.Description, vbCritical

End Function

Los dos códigos devuelven Verdadero si el control existe.

Categorías:Microsoft Access

Comprueba la existencia de un formulario

El siguiente código permite saber si un formulario existen en la base de datos.

El argumento strForm corresponde al nombre del formulario del cual se quiere conocer la existencia en la base de datos.

Function FormExist(strForm As String) As Boolean
Dim db As Database
Dim cnt As Container
Dim doc As Document
Set db = CurrentDb()
Set cnt = db.Containers("Forms")
For Each doc In cnt.Documents
If doc.Name = strForm Then FormExist = True
Next doc
Set cnt = Nothing
db.Close: Set db = Nothing
End Function

Si el formulario existe la función devuelve Verdadero.

Categorías:Microsoft Access

Categorías:Diseño de páginas

Programar en PDAs

Categorías:Microsoft Access

Categorías:General

Diseños open source

Categorías:Diseño de páginas