Identificativo articolo: 285162 - Ultima modifica: giovedì 12 ottobre 2006 - Revisione: 3.2

ACC2002: Come utilizzare filtri su server nelle pagine di accesso ai dati senza un server Web

Questo articolo è stato precedentemente pubblicato con il codice di riferimento I285162
Difficoltà media: sono richieste conoscenze di base di creazione di macro, gestione di codice e di interoperabilità.

Le informazioni contenute in questo articolo si applicano ai database di Microsoft Access (mdb) e ai progetti di Microsoft Access (adp).

Per la versione di questo articolo relativa a Microsoft Access 2000, vedere 237377  (http://support.microsoft.com/kb/237377/ ) .
Espandi tutto | Chiudi tutto

Sommario

In questo articolo viene illustrato come creare script per filtrare una pagina di accesso ai dati impostando la proprietà ServerFilter. Questo script può essere utilizzato anche se la pagina non è memorizzata su un server Web.

Informazioni

Microsoft fornisce esempi di programmazione a scopo puramente illustrativo, senza alcuna garanzia di qualsiasi tipo, sia espressa che implicita, ivi incluse, senza limitazioni, le garanzie implicite di commerciabilità o idoneità per uno scopo particolare. In questo articolo si presume che l'utente conosca il linguaggio di programmazione in questione e gli strumenti utilizzati per creare ed eseguire il debug delle procedure. Gli esperti Microsoft sono autorizzati a fornire spiegazioni in merito alla funzionalità di una particolare procedura, ma in nessun caso a modificare questi esempi per fornire funzionalità aggiuntive o a creare procedure atte a soddisfare specifiche esigenze. Se si dispone di esperienza di programmazione limitata, si consiglia di contattare un Microsoft Certified Partner o la filiale Microsoft locale per informazioni sulla consulenza tecnica. Per ulteriori informazioni in merito ai Microsoft Certified Partner, visitare la seguente pagina Web (informazioni in lingua inglese):
http://mcspreferral.microsoft.com (http://mcspreferral.microsoft.com)
Per ulteriori informazioni sulle opzioni di supporto disponibili da Microsoft, visitare la seguente pagina Web:
http://www.microsoft.com/italy/support/default.htm (http://www.microsoft.com/italy/support/default.htm)
La seguente procedura mostra come creare una pagina basata sulla tabella Clienti. Quando si apre la pagina o si fa clic sul pulsante Nuovo filtro, viene chiesto di immettere un elenco di paesi. Lo script limita quindi il numero di record restituiti in base ai paesi immessi. Per ottenere la restituzione di tutti i record, lasciare vuoto l'elenco.

ATTENZIONE: la procedura riportata in questo esempio comporta la modifica del database Northwind.mdb. È consigliabile fare una copia del file Northwind.mdb sulla quale eseguire la procedura.

  1. Aprire il database di esempio Northwind.mdb.
  2. Creare una nuova pagina in visualizzazione Struttura.
  3. Se l'elenco dei campi non è visualizzato, scegliere Elenco campi dal menu Visualizza.
  4. Dalla tabella Clienti trascinare i campi IDCliente, NomeSocietà, Città e Paese nella pagina.
  5. Aggiungere un pulsante di comando alla pagina, quindi impostare le seguenti proprietà:
       ID: cmdFilter
       Inner Text: New Filter
  6. Scegliere Macro dal menu Visualizza, quindi Microsoft Script Editor.
  7. Scegliere Inserisci blocco di script dal menu Modifica, quindi Client. I tag di script verranno inseriti come segue:
    <script language=vbscript>
    <!--
    
    -->
    </script>
  8. Nei tag di script digitare o incollare la seguente funzione:
    Function SetServerFilter()
    
       Dim strFilter, myFilter
    
       strPrmt = "What country do you want to filter by?" & vbCrLf & _
                 "Separate the list of countries by a semicolon (;)." & _
                 vbCrLf & "To return all records, leave the box empty."
    
       ' Prompt the user for list of countries that are to be returned.
       strFilter = InputBox(strPrmt)
    
       If strFilter = "" Then
          ' Clear the filter criteria when nothing is typed in the input box.
          ' All records are returned in this case.
          myFilter = ""
       Else
          ' Loop through the user's list until there is only one country left. 
          Do Until InStr(strFilter, ";") = 0
             ' Add the first country from the list to the filter criteria.
             myFilter = myFilter & "[Country] =" & Chr(39) & _
                        Left(strFilter, InStr(strFilter, ";") - 1) & _
                        Chr(39) &" OR "
             ' Remove the first country from the list.
             strFilter = Right(strFilter, Len(strFilter) - InStr(strFilter, _
                         ";") - 1)
          Loop
          ' Add the final country from the user's list to the filter criteria.
          myFilter = myFilter & "[Country] =" & Chr(39) & strFilter & Chr(39)
       End If
    
       ' Set the server filter.
       MSODSC.RecordsetDefs.Item(0).ServerFilter = myFilter
    End Function
  9. Nell'elenco Oggetto fare clic su cmdFilter e nell'elenco Evento selezionare onclick. I tag di script verranno inseriti come segue:
    <SCRIPT language=vbscript for=cmdFilter event=onclick>
    <!--
    
    -->
    </SCRIPT>
  10. Aggiungere la seguente riga di script nei tag:
    SetServerFilter
    Di seguito è riportato lo script che dovrebbe essere visualizzato:
    <SCRIPT language=vbscript for=cmdFilter event=onclick>
    <!--
    SetServerFilter
    -->
    </SCRIPT>
  11. Salvare la pagina come dapSvrFilterEx, quindi chiudere Microsoft Script Editor.
  12. Scegliere Visualizzazione Pagina dal menu Visualizza.
  13. Fare clic sul pulsante Filtra, quindi nella casella di immissione digitare Canada; Messico; USA. Scegliere OK. Dovrebbero essere restituiti circa 22 record.

Le informazioni in questo articolo si applicano a
  • Microsoft Access 2002 Standard Edition
Chiavi: 
accdap dapscripthowto kbdap kbdapscript kbdta kbhowto KB285162
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.
 

Traduzione articoli

 

Related Support Centers