ACC97: Cómo crear campos de hipervínculo en formularios ASP

Seleccione idioma Seleccione idioma
Id. de artículo: 166413 - Ver los productos a los que se aplica este artículo
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Expandir todo | Contraer todo

En esta página

Resumen

Avanzado: Requiere codificación experto, interoperabilidad, conocimientos y multiusuario.

Este artículo describe el comportamiento de los campos de hipervínculo en formularios ASP que cree en Microsoft Access 97.

Tres problemas principales que pueden surgir cuando exporta un formulario de Microsoft Access 97 con un campo hipervínculo a formato ASP son los siguientes:

  • Cuando introduce un localizador uniforme de recursos válido (URL) en el hipervínculo campo en un formulario de ASP, no permite crear un hipervínculo válido en la tabla de Microsoft Access.
  • Los campos de hipervínculo en formularios ASP no están live. En otras palabras, no sucede nada al hacer clic en el hipervínculo.
  • Los campos de hipervínculo de formularios ASP, muestran el hipervínculo como texto separado por signos de número (#).
En este artículo primero se describen las causas de este comportamiento; a continuación, proporciona un ejemplo que funciona alrededor de los tres problemas.

Nota: Este artículo contiene información acerca de cómo modificar los archivos ASP. Se supone que está familiarizado con Active Server, Visual Basic Scripting y editar archivos HTML. Los profesionales de soporte técnico de Microsoft Access no admiten la modificación de los archivos HTML, HTX, IDC o ASP.

Más información

Especificar una dirección URL válida en el formulario ASP no crea un hipervínculo válido

Si escribe datos de hipervínculo en el formulario ASP mediante la sintaxis correcta para MostrarTexto, dirección y subdirección, a continuación, Microsoft Access almacena los datos como un hipervínculo válido en la tabla de Microsoft Access, por ejemplo:
Page#http://www.microsoft.com# principal de Microsoft
Sin embargo, los usuarios que estén familiarizados con escribir datos de hipervínculo en Microsoft Access se se acostumbrados a escribir direcciones URL en el formato:
http://www.Microsoft.com

-o bien -

www.Microsoft.com
A continuación, Microsoft Access analizará los datos y crea el campo de hipervínculo correcto. En el ejemplo en la sección "Un ejemplo que funciona en todos los tres problemas", se crea VB Script con el formulario ASP que comprueba qué los tipos de usuario y agrega los signos de número y http:// si es necesario crear un hipervínculo válido en la tabla de Microsoft Access.

Campos de hipervínculo en formularios ASP no están Live

Este comportamiento se produce porque los formularios ASP que cree con Microsoft Access 97 utilizan el control de diseño HTML para mostrar cuadros de texto. Debe escribir VB Script para obtener un explorador Web para seguir hipervínculos se muestran en los cuadros de texto; Microsoft Access 97 no se diseñó para crear VB Script que esta funcionalidad se consigue cuando crea formularios ASP. El ejemplo de la sección "Un ejemplo que funciona en todos los tres problemas" le guía en la creación de VB Script para analizar la URL real de las partes del campo hipervínculo y, a continuación, establecer la propiedad window.location.href a esta dirección URL en el evento MouseUp del cuadro de texto contiene el hipervínculo.

Campos de hipervínculo de texto de presentación de formularios ASP separado con signos de números (#)

En Microsoft Access 97, todos los campos de hipervínculo constan de tres partes distintas separadas por signos de número: MostrarTexto, dirección y subdirección. El MostrarTexto es lo que ve en la tabla o formulario en la base de datos; la información de dirección y Subdirección indica a Microsoft Access lo que desea ver cuando haga clic en el hipervínculo. Por ejemplo, el hipervínculo siguiente utiliza las partes primera y segunda del campo de hipervínculo:
Page#http://www.microsoft.com# principal de Microsoft
Este hipervínculo muestra el texto "Microsoft Home Page" en una tabla de Microsoft Access 97 o un formulario y allí abre http://www.microsoft.com, al hacer clic en el vínculo. En el ejemplo siguiente se utiliza sólo una de las partes del campo hipervínculo:
#http://www.Microsoft.com/accessdev#
En este caso, la tabla de Microsoft Access 97 o el formulario muestra de http://www.microsoft.com/accessdev forma predeterminada porque no hay ninguna parte de MostrarTexto específico del campo de hipervínculo; también abre http://www.microsoft.com/accessdev al hacer clic en el vínculo.

Abre un formulario ASP en la muestra de explorador Web en las tres partes la información de hipervínculo que se almacena en la tabla, incluidos signos de números. El ejemplo de la sección "Un ejemplo que funciona en todos los tres problemas" muestra cómo escribir VB Script que hace que el Explorador de Web para mostrar sólo la MostrarTexto, o para mostrar la dirección y Subdirección si no hay ningún MostrarTexto. VB Script comprueba si un signo de número (#) es el primer carácter del valor del campo. Si es así, a continuación, la dirección y Subdirección analizar y mostrar en el formulario ASP. Si no, a continuación, se analiza y se muestra el textopresentación.

Un ejemplo que funcione en todos los problemas de tres

  1. Inicie Microsoft Access 97 y abra la base de datos de ejemplo Neptuno.mdb.
  2. Exportar el formulario proveedores al formato ASP en una carpeta en el servidor Web donde tenga permiso de ejecución. Este paso crea dos archivos: Suppliers.asp y Suppliersalx.asp.
  3. Utilice el Bloc de notas u otro editor de texto para abrir el archivo Suppliersalx.asp y realice los cambios que se describen a continuación.

Modificación # 1: Guardar un hipervínculo válido en la tabla de Microsoft Access 97

En la parte superior del archivo Suppliersalx.asp, verá el siguiente código:
   Function GetCtrlQueryString()
      Dim szRet
      Dim i
      for i = 1 to cMaxCtrls
         if rgszCtrls(i, 1) = "" Then Exit For
         szRet = szRet & rgszCtrls(i, 2) & "=" & _
         MakeHTMLValue(Suppliersalx.Controls(rgszCtrls(i, 1)).Value) & "&"
      next
      GetCtrlQueryString = szRet
   End Function
				


Modificar esta función para aspecto de la función debajo. El código comprueba si son signos de número en el texto que se introduce en el cuadro de texto de hipervínculo. Si no se especifican signos de número, la función concatena signos antes y después del texto. El código también comprueba para ver si se especifica http:// y agrega al principio de la dirección URL si es necesario.

Nota: Si se especifican los signos de número, el código no comprueba para ver si se introduce http:// . Esto permite un usuario especificar explícitamente una dirección URL que por ejemplo, puede señalar a un objeto de Office, que es una dirección URL válida en Microsoft Access 97.

   Function GetCtrlQueryString()
      Dim szRet
      Dim i
      Dim HomePageValue
      Dim PoundLoc
      for i = 1 to cMaxCtrls
      if rgszCtrls(i, 1) = "" Then Exit For
         if rgszCtrls(i,2)="HomePage" then
            HomePageValue = Suppliersalx.Controls(rgszCtrls(i, 1)).Value
            PoundLoc = instr(HomePageValue,"#")
            if poundloc = 0 then 'NO # SIGNS WERE ENTERED.
               'CHECK IF HTTP:// WAS ENTERED. IF NOT, CONCATENATE IT.
               if instr(HomePageValue,"http://") = 0 then
                  HomePageValue = "http://" & HomePageValue
               end if
               'CONCATENATE # SIGNS BEFORE AND AFTER THE INTERNET ADDRESS
               HomePageValue = "#" & HomePageValue & "#"
            else
               'CHECK IF ONLY ONE # WAS ENTERED. IF SO, POP UP A MESSAGE.
               if poundloc+InStr(StrReverse(HomePageValue),"#") = _
                  len(HomePageValue)+1 then
               msgbox "Hyperlinks should have two # signs."
            end if
         end if
         szRet = szRet & rgszCtrls(i, 2) & "=" & _
         MakeHTMLValue(HomePageValue) & "&"
      else
         szRet = szRet & rgszCtrls(i, 2) & "=" & _
         MakeHTMLValue(Suppliersalx.Controls(rgszCtrls(i, 1)).Value) & "&"
      end if
      next
      GetCtrlQueryString = szRet
   End Function
				

Modificación nº 2: Crear el hipervínculo Live

Más abajo en el archivo Suppliersalx.asp, tras el último procedimiento Sub pero antes del--> </script> etiqueta, agregue el código siguiente. Este código analiza la parte de la dirección del campo de hipervínculo y lo guarda en una variable. El procedimiento Sub de HomePage_MouseUp se ejecuta cuando se hace clic en el cuadro de texto de hipervínculo y hace que el Explorador de Web para desplazarse a la dirección URL guarda en la variable AddrPart.
   <%If Not IsNull(rs.Fields("HomePage").Value) Then%>
      'SAVE THE ADDRESS PORTION OF THE HYPERLINK IN A VARIABLE IN CASE
      'MODIFICATION 3 WAS IMPLEMENTED AND THE HOMEPAGE TEXT BOX ONLY
      'DISPLAYS THE DISPLAYTEXT PORTION OF THE HYPERLINK
      Dim AddrPart
      AddrPart = "<%=rs.Fields("HomePage").Value%>"
      AddrPart = Right(AddrPart,Len(AddrPart)-InStr(AddrPart, "#"))
   <%End If%>

   Sub HomePage_MouseUp(Button, Shift, X, Y)
      window.location.href = AddrPart
   End Sub
				

Modificación nº 3: Mostrar el MostrarTexto o la dirección y Subdirección

En el archivo Suppliersalx.asp, busque la etiqueta <object> para el cuadro de texto PáginaPrincipal. Será bajo el último procedimiento Sub que escribió. Busque el siguiente código que establece la propiedad Value para el cuadro de texto:
   <%If Not IsNull(rs.Fields("HomePage").Value) Then%>
   <PARAM NAME="Value"
   VALUE="<%=Server.HTMLEncode(rs.Fields("HomePage").Value)%>">
   <%End If%>
				
modifique el código para coincidir con el siguiente código. Este código hace que el cuadro de texto en el control de diseño HTML mostrar la parte MostrarTexto del hipervínculo si no hay MostrarTexto. Se mostrará la parte de dirección y Subdirección de hipervínculo si no hay ningún MostrarTexto:
   <%If Not IsNull(rs.Fields("HomePage").Value) Then%>
   <PARAM NAME="Value" VALUE="<%
   Dim GetPart
   GetPart = rs.Fields("HomePage").Value
   If left(GetPart, 1) = "#" then
      'THERE IS NO DISPLAYTEXT, SO DISPLAY THE ADDRESS AND SUBADDRESS
      GetPart = Mid(GetPart,2)
   Else
      If instr(GetPart, "#") = 0 then
         'THERE ARE NO # SIGNS, SO DISPLAY EVERYTHING
         GetPart=GetPart
      Else
         'DISPLAYTEXT IS EVERYTHING TO THE LEFT OF THE FIRST # SIGN
         GetPart = Left(GetPart,InStr(GetPart, "#")-1)
      End If
   End If
   Response.Write Server.HTMLEncode(GetPart)
   %>">
   <%End If%>
				
guardar y cerrar el archivo Suppliersalx.asp.

Probar el formulario ASP

  1. Inicie Microsoft Internet Explorer 3.0.
  2. Escriba la dirección URL en el cuadro Dirección del explorador Web para ver Suppliers.asp. Por ejemplo, si guardó los archivos ASP en una carpeta denominada Test en la carpeta wwwroot de su servidor Web, escriba:
    http://<servername>/Test/Suppliers.ASP
    Tenga en cuenta que la dirección URL depende de que los archivos están ubicados en el servidor Web y es necesario que Internet Explorer 3.0 con el control de diseño HTML para ver formularios exportados a ASP.
  3. El formulario Suppliers.asp se abre en su explorador Web con un cuadro de texto que muestra las direcciones de Internet PáginaPrincipal para distintas empresas. Observe que algunos de los hipervínculos punto a documentos de Office y no son direcciones de Internet válida. 6 De IdProveedor, Mayumi, contiene una válida de Internet dirección. Si se mueve a ese registro y haga clic en el PáginaPrincipal cuadro de texto, Internet Explorer mueve automáticamente a esa página principal.

    Tenga en cuenta que si desea introducir una nueva dirección URL, debe haga clic en un cuadro de texto diferente en el formulario y, a continuación, presione TAB hasta llegar al cuadro de texto PáginaPrincipal. Esto evita siguiendo el hipervínculo, que es lo que ocurre si hace clic directamente en el campo. Una vez que el puntero está en el cuadro de texto PáginaPrincipal podrá escribir en direcciones URL como http://www.microsoft.com o www.microsoft.com . Puede escribir también explícitamente el signo de número (#) que Microsoft Access necesita, pero si escribe sólo un signo de número (#), aparece un cuadro de mensaje le avisa de que los hipervínculos de Microsoft Access requieren dos signos de números (#).

Referencias

Para obtener más información sobre las partes de un campo hipervínculo, busque el índice ayuda "hipervínculos,." devolver información del hipervínculo

Para obtener más información sobre cómo exportar archivos ASP, buscar la Ayuda índice para "Archivos ASP" o pregunte al Ayudante de Office de Microsoft Access 97.

Para información sobre cómo utilizar campos de hipervínculo con consultas o tablas que se exportan a ASP, consulte en contacto con el siguiente artículo en Microsoft Knowledge Base:
163706Hipervínculos de la presentación de archivos ASP como texto en el explorador Web

Propiedades

Id. de artículo: 166413 - Última revisión: miércoles, 12 de febrero de 2014 - Versión: 3.3
La información de este artículo se refiere a:
  • Microsoft Access 97 Standard Edition
Palabras clave: 
kbnosurvey kbarchive kbmt kbhowto kbinterop kbprogramming KB166413 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 166413

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com