Archivo

Archivo para Junio 2009

Interactuación con el ratón

El siguiente ejemplo muestra como interactuar el objetos existentes en un formulario con el movimiento del ratón. Además permite utilizar o no una determinada función para realizar una operación según convenga.

1809888-EfficientMouseMoveEvents_A97

Descargar: Access 97
Fuente: Utter Access

Localizar un archivo

El siguiente código muestra cómo obtener la/s ubicacion/es de un archivo en una ruta determinada, utilizando el objeto de FileSearch incluido en el objeto Application.

<br />
Function LocateFile(strFileName as String)<br />
   Dim vItem As Variant<br />
   With Application.FileSearch<br />
      .FileName = strFileName<br />
      .LookIn = "C:\"<br />
      .SearchSubFolders = True<br />
      .Execute<br />
      For Each vItem In .FoundFiles<br />
         Debug.Print vItem<br />
      Next vItem<br />
   End With<br />
End Function<br />
Fuente: Microsoft

Categorías:Enlaces Etiquetas:, , ,

Combos en un formulario continuo

El siguiente ejemplo muestra como solucionar el problema que se da al introducir un combo box en un formulario continuo. El valor de dicho control únicamente se muestra cuando se está sobre un determinado registro, mostrásndose en blanco en el resto. Para resolver el problema se utiliza un textbox auxiliar, que se utiliza de forma complementaria para mostrar el valor.

FixCascadingCombos

Descargar: Access 2000
Fuente: KDSnell

Seleccionar valor en un combo-box

El siguiente ejemplo muestra cómo seleccionar un valor entre varios que comiencen de igual forma. Al iniciar el formulario se muestra un cuadro de texto, el cual al introducir tres caracteres se ‘convierte’ en un combo-box en el que se muestran todos los registros que cumplen con la condición de empezar por la cadena indicada. Para así poder seleccionar el deseado.

Textbox_Combobox_combined_2002

Descargar: Access 2000

Fuente: KDSness

Leer el archivo *.ldb

La siguiente función lee el archivo .ldb asociado a una base de datos de Access, y devulelve un listado con los usuarios que están conectados a la base de datos. El archivo .ldb se utiliza para determinar qué registros se bloquean en una base de datos compartida y quién los bloquea.

Public Function WhoIsInTheDatabaseLockFile() As String
Dim cn As New ADODB.Connection
Dim dbs As DAO.Database
Dim xlngLoop As Long
Dim rs As New ADODB.Recordset
Dim strNewDataSource As String, strCNString As String, xTT As String
Dim strCurrConnectString As String, xstrUserArray As String

Const strDummyTableName As String = "tbl__DummyTable_KeepRecordsetOpen"
Const strDatabaseString As String = "DATABASE="
Const strDataSourceText As String = "Data Source="

On Error GoTo Err_Msg

xstrUserArray = ""
strCurrConnectString = CurrentProject.Connection
strCNString = Mid(strCurrConnectString, InStr(strCurrConnectString, _
      strDataSourceText) + Len(strDataSourceText))
strCNString = Left(strCNString, InStr(strCNString, ";") - 1)

Set dbs = CurrentDb
strNewDataSource = dbs.TableDefs(strDummyTableName).Connect
strNewDataSource = Mid(strNewDataSource, InStr(strNewDataSource, _
      strDatabaseString) + Len(strDatabaseString))
Debug.Print "File containing the data tables: " & strNewDataSource

cn.ConnectionString = Replace(strCurrConnectString, strCNString, _
strNewDataSource, 1, 1, vbTextCompare)
cn.Open

Set rs = cn.OpenSchema(adSchemaProviderSpecific, _
, "{947bb102-5d43-11d1-bdbf-00c04fb92675}")

Debug.Print rs.Fields(0).Name, "", rs.Fields(1).Name, _
      "", rs.Fields(2).Name, rs.Fields(3).Name

While Not rs.EOF
      Debug.Print rs.Fields(0), rs.Fields(1), rs.Fields(2), rs.Fields(3)

      For xlngLoop = 0 To 3
            xTT = Trim(Nz(rs.Fields(xlngLoop), ""))
            If Len(xTT) > 1 Then
                  If Right(xTT, 1) = Chr(0) Then xTT = Left(xTT, Len(xTT) - 1)
            End If
            xstrUserArray = xstrUserArray & xTT & strPipeDelimiterChar
      Next xlngLoop

      rs.MoveNext
Wend

If Len(xstrUserArray) > 0 Then xstrUserArray = Left(xstrUserArray, _
      Len(xstrUserArray) - 1)
WhoIsInTheDatabaseLockFile = xstrUserArray

Exit_Function:
      On Error Resume Next
      rs.Close
      Set rs = Nothing
      cn.Close
      Set cn = Nothing
      dbs.Close
      Set dbs = Nothing
      Exit Function

Err_Msg:
      Debug.Print "Error occurred. Error number " & Err.Number & ": " & Err.Description
      Resume Exit_Function

End Function

Fuente: KDSnell

Categorías:Microsoft Access Etiquetas:, , , ,