Anda di halaman 1dari 48

Mtodo DDERequest

Puede usar la funcin DDEPedido (DDERequest) a travs de un canal de intercambio


dinmico de datos (DDE) para solicitar un elemento de informacin de una aplicacin
servidor de DDE. String.
expresin.DDERequest(ChanNum, Item)
expresin Requerida. Expresin que devuelve uno de los objetos de la lista Aplicar a.
ChanNum Variant requerida. Un nmero de canal, un valor entero devuelto por la
funcin DDEIniciar (DDEInitiate).
Item String requerida. Una expresin de cadena que es el nombre de un elemento de datos
reconocido por la aplicacin especificada por la funcin DDEIniciar (DDEInitiate).
Consulte la documentacin de la aplicacin para obtener una lista de posibles elementos.

Comentarios
Por ejemplo, si tiene un canal DDE abierto entre Microsoft Access y Microsoft Excel,
puede usar la funcin DDEPedido (DDERequest) para transferir texto de una hoja de
clculo de Microsoft Excel a una base de datos de Microsoft Access. En este ejemplo,
Microsoft Access acta como la aplicacin cliente y Microsoft Excel acta como la
aplicacin servidor.
El argumento nmCanal especifica el nmero de canal de la conversacin DDE deseada y
el argumento elemento identifica qu datos deben recuperarse de la aplicacin servidor. El
valor de elemento depende de la aplicacin y tema especificados cuando se abre el canal
nmCanal. Por ejemplo, el elemento el elemento puede ser un intervalo de celdas de una
hoja de clculo de Microsoft Excel.
La funcin DDEPedido (DDERequest) devuelve un dato de tipo Variant que contiene la
informacin solicitada en forma de una cadena, si la solicitud tuvo xito.
Los datos se solicitan en el formato de texto alfanumrico. Las imgenes o el texto en
cualquier otro formato no se pueden transferir.
Si nmCanal no es un dato de tipo entero correspondiente a un canal abierto, o si los datos
solicitados no pueden transferirse, se produce un error en tiempo de ejecucin.
Sugerencia Si necesita manipular objetos de otra aplicacin desde Microsoft Access,
considere la posibilidad de usar Automatizacin.

Mtodo DDETerminate
Pgina

290

Puede usar la instruccin DDETerminate para cerrar un canal de intercambio dinmico de


datos (DDE).
expresin.DDETerminate(ChanNum)
expresin Requerida. Expresin que devuelve uno de los objetos de la lista Aplicar a.
ChanNum Variant requerida. Nmero de canal para cerrar hace referencia a un canal
abierto por la funcin DDEIniciar.

Comentarios
Por ejemplo, si ha abierto un canal DDE para transferir datos entre Microsoft Excel y
Microsoft Access, puede usar la instruccin DDETerminate para cerrar ese canal una vez
finalizada la transferencia.
Si nmCanal no es un entero correspondiente a un canal abierto, entonces se produce un
error en tiempo de ejecucin.
Una vez que se ha cerrado un canal, cualquier funcin o instruccin DDE efectuada en ese
canal causar un error en tiempo de ejecucin.
La instruccin DDETerminate no tiene ningn efecto sobre expresiones de vnculos DDE
activos en campos de formularios o informes.
Sugerencia Si necesita manipular objetos de otra aplicacin desde Microsoft Access,
considere la posibilidad de usar Automatizacin

Mtodo DDETerminateAll
Puede usar la instruccin DDETerminateAll para cerrar todos los canales de intercambio
dinmico de datos (DDE).
expresin.DDETerminateAll
expresin Requerida. Expresin que devuelve uno de los objetos de la lista Aplicar a.

Comentarios
Por ejemplo, supongamos que ha abierto dos canales DDE entre Microsoft Excel y
Microsoft Access, uno para recuperar informacin del sistema acerca de Microsoft Excel y
otro para transferir datos. Puede usar la instruccin DDETerminateAll para cerrar ambos
canales simultneamente.

Pgina

291

El uso de la instruccin DDETerminateAll equivale a ejecutar una instruccin


DDETerminate por cada nmero de canal abierto. Al igual que la instruccin
DDETerminate, la instruccin DDETerminateAll no afecta a ninguna expresin de
vnculo DDE activo en los campos de formularios o informes.
Si no hay ningn canal abierto, la instruccin DDETerminateAll se ejecuta sin causar
ningn error en tiempo de ejecucin.
Sugerencias

Si interrumpe un procedimiento que ejecuta DDE, es posible que deje canales


abiertos inadvertidamente. Para evitar agotar los recursos del sistema, use la
instruccin DDETerminateAll en su cdigo o desde el panel Inmediato (inferior)
de la ventana Depuracin al depurar cdigo que ejecuta DDE.

Si necesita controlar objetos de otra aplicacin desde Microsoft Access, considere la


posibilidad de usar Automatizacin.

Mtodo DefaultWorkspaceClone
Se puede utilizar el mtodo DefaultWorkspaceClone para crear un nuevo objeto
Workspace sin que haga falta que el usuario inicie de nuevo una sesin. Por ejemplo, si
necesita llevar a cabo dos conjuntos de transacciones de forma simultnea en espacios de
trabajo separados, se puede utilizar el mtodo DefaultWorkspaceClone para crear un
segundo objeto Workspace con el mismo nombre de usuario y contrasea sin tener que
pedir esta informacin de nuevo al usuario.
expresin.DefaultWorkspaceClone
expresin Requerida. Expresin que devuelve uno de los objetos de la lista Aplicar a.

Comentarios
Nota El mtodo DefaultWorkspaceClone se incluye en esta versin de Microsoft Access
slo por compatibilidad con las versiones anteriores que utilicen el lenguaje DAO (Objeto
de acceso a datos).
El mtodo DefaultWorkspaceClone crea una copia del objeto Workspace predeterminado
en Microsoft Access. Las propiedades de la copia del objeto Workspace tienen valores
idnticos a los del objeto Workspace predeterminado, excepto por el valor de la propiedad
Nombre (Name). Para el objeto Workspace predeterminado, el valor de la propiedad
Nombre (Name) es siempre #Workspace predeterminado#. Para el caso del objeto
Workspace copiado, es #AccesoCopia#.

Pgina

292

La propiedad UserName del objeto Workspace predeterminado indica el nombre bajo el


cul inici la sesin el usuario activo. El objeto Workspace copiado es equivalente al
objeto Workspace que sera creado si el mismo usuario iniciara de nuevo una sesin con la
misma contrasea.

Mtodo Delete
Elimina un objeto FormatCondition o todas las condiciones de formato de la coleccin
FormatConditions de un control de cuadro combinado o de cuadro de texto.
expresin.Delete
expresin Requerida. Expresin que devuelve uno de los objetos de la lista Aplicar a.

Comentarios
Puede utilizar el mtodo Add para agregar una condicin de formato a la coleccin
FormatConditions de un cuadro combinado o cuadro de texto.

Mtodo DeleteControl
El mtodo DeleteControl elimina de un formulario el control especificado.
expresin.DeleteControl(FormName, ControlName)
expresin Requerida. Expresin que devuelve uno de los objetos de la lista Aplicar a.
FormName String requerida. Expresin de cadena que identifica el nombre del formulario
o informe que contiene el control a eliminar.
ControlName String requerida. Expresin de cadena que identifica el nombre del control a
eliminar.

Comentarios
Por ejemplo, suponga que tiene un procedimiento que deba ejecutarse la primera vez que
cada usuario inicie una sesin en una base de datos. Puede establecer el procedimiento en la
propiedad AlHacerClic (OnClick) de un botn del formulario. Cuando el usuario haya
iniciado la sesin y ejecutado el procedimiento, puede usar el mtodo DeleteControl para
eliminar de forma dinmica el botn de comando del formulario.
El mtodo DeleteControl slo est disponible en la vista Diseo del formulario o en la
vista Diseo del informe.

Pgina

293

Nota Si est creando un asistente que elimina un control de un formulario o informe, el


asistente deber abrir el formulario o informe en la vista Diseo para poder eliminar el
control.

Ejemplo
En el ejemplo siguiente se crea un formulario con un botn de comando, y se muestra un
mensaje que pregunta al usuario si desea eliminarlo. Si el usuario hace clic en S, se elimina
el botn de comando.
Sub DeleteCommandButton()
Dim frm As Form, ctlNew As Control
Dim strMsg As String, intResponse As Integer, _
intDialog As Integer
' Create new form and get pointer to it.
Set frm = CreateForm
' Create new command button.
Set ctlNew = CreateControl(frm.Name, acCommandButton)
' Restore form.
DoCmd.Restore
' Set caption.
ctlNew.Caption = "New Command Button"
' Size control.
ctlNew.SizeToFit
' Prompt user to delete control.
strMsg = "About to delete " & ctlNew.Name &". Continue?"
' Define buttons to be displayed in dialog box.
intDialog = vbYesNo + vbCritical + vbDefaultButton2
intResponse = MsgBox(strMsg, intDialog)
If intResponse = vbYes Then
' Delete control.
DeleteControl frm.Name, ctlNew.Name
End If
End Sub

Mtodo DeleteLines
El mtodo DeleteLines elimina lneas de un mdulo estndar o un mdulo de clase.
expresin.DeleteLines(StartLine, Count)
expresin Requerida. Expresin que devuelve uno de los objetos de la lista Aplicar a.

Pgina

294

StartLine Long requerido. Un valor Long que especifica el nmero de la lnea en la cual
debe comenzar la eliminacin.
Count Long requerido. Un valor Long que especifica el nmero de lneas que se van a
eliminar.

Comentarios
Las lneas de un mdulo se numeran a partir de uno. Para determinar el nmero de lneas de
un mdulo, utilice la propiedad CountOfLines.
Para reemplazar una lnea por otra lnea, utilice el mtodo ReplaceLine.

Ejemplo
El ejemplo siguiente elimina una lnea especificada de un mdulo.
Function DeleteWholeLine(strModuleName, strText As String) _
As Boolean
Dim mdl As Module, lngNumLines As Long
Dim lngSLine As Long, lngSCol As Long
Dim lngELine As Long, lngECol As Long
Dim strTemp As String
On Error GoTo Error_DeleteWholeLine
DoCmd.OpenModule strModuleName
Set mdl = Modules(strModuleName)
If mdl.Find(strText, lngSLine, lngSCol, lngELine, lngECol) Then
lngNumLines = Abs(lngELine - lngSLine) + 1
strTemp = LTrim$(mdl.Lines(lngSLine, lngNumLines))
strTemp = RTrim$(strTemp)
If strTemp = strText Then
mdl.DeleteLines lngSLine, lngNumLines
Else
MsgBox "Line contains text in addition to '" _
& strText & "'."
End If
Else
MsgBox "Text '" & strText & "' not found."
End If
DeleteWholeLine = True
Exit_DeleteWholeLine:
Exit Function

Pgina

295

Error_DeleteWholeLine:
MsgBox Err & " :" & Err.Description
DeleteWholeLine = False
Resume Exit_DeleteWholeLine
End Function
Puede llamar a esta funcin desde un procedimiento como el siguiente, que busca en el
mdulo Mdulo1 una declaracin de constante y la elimina.
Sub DeletePiConst()
If DeleteWholeLine("Module1", "Const conPi = 3.14") Then
Debug.Print "Constant declaration deleted successfully."
Else
Debug.Print "Constant declaration not deleted."
End If
End Sub

Mtodo DeleteObject
El mtodo DeleteObject lleva a cabo la accin EliminarObjeto en Visual Basic.
expresin.DeleteObject(ObjectType, ObjectName)
expresin Requerida. Expresin que devuelve uno de los objetos de la lista Aplicar a.
ObjectType AcObjectType opcional.
AcObjectType puede ser una de estas constantes AcObjectType.
acDataAccessPage
Valor predeterminado acDefault
acDiagram
acForm
acFunction
acMacro
acModule
acQuery
acReport
acServerView
acStoredProcedure
acTable
ObjectName Variant opcional. Una expresin de cadena que es el nombre vlido de un
objeto del tipo seleccionado por el argumento tipoobjeto. Si ejecuta cdigo de Visual Basic
Pgina

296

que contenga el mtodo DeleteObject en una base de datos de bibliotecas, Microsoft


Access busca el objeto con este nombre primero en la base de datos de biblioteca y luego
en la base de datos activa.

Comentarios
Para obtener ms informacin sobre cmo funcionan la accin y sus argumentos, consulte
el tema de la accin.
Si deja en blanco los argumentos tipoobjeto y nombreobjeto (se asume la constante
predeterminada, acDefault, para tipoobjeto), Microsoft Access elimina el objeto
seleccionado en la ventana Base de datos. Para seleccionar un objeto en la ventana Base de
datos, puede usar la accin SeleccionarObjeto o el mtodo SelectObject con el argumento
En ventana Base de datos establecido a S (Verdadero).

Ejemplo
El siguiente ejemplo elimina la tabla especificada:
DoCmd.DeleteObject acTable, "Former Employees Table"

Mtodo DeleteReportControl
El mtodo DeleteReportControl elimina de un informe el control especificado.
expresin.DeleteReportControl(ReportName, ControlName)
expresin Requerida. Expresin que devuelve uno de los objetos de la lista Aplicar a.
ReportName String requerida. Expresin de cadena que identifica el nombre del
formulario o informe que contiene el control a eliminar.
ControlName String requerida. Expresin de cadena que identifica el nombre del control a
eliminar.

Comentarios
El mtodo DeleteReportControl slo est disponible en la vista Diseo del formulario o
en la vista Diseo del informe.
Nota Si est creando un asistente que elimina un control de un formulario o informe, el
asistente deber abrir el formulario o informe en la vista Diseo para poder eliminar el
control.

Pgina

297

Ejemplo
En el ejemplo siguiente se crea un formulario con un botn de comando, y se muestra un
mensaje que pregunta al usuario si desea eliminarlo. Si el usuario hace clic en S, se elimina
el botn de comando.
Sub DeleteCommandButton()
Dim frm As Form, ctlNew As Control
Dim strMsg As String, intResponse As Integer, _
intDialog As Integer
' Create new form and get pointer to it.
Set frm = CreateForm
' Create new command button.
Set ctlNew = CreateControl(frm.Name, acCommandButton)
' Restore form.
DoCmd.Restore
' Set caption.
ctlNew.Caption = "New Command Button"
' Size control.
ctlNew.SizeToFit
' Prompt user to delete control.
strMsg = "About to delete " & ctlNew.Name &". Continue?"
' Define buttons to be displayed in dialog box.
intDialog = vbYesNo + vbCritical + vbDefaultButton2
intResponse = MsgBox(strMsg, intDialog)
If intResponse = vbYes Then
' Delete control.
DeleteControl frm.Name, ctlNew.Name
End If
End Sub

Mtodo DFirst
Utilice la funcin DPrim (DFirst) para devolver un registro aleatorio de un campo
determinado de una tabla o consulta cuando necesite cualquier valor de ese campo. Use la
funcin DPrim (DFirst) en una macro, en un mdulo, en una expresin de consulta o en un
control calculado de un formulario o informe. Variant.
expresin.DFirst(Expr, Domain, Criteria)
expresin Requerida. Expresin que devuelve uno de los objetos de la lista Aplicar a.
Expr String requerida. Una expresin que identifica el campo desde el que desea
encontrar el primer o el ltimo valor. Puede ser una expresin de cadena que identifica un

Pgina

298

campo de una tabla o consulta, o bien una expresin que realiza un clculo usando los datos
de ese campo. En expresin, puede incluir el nombre de un campo en una tabla, un control
de un formulario, una constante o una funcin. Si expresin incluye una funcin, puede ser
integrada o definida por el usuario, pero no puede ser ninguna otra funcin agregada de
dominio ni agregada de SQL.
Domain String requerida. Una expresin de cadena que identifica el conjunto de registros
que constituyen el dominio.
Criteria Variant opcional. Una expresin de cadena opcional que se utiliza para restringir
el intervalo de datos en el que se ejecuta la funcin DPrim (DFirst). Por ejemplo, criterios
suele ser equivalente a la clusula WHERE en una expresin SQL, sin la palabra WHERE.
Si se omite criterios, la funcin DPrim (DFirst) evala expresin para todo el dominio.
Cualquier campo que se incluya en criterios debe ser tambin un campo de dominio, de lo
contrario la funcin DPrim (DFirst) devuelve un valor Nulo.

Comentarios
Nota Si desea devolver el primer registro de un conjunto de registros (un dominio), debe
crear una consulta clasificada en orden ascendente o descendente y establecer la propiedad
ValoresSuperiores (TopValues) en 1. Para obtener ms informacin, consulte el tema de
la propiedad ValoresSuperiores (TopValues). Desde Visual Basic, tambin puede crear un
objeto Recordset, y utilizar el mtodo MoveFirst o MoveLast para devolver el primero o
ltimo registro de un conjunto de registros.

Ejemplo
En el ejemplo siguiente se imprime el valor del campo "FechaPedido" de la tabla Pedidos
en la ventana Inmediato del Editor de Visual Basic. Microsoft Access elige al azar uno de
los registros del campo. Este ejemplo es til si se desea mostrar rpidamente el contenido
de un campo para comprobar la coherencia de los datos.
? DFirst("[Orders]![OrderDate]", "[Orders]")

Mtodo DLast
Utilice la funcin Dltimo (DLast) para devolver un registro aleatorio de un campo
determinado de una tabla o consulta cuando necesite cualquier valor de ese campo. Use la
funcin Dltimo (DLast) en una macro, en un mdulo, en una expresin de consulta o en
un control calculado de un formulario o informe. Variant.
expresin.DLast(Expr, Domain, Criteria)
expresin Requerida. Expresin que devuelve uno de los objetos de la lista Aplicar a.

Pgina

299

Expr String requerida. Una expresin que identifica el campo desde el que desea
encontrar el primer o el ltimo valor. Puede ser una expresin de cadena que identifica un
campo de una tabla o consulta, o bien una expresin que realiza un clculo usando los datos
de ese campo. En expresin, puede incluir el nombre de un campo en una tabla, un control
de un formulario, una constante o una funcin. Si expresin incluye una funcin, puede ser
integrada o definida por el usuario, pero no puede ser ninguna otra funcin agregada de
dominio ni agregada de SQL.
Domain String requerida. Una expresin de cadena que identifica el conjunto de registros
que constituyen el dominio.
Criteria Variant opcional. Una expresin de cadena opcional que se utiliza para restringir
el intervalo de datos en el que se ejecuta la funcin Dltimo (DLast). Por ejemplo,
criterios suele ser equivalente a la clusula WHERE en una expresin SQL, sin la palabra
WHERE. Si se omite criterios, la funcin Dltimo (DLast) evala expresin para todo el
dominio. Cualquier campo que se incluya en criterios debe ser tambin un campo de
dominio, de lo contrario la funcin Dltimo (DLast) devuelve un valor Nulo.

Comentarios
Nota Si desea devolver el ltimo registro de un conjunto de registros (un dominio), debe
crear una consulta clasificada en orden ascendente o descendente y establecer la propiedad
ValoresSuperiores (TopValues) en 1. Para obtener ms informacin, consulte el tema de
la propiedad ValoresSuperiores (TopValues). Desde Visual Basic, tambin puede crear un
objeto Recordset, y utilizar el mtodo MoveFirst o MoveLast para devolver el primero o
ltimo registro de un conjunto de registros.

Ejemplo
En el ejemplo siguiente se imprime el valor del campo "FechaPedido" de la tabla Pedidos
en la ventana Inmediato del Editor de Visual Basic. Microsoft

Mtodo DLookup
Puede usar la funcin DBsq (DLookup) para obtener el valor de un campo particular a
partir de un grupo de registros especificado (un dominio). Use la funcin DBsq
(DLookup) en VisualBasic, en una macro, en una expresin de consulta o en un control
calculado de un formulario o informe. Variant.
expresin.DLookup(Expr, Domain, Criteria)

Pgina

300

expresin Requerida. Expresin que devuelve uno de los objetos de la lista Aplicar a.
Expr String requerida. Una expresin que identifica el campo cuyo valor desea devolver.
Puede ser una expresin de cadena que identifica un campo de una tabla o consulta, o bien
una expresin que realiza un clculo usando los datos de ese campo. En expresin, puede
incluir el nombre de un campo en una tabla, un control de un formulario, una constante o
una funcin. Si expresin incluye una funcin, puede ser integrada o definida por el
usuario, pero no puede ser ninguna otra funcin agregada de dominio ni agregada de SQL.
Domain String requerida. Una expresin de cadena que identifica el conjunto de registros
que constituyen el dominio. Puede ser un nombre de tabla o un nombre de consulta.
Criteria Variant opcional. Una expresin de cadena opcional que se utiliza para restringir
el intervalo de datos sobre el que se ejecuta la funcin DBsq (DLookup). Por ejemplo,
criterios suele ser equivalente a la clusula WHERE en una expresin SQL, sin la palabra
WHERE. Si se omite criterios, la funcin DBsq (Dlookup) evala expresin para todo el
dominio. Cualquier campo que se incluya en criterios debe ser tambin un campo de
dominio; de lo contrario la funcin DBsq (DLookup) devuelve el valor Nulo.

Comentarios
Puede utilizar la funcin DBsq (DLookup) para mostrar el valor de un campo que no se
encuentra en el origen de registros en que est basado el formulario o informe. Por ejemplo,
suponga que tiene un formulario basado en una tabla Detalles de pedido. El formulario
muestra los campos IdPedido, IdProducto, PrecioUnitario, Cantidad y Descuento. Sin
embargo, el campo NombreProducto est en otra tabla, la tabla Productos. Puede utilizar la
funcin DBsq (DLookup) en un control calculado para mostrar el NombreProducto en el
mismo formulario.
La funcin DBsq (DLookup) devuelve un solo campo basado en la informacin
especificada en criterios. Aunque criterios es un argumento opcional, si no proporciona un
valor para criterios, la funcin DBsq (DLookup) devuelve un valor aleatorio en el
dominio.
Si ningn registro cumple los criterios o si dominio no contiene registros, la funcin
DBsq (DLookup) devuelve un valor Nulo.
Si ms de un campo cumple los criterios, la funcin DBsq (DLookup) devuelve la
primera aparicin. Debe especificar los criterios que van a asegurar que el valor de campo
devuelto por la funcin DBsq (DLookup) es nico. Quiz desee utilizar una clave
principal para los criterios, como [EmployeeID] en el ejemplo siguiente, para asegurarse de
que la funcin DBsq (DLookup) devuelve un valor nico:
Dim varX As Variant
varX = DLookup("[LastName]", "Employees", "[EmployeeID] = 1")

Pgina

301

Independientemente de si usa la funcin DBsq (DLookup) en una macro, mdulo,


expresin de consulta o control calculado, debe crear el argumento criterios con cuidado
para garantizar que se evaluar correctamente.
Puede usar la funcin DBsq (DLookup) para especificar criterios en la fila Criterios de
una consulta, en una expresin de campo calculado de una consulta o en la fila Actualizar
a de una consulta de actualizacin.
Tambin puede utilizar la funcin DBsq (DLookup) en una expresin en un control
calculado de un formulario o informe si el campo que debe mostrar no est en el origen de
registros en que est basado el formulario o informe. Por ejemplo, suponga que tiene un
formulario Detalles de pedido basado en una tabla Detalles de pedido con un cuadro de
texto denominado IdProducto que muestra el campo IdProducto. Para buscar
NombreProducto en una tabla Productos basndose en el valor del cuadro de texto, puede
crear otro cuadro de texto y establecer su propiedad OrigenDelControl (ControlSource)
en la expresin siguiente:
=DLookup("[ProductName]", "Products", "[ProductID] =" _
& Forms![Order Details]!ProductID)
Sugerencias

Aunque puede utilizar la funcin DBsq (DLookup) para mostrar un valor de un


campo en una tabla externa, puede resultar ms eficaz crear una consulta que
contenga los campos que necesite de ambas tablas, y despus basar el formulario o
informe en esa consulta.

Tambin puede utilizar el Asistente para bsquedas para buscar valores en una tabla
externa.

Nota Los cambios no guardados para los registros de dominio no se incluyen al usar esta
funcin. Si desea que la funcin DBsq (DLookup) se base en los valores modificados,
debe guardar primero los cambios haciendo clic en Guardar registro en el men Archivo,
moviendo el enfoque a otro registro o usando el mtodo Update.

Mtodo DMax
Puede usar las funciones DMx (DMax) para estimar los valores mximos de un grupo de
registros especificado (un dominio). Utilice las funciones DMx (DMax) en Visual Basic,
en una macro, en una expresin de consulta o en un control calculado. Variant.
expresin.DMax(Expr, Domain, Criteria)
expresin Requerida. Expresin que devuelve uno de los objetos de la lista Aplicar a.

Pgina

302

Expr String requerida. Una expresin que identifica el campo para el que desea encontrar
el valor mnimo o mximo. Puede ser una expresin de cadena que identifica un campo de
una tabla o consulta, o bien una expresin que realiza un clculo usando los datos de ese
campo. En expresin, puede incluir el nombre de un campo en una tabla, un control de un
formulario, una constante o una funcin. Si expresin incluye una funcin, puede ser
integrada o definida por el usuario, pero no puede ser ninguna otra funcin agregada de
dominio ni agregada de SQL.
Domain String requerida. Una expresin de cadena que identifica el conjunto de registros
que constituyen el dominio. Puede ser un nombre de tabla o un nombre de consulta.
Criteria Variant opcional. Una expresin de cadena opcional que se utiliza para restringir
el intervalo de datos en el que se ejecuta la funcin DMx (DMax). Por ejemplo, criterios
suele ser equivalente a la clusula WHERE en una expresin SQL, sin la palabra WHERE.
Si se omite criterios, la funcin DMx (DMax) evala expresin para todo el dominio.
Cualquier campo que se incluya en criterios debe ser tambin un campo de dominio, de lo
contrario la funcin DMx (DMax) devuelve un valor Nulo.

Comentarios
La funcin DMx (DMax) devuelve el valor mximo que cumpla los criterios de criterios.
Si expresin identifica datos numricos, la funcin DMx (DMax) devuelve valores
numricos. Si expresin identifica datos de cadena, devuelven la cadena que aparece
alfabticamente en primer o en ltimo lugar.
La funcin DMx (DMax) omite los valores Nulo en el campo a que hace referencia
expresin. Sin embargo, si ningn registro cumple los criterios de criterios o si dominio no
contiene registros, la funcin DMx (DMax) devuelve un valor Nulo.
Cuando se usa la funcin DMx (DMax) en una macro, un mdulo, una expresin de
consulta o un control calculado, se debe crear el argumento criterios cuidadosamente para
garantizar que se evaluar correctamente.
Puede usar la funcin DMx (DMax) para especificar criterios en la fila Criterios de una
consulta, en una expresin de campo calculado de una consulta o en la fila Actualizar a de
una consulta de actualizacin.
Nota Puede utilizar la funcin DMx (DMax) o Mx (Max) en una expresin de campo
calculado dentro de una consulta de totales. Si usa la funcin DMx (DMax), los valores se
evalan antes de agrupar los datos. Si usa la funcin Mx (Max), los datos se agrupan antes
de que se evalen los valores de la expresin del campo.
Use la funcin DMx (DMax) en un control calculado cuando necesite especificar criterios
para restringir el intervalo de datos en el que se ejecuta la funcin. Por ejemplo, para
mostrar el cargo mximo de envo para un pedido enviado a California, establezca la

Pgina

303

propiedad OrigenDelControl (ControlSource) de un cuadro de texto en la siguiente


expresin:
=DMax("[Freight]", "Orders", "[ShipRegion] = 'CA'")
Si nicamente desea averiguar el valor mximo de todos los registros de dominio, use la
funcin Mx (Max).
Puede utilizar la funcin DMx (DMax) en un mdulo o una macro, o en un control
calculado de un formulario si el campo que debe mostrar no est en el origen de registros
en que est basado el formulario.
Sugerencia Aunque puede utilizar la funcin DMx (DMax) para buscar el valor mximo
de un campo en una tabla externa, puede resultar ms eficaz crear una consulta que
contenga los campos que necesite de ambas tablas, y despus basar el formulario o informe
en esa consulta.
Nota Los cambios no guardados para los registros de dominio no se incluyen al usar estas
funciones. Si desea que la funcin DMx (DMax) se base en los valores modificados,
primero debe guardar los cambios haciendo clic en Guardar registro en el men Archivo,
moviendo el enfoque a otro registro o usando el mtodo Update.

Ejemplo
En el ejemplo siguiente se devuelve el valor ms alto del campo Gastos de envo para los
pedidos enviados a Espaa. El dominio es la tabla Pedidos. El argumento criterios restringe
el conjunto de registros resultante a aqullos para los que PasDestinatario es igual a
Espaa.
Dim curX As Currency, curY As Currency
curY = DMax("[Freight]", "Orders", "[ShipCountry] = 'UK'")
En el ejemplo siguiente, el argumento criterios incluye el valor actual de un cuadro de lista
denominado Fecha de pedido. El cuadro de texto es dependiente del campo FechaPedido de
la tabla Pedidos. Observe que la referencia al control no est incluida entre comillas dobles
("), que denotan las cadenas. De esta forma se garantiza que cada vez que se llama la
funcin DMx (DMax), Microsoft Access obtiene el valor actual del control.
Dim curX As Currency
curX = DMax("[Freight]", "Orders", "[OrderDate] = #" _
& Forms!Orders!OrderDate & "#")

Mtodo DMin
Pgina

304

Puede usar la funcin DMn (DMin) para estimar el valor mnimo de un grupo de registros
especificado (un dominio). Utilice la funcin DMn (DMin) en Visual Basic, en una macro,
en una expresin de consulta o en un control calculado. Variant.
expresin.DMin(Expr, Domain, Criteria)
expresin Requerida. Expresin que devuelve uno de los objetos de la lista Aplicar a.
Expr String requerida. Una expresin que identifica el campo para el que desea encontrar
el valor mnimo o mximo. Puede ser una expresin de cadena que identifica un campo de
una tabla o consulta, o bien una expresin que realiza un clculo usando los datos de ese
campo. En expresin, puede incluir el nombre de un campo en una tabla, un control de un
formulario, una constante o una funcin. Si expresin incluye una funcin, puede ser
integrada o definida por el usuario, pero no puede ser ninguna otra funcin agregada de
dominio ni agregada de SQL.
Domain String requerida. Una expresin de cadena que identifica el conjunto de registros
que constituyen el dominio. Puede ser un nombre de tabla o un nombre de consulta.
Criteria Variant opcional. Una expresin de cadena opcional que se utiliza para restringir
el intervalo de datos en el que se ejecuta la funcin DMn (DMin). Por ejemplo, criterios
suele ser equivalente a la clusula WHERE en una expresin SQL, sin la palabra WHERE.
Si se omite criterios, la funcin DMn (DMin) evala expresin para todo el dominio.
Cualquier campo que se incluya en criterios debe ser tambin un campo de dominio, de lo
contrario la funcin DMn (DMin) devuelve un valor Nulo.

Comentarios
Por ejemplo, puede utilizar la funcin DMn (DMin) en los controles calculados de un
informe para mostrar los importes de pedido mayor y menor para un cliente particular. O
puede utilizar la funcin DMn (DMin) en una expresin de consulta para mostrar todos los
pedidos con un descuento mayor que el descuento mnimo posible.
La funcin DMn (DMin) devuelve el valor mximo que cumpla los criterios de criterios.
Si expresin identifica datos numricos, la funcin DMn (DMin) devuelve valores
numricos. Si expresin identifica datos de cadena, devuelven la cadena que aparece
alfabticamente en primer o en ltimo lugar.
La funcin DMn (DMin) omite los valores Nulo en el campo a que hace referencia
expresin. Sin embargo, si ningn registro cumple los criterios de criterios o si dominio no
contiene registros, la funcin DMn (DMin) devuelve un valor Nulo.
Cuando se usa la funcin DMn (DMin) en una macro, un mdulo, una expresin de
consulta o un control calculado, se debe crear el argumento criterios cuidadosamente para
garantizar que se evaluar correctamente.

Pgina

305

Puede usar la funcin DMn (DMin) para especificar criterios en la fila Criterios de una
consulta, en una expresin de campo calculado de una consulta o en la fila Actualizar a de
una consulta de actualizacin.
Nota Puede utilizar la funcin DMn (DMin) o Mn en una expresin de campo calculado
dentro de una consulta de totales. Si usa la funcin DMn (DMin), los valores se evalan
antes de agrupar los datos. Si usa la funcin Mn (Min), los datos se agrupan antes de que
se evalen los valores de la expresin del campo.
Use la funcin DMn (DMin) en un control calculado cuando necesite especificar criterios
para restringir el intervalo de datos en el que se ejecuta la funcin. Por ejemplo, para
mostrar el cargo mnimo de envo para un pedido enviado a California, establezca la
propiedad ControlSource de un cuadro de edicin en la siguiente expresin:
=DMin("[Freight]", "Orders", "[ShipRegion] = 'CA'")
Si nicamente desea averiguar el valor mnimo de todos los registros de dominio, use la
funcin Mn (Min).
Puede utilizar la funcin DMn (DMin) en un mdulo o una macro, o en un control
calculado de un formulario, si el campo que debe mostrar no est en el origen de registros
en que est basado el formulario.
Sugerencia Aunque puede utilizar la funcin DMn (DMin) para buscar el valor mnimo
de un campo en una tabla externa, puede resultar ms eficaz crear una consulta que
contenga los campos que necesite de ambas tablas, y despus basar el formulario o informe
en esa consulta.
Nota Los cambios no guardados para los registros de dominio no se incluyen al usar estas
funciones. Si desea que la funcin DMn (DMin) se base en los valores modificados,
primero debe guardar los cambios haciendo clic en Guardar registro en el men Archivo,
moviendo el enfoque a otro registro o usando el mtodo Update.

Ejemplo
En el ejemplo siguiente se devuelve el valor ms bajo del campo Gastos de envo para los
pedidos enviados a Espaa. El dominio es la tabla Pedidos. El argumento criterios restringe
el conjunto de registros resultante a aqullos para los que PasDestinatario es igual a
Espaa.
Dim curX As Currency, curY As Currency
curX = DMin("[Freight]", "Orders", "[ShipCountry] = 'UK'")
En el ejemplo siguiente, la expresin de criterio incluye una variable, fechaPedido.
Observe que en la expresin de cadena se incluyen signos de nmero (#), de modo que
cuando las cadenas se concatenen, estos signos contendrn la fecha.

Pgina

306

Dim dteOrderDate As Date, curX As Currency


dteOrderDate = #3/30/95#
curX = DMin("[Freight]", "Orders", _
"[OrderDate] = #" & dteOrderDate & "#")

Mtodo DoMenuItem
Muestra el comando de men o de barra de herramientas adecuado para Microsoft Access.
expresin.DoMenuItem(BarraMens, NombreMen, Comando, Subcomando, Versin)
expresin Requerida. Expresin que devuelve uno de los objetos de la lista Aplicar a.
BarraMens Variant requerida. Use la constante intrnseca acFormBar para la barra de
mens en la vista Formulario. Para el resto de las vistas, use el nmero de la vista en la lista
de argumentos de la barra de mens, como se muestra en la ventana Macro de las versiones
anteriores de Microsoft Access (contar en la lista, empezando desde 0).
NombreMen Variant requerida. Puede usar una de las siguientes constantes intrnsecas.
Constantes intrnsecas:
acFile
acEditMenu
acRecordsMenu
Slo puede usar acRecordsMenu para la barra de mens de la vista Formulario de
Microsoft Access versin 2.0 y para las bases de datos de Microsoft Access 95. Para otros
mens, use el nmero de men de la lista del argumento de nombre de men, como se
muestra en la ventana Macro de las versiones anteriores de Microsoft Access (cuente en la
lista, empezando desde 0).
Comando Variant requerida. Puede usar una de las siguientes constantes intrnsecas.
Constantes intrnsecas:
acNew
acSaveForm
acSaveFormAs

Pgina

307

acSaveRecord
acUndo
acCut
acCopy
acPaste
acDelete
acSelectRecord
acSelectAllRecords
acObject
acRefresh
Para otros comandos, use el nmero del comando de la lista del argumento de comando,
como se muestra en la ventana Macro de las versiones anteriores de Microsoft Access
(cuente en la lista, empezando desde 0).
Subcomando Variant opcional. Puede usar una de las siguientes constantes intrnsecas.
Constantes intrnsecas:
acObjectVerb
acObjectUpdate
La constante acObjectVerb representa el primer comando del submen del comando
Objeto del men Edicin. El tipo de objeto determina el primer comando del submen. Por
ejemplo, este comando es Editar para un objeto Paintbrush que puede ser modificado.
Para los dems comandos de los submens, use el nmero del subcomando de la lista del
argumento de subcomando, como se muestra en la ventana Macro de las versiones
anteriores de Microsoft Access (cuente en la lista, empezando desde 0).
Versin Variant opcional. Use la constante intrnseca acMenuVer70 para el cdigo
escrito para las bases de datos Microsoft Access 95, la constante intrnseca acMenuVer20
para el cdigo escrito para las bases de datos de la versin 2.0 de Microsoft Access, y la
constante intrnseca acMenuVer1X para el cdigo escrito para las bases de datos Microsoft
Access versin 1.x. Este argumento slo est disponible en Visual Basic.

Pgina

308

Nota El valor predeterminado para este argumento es acMenuVer1X, de tal forma que
cualquier cdigo escrito para las bases de datos de Microsoft Access versin 1.x se
ejecutarn sin cambio. Si est escribiendo cdigo para una base de datos Microsoft Access
95 o de la versin 2.0 y desea usar los comandos de men de estas versiones con el mtodo
DoMenuItem, debe establecer este argumento a acMenuVer70 o acMenuVer20.
Adems, cuando cuente en las listas de los argumentos de accin de la Barra de mens,
Nombre del men, Comando y Subcomando en la ventana Macro para obtener los nmeros
que debe usar para los argumentos del mtodo DoMenuItem, debe usar las listas de
Microsoft Access 95 si el argumento Versin es acMenuVer70, las listas de Microsoft
Access versin 2.0 si el argumento Versin es acMenuVer20 y las listas de Microsoft
Access versin 1.x si Versin es acMenuVer1X (o est en blanco).
Nota No hay valor de acMenuVer80 para este argumento. El mtodo DoMenuItem no se
puede usar para mostrar los comandos de Microsoft Access 97 o Microsoft Access 2000
(aunque los mtodos DoMenuItem existentes en el cdigo de Visual Basic seguirn
funcionando). Use en su lugar el mtodo RunCommand.

Comentarios
Nota En Microsoft Access 97, el mtodo DoMenuItem se substituy por el mtodo
RunCommand. El mtodo DoMenuItem se incluye en esta versin de Microsoft Access
slo por compatibilidad con las versiones anteriores. Si ejecuta cdigo de Visual Basic que
contiene un mtodo DoMenuItem, Microsoft Access muestra el comando de men o de
barra de herramientas adecuado para Microsoft Access 2000. No obstante, a diferencia de
la accin EjecutarElementoMen de una macro, un mtodo DoMenuItem de cdigo de
Visual Basic no se convierte en un mtodo RunCommand al convertir una base de datos
creada en una versin anterior de Microsoft Access.
Algunos comandos de las versiones anteriores de Microsoft Access no estn disponibles en
Microsoft Access 2000, y los mtodos DoMenuItem que ejecutan estos comandos
provocarn un error cuando sean ejecutados en Visual Basic. Es necesario que modifique el
cdigo de Visual Basic para reemplazar o eliminar las ocurrencias de tales mtodos
DoMenuItem.
Las selecciones de las listas para los argumentos de la accin NombreMen, Comando y
Subcomando en la ventana Macro dependen de lo que se haya seleccionado para los
argumentos anteriores. Deben usarse nmeros o constantes intrnsecas que sean apropiadas
para cada argumento BarraMens, NombreMen, Comando y Subcomando.
Si deja en blanco el argumento Subcomando pero especifica el argumento Versin, debe
incluir la coma del argumento Subcomando. Si deja en blanco los argumentos
Subcomando y Versin, no use una coma a continuacin del argumento Comando.

Ejemplo
Pgina

309

El siguiente ejemplo utiliza el mtodo DoMenuItem para llevar a cabo el comando Pegar
del men Edicin en la vista Formulario de una base de datos Microsoft Access 95:
DoCmd.DoMenuItem acFormBar, acEditMenu, acPaste, , acMenuVer70
El siguiente ejemplo lleva a cabo el comando Mosaico del men Ventana en la vista
Formulario de una base de datos Microsoft Access versin 2.0:
DoCmd.DoMenuItem acFormBar, 4, 0, , acMenuVer20

Mtodo Dropdown
Se puede utilizar el mtodo Dropdown para forzar el despliegue de la lista en el cuadro
combinado especificado.
expresin.Dropdown
expresin Requerida. Expresin que devuelve uno de los objetos de la lista Aplicar a.

Comentarios
Por ejemplo, se puede utilizar este mtodo para provocar el despliegue de un cuadro
combinado que enumera los cdigos de suministradores cuando el control del cdigo del
suministrador recibe el enfoque durante la entrada de datos.
Si el control del cuadro combinado especificado no tiene el enfoque, se producir un error.
La utilizacin de este mtodo es lo mismo que presionar la tecla F4 cuando el control tiene
el enfoque.

Ejemplo
El siguiente ejemplo muestra cmo se puede utilizar el mtodo Dropdown dentro del
procedimiento de evento GotFocus para forzar el despliegue de un cuadro combinado
llamado IdSuministrador cuando recibe el enfoque.
Private Sub SupplierID_GotFocus()
Me!SupplierID.Dropdown
End Sub

Mtodo DStDev
Pgina

310

Puede usar la funcin DDesvEst (DStDev) para calcular la desviacin estndar de un


conjunto de valores de un grupo de registros especificado (un dominio). Use la funcin
DDesvEst (DStDev) en VisualBasic, en una macro, en una expresin de consulta o en un
control calculado de un formulario o informe. Variant.
expresin.DStDev(Expr, Domain, Criteria)
expresin Requerida. Expresin que devuelve uno de los objetos de la lista Aplicar a.
Expr String requerida. Una expresin que identifica el campo numrico en el que desea
hallar la desviacin estndar. Puede ser una expresin de cadena que identifica un campo
de una tabla o consulta, o bien una expresin que realiza clculos usando los datos de ese
campo. En expresin, puede incluir el nombre de un campo en una tabla, un control de un
formulario, una constante o una funcin. Si expresin incluye una funcin, puede ser
integrada o definida por el usuario, pero no puede ser ninguna otra funcin agregada de
dominio ni agregada de SQL.
Domain String requerida. Una expresin de cadena que identifica el conjunto de registros
que constituyen el dominio. Puede ser un nombre de tabla o un nombre de consulta.
Criteria Variant opcional. Una expresin de cadena opcional que se utiliza para restringir
el intervalo de datos en el que se ejecuta la funcin DDesvEst (DStDev). Por ejemplo,
criterios suele ser equivalente a la clusula WHERE en una expresin SQL, sin la palabra
WHERE. Si se omite criterios, la funcin DDesvEst (DStDev) evala expresin para todo
el dominio. Cualquier campo que se incluya en criterios debe ser tambin un campo de
dominio, de lo contrario la funcin DDesvEst (DStDev) devuelve un valor Nulo.

Comentarios
Utilice la funcin DDesvEst (DStDev) para evaluar una muestra de poblacin.
Por ejemplo, puede usar la funcin DDesvEst (DStDev) en un mdulo para calcular la
desviacin estndar de los resultados de los exmenes de un grupo de estudiantes.
Si dominio hace referencia a menos de dos registros, o si menos de dos registros satisfacen
los criterios de criterios, la funcin DDesvEst (DStDev) devuelve un valor Nulo, lo que
indica que no puede calcularse una desviacin estndar.
Cuando se usa la funcin DDesvEst (DStDev) en una macro, un mdulo, una expresin de
consulta o un control calculado, se debe crear el argumento criterios cuidadosamente para
garantizar que se evaluar correctamente.
Puede utilizar la funcin DDesvEst (DStDev) para especificar criterios en la fila criterios
de una consulta de seleccin. Por ejemplo, puede crear una consulta en una tabla Pedidos y
en una tabla Productos para mostrar todos los productos para los que los gastos de envo

Pgina

311

queden por encima de la media ms la desviacin estndar para los gastos de envo. La fila
de criterios bajo el campo Gastos de envo contiene la expresin siguiente:
>(DStDev("[Freight]", "Orders") + DAvg("[Freight]", "Orders"))

Puede utilizar la funcin DDesvEst (DStDev) dentro de una expresin de campo calculado
en una consulta, o en la fila Actualizar a de una consulta de actualizacin.
Nota Puede utilizar la funcin DDesvEst (DStDev) o StDev en una expresin de campo
calculado de una consulta de totales. Si usa la funcin DDesvEst (DStDev), el valor se
calcula antes de agrupar los datos. Si usa la funcin StDev, los datos se agrupan antes de
que se evalen los valores de la expresin del campo.
Use la funcin DDesvEst (DStDev) en un control calculado cuando necesite especificar
criterios para restringir el intervalo de datos en el que se ejecuta la funcin. Por ejemplo,
para mostrar la desviacin estndar de los pedidos que se van a enviar a California,
establezca la propiedad OrigenDelControl (ControlSource) de un cuadro de texto en la
siguiente expresin:
=DStDev("[Freight]", "Orders", "[ShipRegion] = 'CA'")
Si nicamente desea averiguar la desviacin estndar de todos los registros de dominio, use
la funcin StDev.
Sugerencia Si el tipo de datos del campo del que se deriva expresin es un nmero, la
funcin DDesvEst (DStDev) devuelve un tipo de datos Double. Si utiliza la funcin
DDesvEst (DStDev) en un control calculado, incluya una funcin de conversin de tipo de
datos en la expresin para mejorar el rendimiento.
Nota Los cambios no guardados para los registros de dominio no se incluyen al usar estas
funciones. Si desea que la funcin DDesvEst (DStDev) se base en los valores modificados,
primero debe guardar los cambios haciendo clic en Guardar registro en el men Archivo,
moviendo el enfoque a otro registro o usando el mtodo Update.

Ejemplo
El siguiente ejemplo devuelve estimaciones de la desviacin estndar para una poblacin y
una muestra de poblacin para los pedidos enviados a Espaa. El dominio es la tabla
Pedidos. El argumento criterios restringe el conjunto de registros resultante a aqullos para
los que PasDestinatario es igual a Espaa.
Dim dblX As Double, dblY As Double
' Sample estimate.
dblX = DStDev("[Freight]", "Orders", "[ShipCountry] = 'UK'")
' Population estimate.
dblY = DStDevP("[Freight]", "Orders", "[ShipCountry] = 'UK'")

Pgina

312

El siguiente ejemplo calcula las mismas estimaciones usando una variable, cadPas, en el
argumento criterios. Observe que en la expresin de cadena estn incluidos signos de
comilla tipogrfica ('), de modo que cuando se concatenen las cadenas, la cadena Espaa
estar incluida entre signos de comilla tipogrfica.
Dim strCountry As String, dblX As Double, dblY As Double
strCountry = "UK"
dblX = DStDev("[Freight]", "Orders", _
"[ShipCountry] = '" & strCountry & "'")
dblY = DStDevP("[Freight]", "Orders", _
"[ShipCountry] = '" & strCountry & "'")

Mtodo DStDevP
Puede usar la funcin DDesvEstP (DStDevP) para calcular la desviacin estndar de un
conjunto de valores de un grupo de registros especificado (un dominio). Use las funciones
DDesvEstP (DStDevP) en VisualBasic, en una macro, en una expresin de consulta o en
un control calculado de un formulario o informe. Variant.
expresin.DStDevP(Expr, Domain, Criteria)
expresin Requerida. Expresin que devuelve uno de los objetos de la lista Aplicar a.
Expr String requerida. Una expresin que identifica el campo numrico en el que desea
hallar la desviacin estndar. Puede ser una expresin de cadena que identifica un campo
de una tabla o consulta, o bien una expresin que realiza clculos usando los datos de ese
campo. En expresin, puede incluir el nombre de un campo en una tabla, un control de un
formulario, una constante o una funcin. Si expresin incluye una funcin, puede ser
integrada o definida por el usuario, pero no puede ser ninguna otra funcin agregada de
dominio ni agregada de SQL.
Domain String requerida. Una expresin de cadena que identifica el conjunto de registros
que constituyen el dominio. Puede ser un nombre de tabla o un nombre de consulta.
Criteria Variant opcional. Una expresin de cadena opcional que se utiliza para restringir
el intervalo de datos en el que se ejecuta la funcin DDesvEstP (DStDevP). Por ejemplo,
criterios suele ser equivalente a la clusula WHERE en una expresin SQL, sin la palabra
WHERE. Si se omite criterios, la funcin DDesvEstP (DStDevP) evala expresin para
todo el dominio. Cualquier campo que se incluya en criterios debe ser tambin un campo
de dominio, de lo contrario la funcin DDesvEstP (DStDevP) devuelve un valor Nulo.

Comentarios
Utilice la funcin DDesvEstP (DStDevP) para evaluar una poblacin.

Pgina

313

Si dominio hace referencia a menos de dos registros, o si menos de dos registros satisfacen
los criterios de criterios, la funcin DDesvEstP (DStDevP) devuelve un valor Nulo, lo que
indica que no puede calcularse una desviacin estndar.
Cuando se usa la funcin DDesvEstP (DStDevP) en una macro, un mdulo, una expresin
de consulta o un control calculado, se debe crear el argumento criterios cuidadosamente
para garantizar que se evaluar correctamente.
Puede utilizar la funcin DDesvEstP (DStDevP) para especificar criterios en la fila
criterios de una consulta de seleccin.
Puede utilizar la funcin DDesvEstP (DStDevP) dentro de una expresin de campo
calculado en una consulta, o en la fila Actualizar a de una consulta de actualizacin.
Nota Puede utilizar la funcin DDesvEstP (DStDevP) o DDesvEst (StDevP) en una
expresin de campo calculado de una consulta de totales. Si usa la funcin DDesvEstP
(DStDevP), los valores se calculan antes de que se agrupen los datos. Si usa la funcin
DDesvEst (StDevP), los datos se agrupan antes de que se evalen los valores de la
expresin del campo.
Use la funcin DDesvEstP (DStDevP) en un control calculado cuando necesite especificar
criterios para restringir el intervalo de datos en el que se ejecuta la funcin.
Si nicamente desea averiguar la desviacin estndar de todos los registros de dominio, use
la funcin DDesvEst (StDevP).
Sugerencia Si el tipo de datos del campo del que se deriva expresin es un nmero, la
funcin DDesvEstP (DStDevP) devuelve un tipo de datos Double. Si utiliza la funcin
DDesvEstP (DStDevP) en un control calculado, incluya una funcin de conversin de tipo
de datos en la expresin para mejorar el rendimiento.
Nota Los cambios no guardados para los registros de dominio no se incluyen al usar estas
funciones. Si desea que la funcin DDesvEstP (DStDevP) se base en los valores
modificados, primero debe guardar los cambios haciendo clic en Guardar registro en el
men Archivo, moviendo el enfoque a otro registro o usando el mtodo Update.

Ejemplo
El siguiente ejemplo devuelve estimaciones de la desviacin estndar para una poblacin y
una muestra de poblacin para los pedidos enviados a Espaa. El dominio es la tabla
Pedidos. El argumento criterios restringe el conjunto de registros resultante a aqullos para
los que PasDestinatario es igual a Espaa.
Dim dblX As Double, dblY As Double
' Sample estimate.
dblX = DStDev("[Freight]", "Orders", "[ShipCountry] = 'UK'")

Pgina

314

' Population estimate.


dblY = DStDevP("[Freight]", "Orders", "[ShipCountry] = 'UK'")
El siguiente ejemplo calcula las mismas estimaciones usando una variable, cadPas, en el
argumento criterios. Observe que en la expresin de cadena estn incluidos signos de
comilla tipogrfica ('), de modo que cuando se concatenen las cadenas, la cadena Espaa
estar incluida entre signos de comilla tipogrfica.
Dim strCountry As String, dblX As Double, dblY As Double
strCountry = "UK"
dblX = DStDev("[Freight]", "Orders", _
"[ShipCountry] = '" & strCountry & "'")
dblY = DStDevP("[Freight]", "Orders", _
"[ShipCountry] = '" & strCountry & "'")

Mtodo DSum
Puede usar la funcin DSuma (DSum) para estimar la suma de un conjunto de valores de
un grupo de registros especificado (un dominio). Utilice la funcin DSuma en Visual
Basic, en una macro, en una expresin de consulta o en un control calculado. Variant.
expresin.DSum(Expr, Domain, Criteria)
expresin Requerida. Expresin que devuelve uno de los objetos de la lista Aplicar a.
Expr String requerida. Una expresin que identifica el campo numrico cuyos valores
totales desea calcular. Puede ser una expresin de cadena que identifica un campo de una
tabla o consulta, o bien una expresin que realiza un clculo usando los datos de ese campo.
En expresin, puede incluir el nombre de un campo en una tabla, un control de un
formulario, una constante o una funcin. Si expresin incluye una funcin, puede ser
integrada o definida por el usuario, pero no puede ser ninguna otra funcin agregada de
dominio ni agregada de SQL.
Domain String requerida. Una expresin de cadena que identifica el conjunto de registros
que constituyen el dominio. Puede ser un nombre de tabla o un nombre de consulta.
Criteria Variant opcional. Una expresin de cadena opcional que se utiliza para restringir
el intervalo de datos sobre el que se ejecuta la funcin DSuma (DSum). Por ejemplo,
criterios suele ser equivalente a la clusula WHERE en una expresin SQL, sin la palabra
WHERE. Si se omite criterios, la funcin DSuma (DSum) evala expresin para todo el
dominio. Cualquier campo que se incluya en criterios debe ser tambin un campo de
dominio; de lo contrario la funcin DSuma (DSum) devuelve el valor Nulo.

Comentarios
Pgina

315

Por ejemplo, puede utilizar la funcin DSuma (DSum) en una expresin de campo
calculada en una consulta para calcular las ventas totales realizadas por un empleado
particular durante cierto periodo de tiempo. O puede utilizar la funcin DSuma (DSum) en
un control calculado para mostrar una suma actualizada de ventas para un producto
particular.
Si ningn registro cumple el argumento de criterios o el dominio no contiene registros, la
funcin DSuma (DSum) devuelve un valor Nulo.
Independientemente de si usa la funcin DBsq (DLookup) en una macro, mdulo,
expresin de consulta o control calculado, debe crear el argumento criterios con cuidado
para garantizar que se evaluar correctamente.
Puede usar la funcin DSuma (DSum) para especificar criterios en la fila Criterios de una
consulta, en un campo calculado de una expresin de consulta o en la fila Actualizar a de
una consulta de actualizacin.
Nota Puede utilizar la funcin DSuma (DSum) o Suma en una expresin de campo
calculado dentro de una consulta de totales. Si usa la funcin DSuma (DSum), los valores
se calculan antes de que se agrupen los datos. Si usa la funcin Sum, los datos se agrupan
antes de que se evalen los valores de la expresin del campo.
Puede que desee utilizar la funcin DSuma (DSum) cuando necesite mostrar la suma de un
conjunto de valores de un campo que no est en el origen de registros para el formulario o
informe. Por ejemplo, suponga que tiene un formulario que muestra informacin sobre un
producto particular. Puede utilizar la funcin DSuma (DSum) para gestionar un total
actualizado de ventas de ese producto en un control calculado.
Sugerencia Si necesita mantener un total actualizado en un control de un informe, puede
utilizar la propiedad SumaContinua (RunningSum) de ese control si el campo en el que
se basa est incluido en el origen de registros para el informe. Utilice la funcin DSuma
(DSum) para mantener una suma continua en un formulario.
Nota Los cambios no guardados para los registros de dominio no se incluyen al usar esta
funcin. Si desea que la funcin DSuma (DSum) se base en los valores modificados, debe
guardar primero los cambios haciendo clic en Guardar registro en el men Archivo,
moviendo el enfoque a otro registro o usando el mtodo Update.

Ejemplo
En el ejemplo siguiente se devuelve la suma del campo Gastos de envo para los pedidos
enviados a Espaa. El dominio es la tabla Pedidos. El argumento criterios restringe el
conjunto de registros resultante a aqullos para los que PasDestinatario es igual a Espaa.
Dim curX As Currency
curX = DSum ("[Orders]![Freight] ", "[Orders]", "[ShipCountry] = 'UK'")

Pgina

316

Mtodo DVar
Puede usar la funcin DVar para estimar la varianza de un conjunto de valores de un grupo
de registros especificado. Use la funcin DVar en VisualBasic, en una macro, en una
expresin de consulta o en un control calculado de un formulario o informe.
Utilice la funcin DVar para evaluar la varianza en una muestra de poblacin. Por ejemplo,
puede usar la funcin DVar para calcular la varianza de los resultados de los exmenes de
un grupo de estudiantes.
expresin.DVar(Expr, Domain, Criteria)
expresin Requerida. Expresin que devuelve uno de los objetos de la lista Aplicar a.
Expr String requerida. Una expresin que identifica el campo numrico en el que desea
encontrar la varianza. Puede ser una expresin de cadena que identifica un campo de una
tabla o consulta o bien una expresin que realiza un clculo usando los datos de ese campo.
En expresin, puede incluir el nombre de un campo en una tabla, un control de un
formulario, una constante o una funcin. Si expresin incluye una funcin, puede ser
integrada o definida por el usuario, pero no puede ser ninguna otra funcin agregada de
dominio ni agregada de SQL. Todo campo incluido en expresin debe ser un campo
numrico.
Domain String requerida. Una expresin de cadena que identifica el conjunto de registros
que constituyen el dominio. Puede ser un nombre de tabla o un nombre de consulta.
Criteria Variant opcional. Una expresin de cadena opcional que se utiliza para restringir
el intervalo de datos en el que se ejecuta la funcin DVar. Por ejemplo, criterios suele ser
equivalente a la clusula WHERE en una expresin SQL, sin la palabra WHERE. Si se
omite criterios, la funcin DVar evala expresin para todo el dominio. Cualquier campo
que se incluya en criterios debe ser tambin un campo de dominio; de lo contrario la
funcin DVar devuelve un valor Nulo.

Comentarios
Si dominio hace referencia a menos de dos registros, o si menos de dos registros satisfacen
los criterios de criterios, la funcin DVar devuelve un valor Nulo, lo que indica que no
puede calcularse una varianza.
Cuando se usa la funcin DVar en una macro, un mdulo, una expresin de consulta o un
control calculado, se debe crear el argumento criterios cuidadosamente para garantizar que
se evaluar correctamente.

Pgina

317

Puede usar la funcin DVar para especificar criterios en la fila Criterios de una consulta,
en una expresin de campo calculado de una consulta o en la fila Actualizar a de una
consulta de actualizacin.
Nota Puede utilizar la funcin DVar o Var en una expresin de campo calculado de una
consulta de totales. Si usa la funcin DVar, los valores se calculan antes de que se agrupen
los datos. Si usa la funcin Var, los datos se agrupan antes de que se evalen los valores de
la expresin del campo.
Use la funcin DVar en un control calculado cuando necesite especificar criterios para
restringir el intervalo de datos en el que se ejecuta la funcin. Por ejemplo, para presentar
una varianza de los pedidos que se van a enviar a California, establezca la propiedad
OrigenDelControl (ControlSource) de un cuadro de texto a la siguiente expresin:
=DVar("[Freight]", "Orders", "[ShipRegion] = 'CA'")
Si nicamente desea averiguar la desviacin estndar de todos los registros de dominio, use
la funcin Var.
Nota Los cambios no guardados para los registros de dominio no se incluyen al usar estas
funciones. Si desea que la funcin DVar se base en los valores modificados, primero debe
guardar los cambios haciendo clic en Guardar registro en el men Archivo, moviendo el
enfoque a otro registro o usando el mtodo Update.

Ejemplo
En este ejemplo devuelve estimaciones de la varianza de una poblacin y una muestra de
poblacin para los pedidos enviados a Espaa. El dominio es la tabla Pedidos. El
argumento criterios restringe el conjunto de registros resultante a aqullos para los que
PasDestinatario es igual a Espaa.
Dim dblX As Double, dblY As Double
' Sample estimate.
dblX = DVar("[Freight]", "Orders", "[ShipCountry] = 'UK'")
' Population estimate.
dblY = DVarP("[Freight]", "Orders", "[ShipCountry] = 'UK'")
El ejemplo siguiente devuelve estimaciones usando una variable, cadPas, en el argumento
criterios. Observe que en la expresin de cadena estn incluidos signos de comilla
tipogrfica ('), de modo que cuando se concatenen las cadenas, la cadena Espaa estar
incluida entre signos de comilla tipogrfica.
Dim strCountry As String, dblX As Double
strCountry = "UK"
dblX = DVar("[Freight]", "Orders", "[ShipCountry] = '" _
& strCountry & "'")

Pgina

318

Mtodo DVarP
Puede usar la funcin DVarP para estimar la varianza de un conjunto de valores de un
grupo de registros especificado. Use la funcin DVarP en VisualBasic, en una macro, en
una expresin de consulta o en un control calculado de un formulario o informe.
Utilice la funcin DVarP para evaluar la varianza en una poblacin.
expresin.DVarP(Expr, Domain, Criteria)
expresin Requerida. Expresin que devuelve uno de los objetos de la lista Aplicar a.
Expr String requerida. Una expresin que identifica el campo numrico en el que desea
encontrar la varianza. Puede ser una expresin de cadena que identifica un campo de una
tabla o consulta o bien una expresin que realiza un clculo usando los datos de ese campo.
En expresin, puede incluir el nombre de un campo en una tabla, un control de un
formulario, una constante o una funcin. Si expresin incluye una funcin, puede ser
integrada o definida por el usuario, pero no puede ser ninguna otra funcin agregada de
dominio ni agregada de SQL. Todo campo incluido en expresin debe ser un campo
numrico.
Domain String requerida. Una expresin de cadena que identifica el conjunto de registros
que constituyen el dominio. Puede ser un nombre de tabla o un nombre de consulta.
Criteria Variant opcional. Una expresin de cadena opcional que se utiliza para restringir
el intervalo de datos en el que se ejecuta la funcin DVarP. Por ejemplo, criterios suele ser
equivalente a la clusula WHERE en una expresin SQL, sin la palabra WHERE. Si se
omite criterios, la funcin DVarP evala expresin para todo el dominio. Cualquier campo
que se incluya en criterios debe ser tambin un campo de dominio; de lo contrario la
funcin DVarP devuelve un valor Nulo.

Comentarios
Si dominio hace referencia a menos de dos registros, o si menos de dos registros satisfacen
los criterios de criterios, la funcin DVarP devuelve un valor Nulo, lo que indica que no
puede calcularse una varianza.
Es necesario construir el argumento criterios cuidadosamente para garantizar su correcta
evaluacin.

Pgina

319

Puede usar la funcin DVarP para especificar criterios en la fila Criterios de una consulta
de seleccin, en una expresin de campo calculado de una consulta o en la fila Actualizar
a de una consulta de actualizacin.
Nota Puede utilizar la funcin DVarP o VarP en una expresin de campo calculado de
una consulta de totales. Si usa la funcin DVarP, los valores se calculan antes de que se
agrupen los datos. Si usa la funcin VarP, los datos se agrupan antes de que se evalen los
valores de la expresin del campo.
Use la funcin DVarP en un control calculado cuando necesite especificar criterios para
restringir el intervalo de datos en el que se ejecuta la funcin. Por ejemplo, para presentar
una varianza de los pedidos que se van a enviar a California, establezca la propiedad
OrigenDelControl (ControlSource) de un cuadro de texto a la siguiente expresin:
=DVarP("[Freight]", "Orders", "[ShipRegion] = 'CA'")
Si nicamente desea averiguar la desviacin estndar de todos los registros de dominio, use
la funcin VarP.
Nota Los cambios no guardados para los registros de dominio no se incluyen al usar estas
funciones. Si desea que la funcin DVarP se base en los valores modificados, primero debe
guardar los cambios haciendo clic en Guardar registro en el men Archivo, moviendo el
enfoque a otro registro o usando el mtodo Update.

Ejemplo
En este ejemplo devuelve estimaciones de la varianza de una poblacin y una muestra de
poblacin para los pedidos enviados a Espaa. El dominio es la tabla Pedidos. El
argumento criterios restringe el conjunto de registros resultante a aqullos para los que
PasDestinatario es igual a Espaa.
Dim dblX As Double, dblY As Double
' Sample estimate.
dblX = DVar("[Freight]", "Orders", "[ShipCountry] = 'UK'")
' Population estimate.
dblY = DVarP("[Freight]", "Orders", "[ShipCountry] = 'UK'")

Mtodo Echo
Mtodo Echo segn se aplica al objeto Application.

Pgina

320

El mtodo Echo especifica si Microsoft Access vuelve a pintar o actualiza la pantalla.


expresin.Echo(EcoActivado, bstrStatusBarText)
expresin Requerida. Expresin que devuelve un objeto Application.
EcoActivado Integer requerido. Verdadero (opcin predeterminada) indica que se
actualiza la pantalla.
bstrStatusBarText String opcional. Una expresin de cadena que especifica el texto que se
mostrar en la barra de estado cuando la actualizacin de pantalla se activa o desactiva.

Comentarios
Si va a ejecutar cdigo de Visual Basic que haga cambios a los objetos que se muestren en
la pantalla, el cdigo puede ir ms rpido si desactiva la actualizacin de pantalla hasta que
el procedimiento haya finalizado la ejecucin. Tambin puede desactivar la actualizacin
de pantalla si el cdigo realiza cambios que el usuario no ha de ver o no necesita verlos.
El mtodo Echo no impide que se muestren los cuadros de dilogo modales, como
mensajes de error, o formularios emergentes, como las hojas de propiedades.
Si desactiva la actualizacin de pantalla, no se mostrar ningn cambio, incluso si el
usuario presiona CTRL+INTER o Visual Basic encuentra un punto de interrupcin. Podra
crear una macro que activara la actualizacin de pantalla y asignarla a una tecla o comando
de men personalizado. Usando la combinacin de teclas o el comando de men se podra
activar la actualizacin de pantalla si hubiera sido desactivada en Visual Basic.
Si desactiva la actualizacin de pantalla e intenta ejecutar paso a paso el cdigo, no ver el
avance a travs del cdigo, ni otra pista visual, hasta que no la vuelva a activar. Sin
embargo, el cdigo continuar ejecutndose.
Nota No confunda el mtodo Echo con el mtodo Repaint. El mtodo Echo activa y
desactiva la actualizacin de la pantalla. El mtodo Repaint fuerza una actualizacin
inmediata de la pantalla.
Mtodo Echo segn se aplica al objeto DoCmd.
El mtodo Echo del objeto DoCmd lleva a cabo la accin Eco en Visual Basic.
expresin.Echo(EcoActivado, TextoBarraEstado)
expresin Requerida. Expresin que devuelve un objeto DoCmd.

Pgina

321

EcoActivado Variant requerida. Use Verdadero para activar el eco y Falso para
desactivarlo.
TextoBarraEstado Variant opcional. Una cadena de expresin que indica el texto que
aparece en la barra de estado.

Comentarios
Si deja en blanco el argumento TextoBarraEstado, no use una coma a continuacin del
argumento EcoActivado.
Si desactiva el eco en Visual Basic, debe volver a activarlo, o permanecer desactivado
incluso si el usuario presiona CTRL+INTER o Visual Basic encuentra un punto de
interrupcin. Puede que desee crear una macro que active el eco y luego asigne la macro a
una combinacin de teclas o a un comando de men personalizado. Podra usar entonces la
combinacin de teclas o el comando de men para activar el eco si hubiera sido desactivado
en Visual Basic.
El mtodo Echo del objeto DoCmd fue agregado para proporcionar compatibilidad hacia
atrs para ejecutar la accin Eco en el cdigo Visual Basic en Microsoft Access para
Windows 95. Se recomienda que en su lugar use el mtodo Echo del objeto Application.

Ejemplo
Segn se aplica al objeto Application.
Este ejemplo usa el mtodo Echo para evitar que se actualice la pantalla mientras se estn
llevando a cabo ciertas operaciones. Mientras el procedimiento abre un formulario y lo
minimiza, el usuario slo ve un icono de un reloj de arena que indica que se est llevando a
cabo el proceso y la pantalla no se actualiza. Cuando finaliza la tarea, el reloj de arena
cambia a un puntero y se restaura la actualizacin de pantalla.
Public Sub EchoOff()
' Open the Employees form minimized.
Application.Echo False
DoCmd.Hourglass True
DoCmd.OpenForm "Employees", acNormal
DoCmd.Minimize
Application.Echo True
DoCmd.Hourglass False
End Sub

Pgina

322

Segn se aplica al objeto DoCmd


El siguiente ejemplo utiliza el mtodo Echo para desactivar el eco y mostrar el texto
especificado en la barra de estado mientras se ejecuta el cdigo Visual Basic:
DoCmd.Echo False, "Visual Basic code is executing."

Funcin EuroConvert
Puede utilizar la funcin EuroConvert para convertir un nmero a un valor en euros, o
bien un valor en euros a otra moneda. Tambin puede utilizarla para convertir un nmero
de una moneda a otra utilizando el euro como divisa intermedia, lo que se conoce como
triangulacin. La funcin EuroConvert utiliza los valores de conversin fijados por la
Unin Europea.
EuroConvert(nmero, moneda de origen, moneda de destino, [precisin mxima,
precisin de triangulacin])
Argumento

Descripcin (Description)

nmero

Nmero que desea convertir o referencia a un campo que contiene


el nmero.

moneda de origen

Expresin de cadena, o referencia a un campo que contiene la


cadena, que corresponde al acrnimo ISO (Organizacin
internacional de normalizacin) de la moneda que desea
convertir. Puede ser cualquiera de los cdigos ISO que se
enuncian en la tabla siguiente:
Currency

Cdigo ISO

Precisin de Precisin de
clculo
presentacin

Franco belga

BEF

Franco
luxemburgus

LUF

Marco alemn

DEM

Peseta espaola

ESP

Franco francs

FRF

Libra irlandesa

IEP

Lira italiana

ITL

Pgina

323

Florn holands

NLG

Cheln austraco

ATS

Escudo portugus

PTE

Marco finlands

FIM

euro

EUR

En la tabla anterior, la precisin del clculo determina a qu


unidad monetaria se redondea el resultado segn la moneda de la
conversin. Por ejemplo, cuando se realiza la conversin a
marcos alemanes, la precisin de clculo es 2 y el resultado se
redondea al siguiente pfennig y 100 pfennigs a un marco. La
precisin de presentacin determina el nmero de cifras
decimales que aparecen en el campo que contiene el resultado.
Las versiones posteriores de la funcin EuroConvert podran
admitir otras monedas. Para obtener ms informacin sobre las
nuevas monedas y actualizaciones de la funcin EuroConvert,
vea la pgina Web del Euro y Microsoft Office.
Currency

Cdigo ISO

Corona danesa

DKK

Dracma

GRD

Corona sueca

SEK

Libra esterlina

GBP

moneda de destino

Expresin de cadena, o referencia a un campo que contiene la


cadena, que corresponde al cdigo ISO de la moneda a la que
desea convertir el nmero. Para obtener una lista de los cdigos
ISO de monedas, vea la descripcin del argumento moneda de
origen.

precisin mxima

Opcional. Valor Boolean donde True (1) omite la norma de


redondeo especifica de la moneda (denominada precisin de
presentacin en la descripcin del argumento moneda de origen)
y utiliza un factor de conversin de 6 dgitos significativos sin
redondeo posterior. False (0) utiliza las normas de redondeo
especficas de la moneda para mostrar el resultado. Si se omite
este parmetro, el valor predeterminado es False.

precisin
triangulacin

de Opcional. Valor Integer mayor o igual a 3 que especifica el


nmero de dgitos significativos utilizados en la precisin del
clculo del valor intermedio del euro cuando se realiza la
conversin entre dos monedas nacionales.

Pgina

324

Comentarios
Los ceros a la derecha quedan truncados y los parmetros no vlidos dan como resultado
#Error.
Si el cdigo ISO de origen es el mismo que el cdigo ISO de destino, el valor original del
nmero permanece activo.
Esta funcin no aplica ningn formato.
La funcin EuroConvert utiliza los valores actuales establecidos por la Unin Europea. Si
dichos valores cambian, Microsoft actualizar la funcin. Para obtener informacin
completa sobre las reglas y los valores vigentes actualmente, consulte las publicaciones de
la Comisin Europea relativas al euro. Para obtener ms informacin sobre cmo conseguir
estas publicaciones, vea la pgina Web del Euro y Microsoft Office.

Ejemplo
El primer ejemplo convierte 1,20 marcos alemanes en el valor correspondiente en euros (el
resultado es 0,61). El segundo ejemplo convierte 1,47 francos franceses en marcos
alemanes (el resultado es 0,44 marcos alemanes). Se supone un valor de conversin de 1
euro = 6,55858 francos franceses y 1,92974 marcos alemanes.
EuroConvert(1.20,"DEM","EUR")
EuroConvert(1.47,"FRF","DEM",TRUE,3)

Mtodo Eval
Puede usar la funcin Eval para evaluar una expresin que da como resultado una cadena
de texto o un valor numrico. Variant.
expresin.Eval(StringExpr)
expresin Requerida. Expresin que devuelve uno de los objetos de la lista Aplicar a.
StringExpr String requerida. El argumento expresinCadena es una expresin que se
evala como una cadena de texto alfanumrica. Por ejemplo, expresinCadena puede ser
una funcin que devuelve una cadena o un valor numrico. Tambin puede ser una

Pgina

325

referencia a un control de un formulario. El argumento expresinCadena debe evaluarse


como una cadena o un valor numrico; no puede devolver un objeto de Microsoft Access.

Comentarios
Puede crear una cadena y despus evaluarla con la funcin Eval como si la cadena fuera
realmente una expresin. La funcin Eval evala la expresin de cadena y devuelve su
valor. Por ejemplo, Eval("1 + 1") devuelve 2.
Si pasa a la funcin Eval una cadena que contiene el nombre de una funcin, la funcin
Eval devuelve el valor de retorno de esa funcin. Por ejemplo, Eval("Chr$(65)")
devuelve "A".
Nota Si va a pasar el nombre de una funcin a la funcin Eval, debe incluir parntesis
despus del nombre de la funcin en el argumento stringexpr. Por ejemplo:
' ShowNames is user-defined function.
Debug.Print Eval("ShowNames()")
Debug.Print Eval("StrComp(""Joe"",""joe"", 1)")
Debug.Print Eval("Date()")
Puede usar la funcin Eval en un control calculado de un formulario o un informe, o bien
en una macro o un mdulo. La funcin Eval devuelve un Variant que puede ser una
cadena o un valor numrico.
El argumento expresinCadena debe ser una expresin almacenada en una cadena. Si pasa
a la funcin Eval una cadena que no contiene una expresin numrica o un nombre de
funcin, sino slo una simple cadena de texto, se produce un error en tiempo de ejecucin.
Por ejemplo, Eval("Smith") genera un error.
Puede usar la funcin Eval para determinar el valor almacenado en la propiedad Valor
(Value) de un control. El siguiente ejemplo solicita al usuario la referencia completa a un
control y pasa esa cadena a la funcin Eval. A continuacin devuelve el valor actual del
control en un cuadro de dilogo.
Dim ctl As Control, strCtl As String
Set ctl = Forms!Employees!LastName
strCtl = "Forms!Employees!LastName"
MsgBox ("The current value of " & ctl.Name & " is " & Eval(strCtl))
Puede utilizar la funcin Eval para tener acceso a operadores de expresiones que
normalmente no estn disponibles en Visual Basic. Por ejemplo, los operadores SQL
Entre...Y o En no se pueden usar directamente en el cdigo, pero s los puede usar en una
expresin pasada a la funcin Eval.

Pgina

326

El siguiente ejemplo determina si el valor de un campo Regin destinatario del formulario


Pedidos es una de las abreviaturas especificadas para el estado. Si el campo contiene una de
las abreviaturas, intState ser True (-1). Observe el uso del signo de comilla tipogrfica
(') para incluir una cadena dentro de otra cadena.
Dim intState As Integer
intState = Eval("Forms!Orders!ShipRegion In " _
& "('AK', 'CA', 'ID', 'WA', 'MT', 'NM', 'OR')")

Mtodo ExportXML
Exporta datos, esquema y/o informacin de presentacin para el objeto de Microsoft
Access especificado en forma de archivos XML.
expresin.ExportXML(TipoObjeto, OrigenDatos, DestinoDatos, TransformarDatos,
DestinoEsquema, FormatoEsquema, TransformarEsquema, DestinoPresentacin,
TransformarPresentacin,
DestinoImagen,
OrigenInformeActivo,
Codificacin,
OtrasMarcas)
expresin Requerida. Expresin que devuelve un objeto Application.
TipoObjeto AcExportXMLObjectType requerido. El tipo de objeto de Access que se va a
exportar.
AcExportXMLObjectType puede ser una de estas constantes AcExportXMLObjectType.
acExportDataAccessPage
acExportForm
acExportFunction
acExportQuery
acExportReport
acExportServerView
acExportStoredProcedure
acExportTable
OrigenDatos String requerida. Nombre del objeto de Access que se va a exportar. El valor
predeterminado es el objeto abierto actualmente del tipo especificado por TipoObjeto.
DestinoDatos String opcional. Nombre del archivo y ruta de acceso para los datos
exportados. Si se omite este argumento, los datos no se exportan.

Pgina

327

TransformarDatos String opcional. Nombre del archivo XSL que se va a aplicar a los
datos antes de que se escriban en el archivo de destino.
DestinoEsquema String opcional. Nombre del archivo y ruta de acceso para la
informacin de los datos exportados. Si se omite este argumento, la informacin del
esquema se incrusta en el documento de los datos.
FormatoEsquema AcExportXMLSchemaFormat opcional. Formato en el que se exporta
la informacin del esquema.
AcExportXMLSchemaFormat
AcExportXMLSchemaFormat.
acSchemaNone predeterminado
acSchemaXSD

puede

ser

una

de

estas

constantes

TransformarEsquema String opcional. Nombre del archivo XSL que se va a aplicar a la


informacin del esquema antes de que se escriba en el archivo de destino.
DestinoPresentacin String opcional. Nombre del archivo y ruta de acceso para la
informacin de presentacin exportada. Si se omite este argumento, la informacin de
presentacin no se exporta.
TransformarPresentacin String opcional. Nombre del archivo XSL que se va a aplicar a
la informacin de presentacin antes de que se escriba en el archivo de destino.
DestinoImagen String opcional. La ruta de acceso para las imgenes exportadas. Si se
omite este argumento, las imgenes no se exportan.
OrigenInformeActivo String opcional. Informacin de conexin para un informe que
contiene datos activos. Puede ser una referencia a un archivo .odc o a una peticin
XMLSQL. Este argumento se omite si el TipoObjeto no es acExportReport.
Codificacin AcExportXMLEncoding opcional. Codificacin de texto que se va a
utilizar para el XML exportado.
AcExportXMLEncoding puede ser una de estas constantes AcExportXMLEncoding.
acEUCJ
acUCS2
acUCS4
acUTF16
acUTF8 predeterminado
OtrasMarcas Long opcional. Mscara de bit que especifica otros comportamientos
asociados con la exportacin a XML. La tabla siguiente describe el comportamiento que

Pgina

328

resulta de los valores especficos; se pueden agregar valores para especificar una
combinacin de comportamientos.
Valor

Descripcin

Tablas relacionadas Incluye "muchas" tablas para el objeto especificado por OrigenDatos.

Propiedades relacionales Crea propiedades de esquemas relacionales.

Ejecutar desde servidor Crea un wrapper ASP; si no, el valor predeterminado es un wrapper HTML. Se
aplica slo al exportar informes.

Propiedades especiales Crea unas propiedades de esquema extendidas.

Comentarios
Cuando se llama al mtodo ExportXML desde un objeto de Access, el comportamiento
predeterminado es sobrescribir cualquier archivo especificado existente en cualquiera de los
argumentos. Cuando se llama al mtodo ExportXML desde una de acceso a datos, el
comportamiento predeterminado es preguntar al usuario antes de sobrescribir cualquier
archivo especificado existente en cualquiera de los argumentos.

Ejemplo
El ejemplo siguiente exporta la tabla denominada Clientes a la base de datos activa como
XML. Los datos y el esquema se exportan en archivos separados, y el esquema est en
formato XSD. Se sobrescriben los archivos existentes.
Application.ExportXML _
ObjectType:=acExportTable, _
DataSource:="Customers", _
DataTarget:="Customers.xml", _
SchemaTarget:="CustomersSchema.xml", _
SchemaFormat:=acSchemaXSD, _
OtherFlags:=1

Mtodo Find
Encuentra el texto especificado en un mdulo estndar o mdulo de clase.
expresin.Find(Destino, LneaInicio, ColumnaInicio, LneaFin,
TodaLaPalabra, CoincidirMaysculasMinsculas, BsquedaModelo)

ColumnaFin,

expresin Requerida. Expresin que devuelve uno de los objetos de la lista Aplicar a.

Pgina

329

Destino String requerida. Una expresin de cadena que da como resultado el texto que
desea encontrar.
LneaInicio Long requerido. La lnea en la que comienza la bsqueda. Si se encuentra una
coincidencia, el valor del argumento LneaInicio se establece en la lnea en la que se
encuentra el carcter inicial del texto coincidente.
ColumnaInicio Long requerido. La columna en la que comienza la bsqueda. Cada
carcter de una lnea se encuentra en una columna independiente, comenzando por cero en
el lado izquierdo del mdulo. Si se encuentra una coincidencia, el valor del argumento
ColumnaInicio se establece en la columna en la que se encuentra el carcter inicial del
texto coincidente.
LneaFin Long requerido. La lnea en la que se detiene la bsqueda. Si se encuentra una
coincidencia, el valor del argumento LneaFin se establece en la lnea en la que se
encuentra el carcter final del texto coincidente.
ColumnaFin Long requerido. La columna en la que se detiene la bsqueda. Si se
encuentra una coincidencia, el valor del argumento ColumnaFin se establece en la
columna en la que se encuentra el carcter final del texto coincidente.
TodaLaPalabra Boolean opcional. Verdadero realiza una bsqueda de las palabras
completas solamente. El valor predeterminado es Falso.
CoincidirMaysculasMinsculas Boolean opcional. Verdadero realiza una bsqueda de
palabras que coincidan en las maysculas y minsculas con el argumento Destino. El valor
predeterminado es Falso.
BsquedaModelo Boolean opcional. Verdadero realiza una bsqueda en la que el
argumento Destino puede contener caracteres comodn tales como un asterisco (*) o un
signo de interrogacin (?). El valor predeterminado es Falso.

Comentarios
El mtodo Find busca la cadena de texto especificada en un objeto Module. Si se encuentra
la cadena, el mtodo Find devuelve Verdadero.
Para determinar la posicin en el mdulo en la que comienza el texto de bsqueda, pase
variables en blanco al mtodo Find para los argumentos LneaInicio, ColumnaInicio,
LneaFin y ColumnaFin. Si se encuentra una coincidencia, estos argumentos contendrn
el nmero de lnea y la posicin de columna en la que comienza (LneaInicio,
ColumnaInicio) y termina (LneaFin, ColumnaFin) el texto de bsqueda.
Por ejemplo, si el texto de bsqueda se encuentra en la lnea 5, comienza en la columna 10
y termina en la columna 20, los valores de estos argumentos sern: LneaInicio = 5,
ColumnaInicio = 10, LneaFin = 5, ColumnaFin = 20.

Pgina

330

Ejemplo
La funcin siguiente encuentra una cadena especificada en un mdulo y reemplaza la lnea
que contiene esa cadena por una lnea especificada nueva.
Function FindAndReplace(strModuleName As String, _
strSearchText As String, _
strNewText As String) As Boolean
Dim mdl As Module
Dim lngSLine As Long, lngSCol As Long
Dim lngELine As Long, lngECol As Long
Dim strLine As String, strNewLine As String
Dim intChr As Integer, intBefore As Integer, _
intAfter As Integer
Dim strLeft As String, strRight As String
' Open module.
DoCmd.OpenModule strModuleName
' Return reference to Module object.
Set mdl = Modules(strModuleName)
' Search for string.
If mdl.Find(strSearchText, lngSLine, lngSCol, lngELine, _
lngECol) Then
' Store text of line containing string.
strLine = mdl.Lines(lngSLine, Abs(lngELine - lngSLine) + 1)
' Determine length of line.
intChr = Len(strLine)
' Determine number of characters preceding search text.
intBefore = lngSCol - 1
' Determine number of characters following search text.
intAfter = intChr - CInt(lngECol - 1)
' Store characters to left of search text.
strLeft = Left$(strLine, intBefore)
' Store characters to right of search text.
strRight = Right$(strLine, intAfter)
' Construct string with replacement text.
strNewLine = strLeft & strNewText & strRight
' Replace original line.
mdl.ReplaceLine lngSLine, strNewLine
FindAndReplace = True
Else
MsgBox "Text not found."
FindAndReplace = False
End If

Pgina

331

Exit_FindAndReplace:
Exit Function
Error_FindAndReplace:
MsgBox Err & ": " & Err.Description
FindAndReplace = False
Resume Exit_FindAndReplace
End Function

Mtodo FindNext
El mtodo FindNext lleva a cabo la accin BuscarSiguiente en Visual Basic.
expresin.FindNext
expresin Requerida. Expresin que devuelve un objeto DoCmd.

Comentarios
Este mtodo no tiene argumentos y se puede llamar mediante la sintaxis DoCmd.FindNext.
Puede usar el mtodo FindNext para buscar el siguiente registro que cumpla los criterios
especificados por el mtodo FindRecord anterior o el cuadro de dilogo Buscar en campo,
disponible al hacer clic en Buscar en el men Edicin. Puede usar el mtodo FindNext
para buscar ms veces el mismo registro. Por ejemplo, puede moverse sucesivamente a
travs de todos los registros de un cliente determinado.

Mtodo FindRecord
El mtodo FindRecord lleva a cabo la accin BuscarRegistro en Visual Basic.
expresin.FindRecord(FindWhat, Match, MatchCase, Search, SearchAsFormatted,
OnlyCurrentField, FindFirst)
expresin Requerida. Expresin que devuelve uno de los objetos de la lista Aplicar a.
FindWhat Variant requerida. Una expresin que evala a texto, un nmero o una fecha.
La expresin contiene los datos a buscar.
Match AcFindMatch opcional.
AcFindMatch puede ser una de estas constantes AcFindMatch.

Pgina

332

acAnywhere
acEntire valor predeterminado
acStart
Si deja en blanco este argumento, se asume la constante predeterminada (acEntire).
MatchCase Variant opcional. Use Verdadero para una bsqueda que distinga las
maysculas de las minsculas y Falso para una bsqueda que no las distinga. Si deja en
blanco este argumento, se asume el valor predeterminado (Falso).
Search AcSearchDirection opcional.
AcSearchDirection puede ser una de estas constantes AcSearchDirection.
acDown
acSearchAll valor predeterminado
acUp
Si deja en blanco este argumento, se asume la constante predeterminada (acSearchAll).
SearchAsFormatted Variant opcional. Use Verdadero para buscar datos que tienen
formato y Falso para buscar datos tal como estn almacenados en la base de datos. Si deja
en blanco este argumento, se asume el valor predeterminado (Falso).
OnlyCurrentField AcFindField opcional.
AcFindField puede ser una de estas constantes AcFindField.
acAll
acCurrent valor predeterminado
Si deja en blanco este argumento, se asume la constante predeterminada (acCurrent).
FindFirst Variant opcional. Use Verdadero para iniciar la bsqueda en el primer
registro. Use Falso para iniciar la bsqueda en el registro que sigue al registro actual. Si
deja en blanco este argumento, se asume el valor predeterminado (Verdadero).

Comentarios
Para obtener ms informacin sobre cmo funcionan la accin y sus argumentos, consulte
el tema de la accin.
Puede dejar en blanco un argumento opcional en mitad de la sintaxis, pero debe incluir la
coma del argumento. Si deja en blanco uno o ms argumentos de la cola, no use una coma a
continuacin del ltimo argumento que especifique.

Pgina

333

Ejemplo
El siguiente ejemplo busca la primera ocurrencia en los registros de nombre Smith en el
campo actual. No busca ocurrencias de smith o de Smithson.
DoCmd.FindRecord "Smith",, True,, True

Mtodo Follow
El mtodo Follow abre la pgina web o el documento especificado por una direccin de
hipervnculo asociada a un control de un formulario o un informe.
expresin.Follow(NewWindow, AddHistory, ExtraInfo, Method, HeaderInfo)
expresin Requerida. Expresin que devuelve uno de los objetos de la lista Aplicar a.
NewWindow Boolean opcional. Un valor Boolean donde True (-1) abre el documento en
una ventana nueva y False (0) lo abre en la ventana actual. El valor predeterminado es
Falso.
AddHistory Boolean opcional. Un valor Boolean en el que Verdadero agrega el
hipervnculo a la carpeta Historial y Falso no agrega el hipervnculo a la carpeta Historial.
El valor predeterminado es Verdadero.
ExtraInfo Variant opcional. Una cadena o una matriz de datos Byte que especifica
informacin adicional para desplazarse a un hipervnculo. Por ejemplo, este argumento
puede utilizarse para especificar un parmetro de bsqueda para un archivo .ASP o .IDC.
En su explorador Web, el argumento infoextra puede aparecer despus de la direccin de
hipervnculo, separado de la misma por un signo de interrogacin (?). No es necesario que
incluya el signo de interrogacin cuando especifique el argumento infoextra.
Method MsoExtraInfoMethod opcional. Un valor Entero que especifica cmo se anexa
el argumento infoextra. El argumento mtodo puede ser una de las siguientes constantes
intrnsecas.
MsoExtraInfoMethod puede ser una de estas constantes MsoExtraInfoMethod.
msoMethodGet valor predeterminado. El argumento infoextra se anexa a la direccin de
hipervnculo y slo puede ser una cadena. Este valor se pasa de forma predeterminada.
msoMethodPost. El argumento extrainfo se trasmite como cadena o como matriz de tipo
Byte.
HeaderInfo String opcional. Una cadena que especifica informacin del encabezado. De
forma predeterminada, el argumento headerinfo es una cadena de longitud cero (" ").

Pgina

334

Comentarios
El mtodo Follow tiene el mismo efecto que la accin de hacer clic en un hipervnculo.
Puede incluir el mtodo Follow en un procedimiento de evento si desea abrir un
hipervnculo en respuesta a una accin de un usuario. Por ejemplo, es posible que desee
abrir una pgina web con informacin de referencia cuando el usuario abre un formulario
determinado.
Al utilizar el mtodo Follow, no es necesario que agregue la direccin especificada por la
propiedad DireccinDeHipervnculo (HyperlinkAddress). Slo es necesario que conozca
el nombre del control que contiene el hipervnculo. Por el contrario, cuando se utiliza el
mtodo FollowHyperlink, se debe especificar la direccin del hipervnculo determinado
que desea seguir.

Ejemplo
En el ejemplo siguiente se establece la propiedad DireccinDeHipervnculo
(HyperlinkAddress) de un botn de comando y, a continuacin, se abre el hipervnculo
cuando se carga el formulario.
Para probar este ejemplo, cree un formulario y agregue un botn de comando denominado
Comando0. Pegue el cdigo siguiente en el mdulo del formulario y cmbiese a la vista
Formulario:
Private Sub Form_Load()
Dim ctl As CommandButton
Set ctl = Me!Command0
With ctl
.Visible = False
.HyperlinkAddress = "http://www.microsoft.com/"
.Hyperlink.Follow
End With
End Sub

Mtodo FollowHyperlink
El mtodo FollowHyperlink abre la pgina web o el documento especificado por una
direccin de hipervnculo.
expresin.FollowHyperlink(Address, SubAddress, NewWindow, AddHistory, ExtraInfo,
Method, HeaderInfo)

Pgina

335

expresin Requerida. Expresin que devuelve uno de los objetos de la lista Aplicar a.
Address String requerida. Una expresin de cadena que da como resultado una direccin
de hipervnculo vlida.
SubAddress String opcional. Una expresin de cadena que da como resultado una
ubicacin mencionada en el documento especificado por el argumento direccin. El valor
predeterminado es una cadena de longitud cero (" ").
NewWindow Boolean opcional. Un valor Boolean donde True (-1) abre el documento en
una ventana nueva y False (0) lo abre en la ventana actual. El valor predeterminado es
Falso.
AddHistory Boolean opcional. Un valor Boolean en el que Verdadero agrega el
hipervnculo a la carpeta Historial y Falso no agrega el hipervnculo a la carpeta Historial.
El valor predeterminado es Verdadero.
ExtraInfo Variant opcional. Una cadena o una matriz de datos Byte que especifica
informacin adicional para desplazarse a un hipervnculo. Por ejemplo, este argumento
puede utilizarse para especificar un parmetro de bsqueda para un archivo .ASP o .IDC.
En su explorador Web, el argumento infoextra puede aparecer despus de la direccin de
hipervnculo, separado de la misma por un signo de interrogacin (?). No es necesario que
incluya el signo de interrogacin cuando especifique el argumento infoextra.
Method MsoExtraInfoMethod opcional. Un valor Entero que especifica cmo se anexa
el argumento infoextra. El argumento mtodo puede ser una de las siguientes constantes
intrnsecas.
MsoExtraInfoMethod puede ser una de estas constantes MsoExtraInfoMethod.
msoMethodGet valor predeterminado. El argumento infoextra se anexa a la direccin de
hipervnculo y slo puede ser una cadena. Este valor se pasa de forma predeterminada.
msoMethodPost. El argumento infoextra se trasmite, ya sea mediante una cadena o
mediante una matriz de tipo Byte.
HeaderInfo String opcional. Una cadena que especifica informacin del encabezado. De
forma predeterminada, el argumento infoencabezado es una cadena de longitud cero.

Comentarios
Mediante el mtodo FollowHyperlink, puede seguir un hipervnculo que no existe en un
control. Este hipervnculo puede ser suministrado por usted o por el usuario. Por ejemplo,
puede pedir a un usuario que introduzca una direccin de hipervnculo en un cuadro de
dilogo y, a continuacin, utilizar el mtodo FollowHyperlink para seguir ese
hipervnculo.

Pgina

336

Puede usar los argumentos infoextra y mtodo para proporcionar informacin adicional
cuando se desplace a un hipervnculo. Por ejemplo, puede proporcionar parmetros a un
motor de bsqueda.
Puede utilizar el mtodo Follow para seguir un hipervnculo asociado a un control.

Ejemplo
La funcin siguiente solicita a un usuario una direccin de hipervnculo y, a continuacin,
sigue el hipervnculo:
Function GetUserAddress() As Boolean
Dim strInput As String
On Error GoTo Error_GetUserAddress
strInput = InputBox("Enter a valid address")
Application.FollowHyperlink strInput, , True
GetUserAddress = True
Exit_GetUserAddress:
Exit Function
Error_GetUserAddress:
MsgBox Err & ": " & Err.Description
GetUserAddress = False
Resume Exit_GetUserAddress
End Function
Puede llamar a esta funcin con un procedimiento como el siguiente:
Sub CallGetUserAddress()
If GetUserAddress = True Then
MsgBox "Successfully followed hyperlink."
Else
MsgBox "Could not follow hyperlink."
End If
End Sub

Pgina

337

Anda mungkin juga menyukai