General |
6.187 Formattazione automatica della stringa di filtro/ricerca nelle proposizioni WHERE |
Bruno Campanini |
Come noto, la sintassi del secondo termine di paragone nelle proposizioni WHERE cambia a seconda che esso sia di tipo Testo, Numerido o Data/ora. L'uso della funzione che segue permette, nelle proposizioni WHERE (e quindi anche nei filtri), di unificare la sintassi usata a prescindere dal tipo dati del secondo termine di paragone. Le specifiche ed il modo di utilizzo della funzione sono contenuti nelle annotazioni poste in testa alla funzione stessa. Public Function FSR(SR As Variant) As Variant ' ' Formattazione Stringa di Ricerca. ' Bruno Campanini - 06-04-2005 ' ' ' SR può essere Data, Stringa, Numero ' Se SR è Stringa può contenere qualunque carattere, ' inclusi Chr(34) = " e Chr(39) = ' ' ' La sintassi sarà sempre ed unicamente: ' (Where) "[TableField]=" & FSR(SR) ' ' Occorre tener presente che SR potrà essere scritta ' nella sua forma normale se collocata in un campo di Form. ' Ad esempio: Trattoria "L'Isola del Tesoro" con alloggio ' ' Qualora venga passata via codice la medesima dovrà essere ' formattata raddoppiando le eventuali virgolette Chr(34) = " ' contenute nel suo interno, indi racchiusa per intero ' entro DUE virgolette. Nel rispetto della convenzione VB. ' Così sarà: "Trattoria ""L'Isola del Tesoro"" con alloggio" ' SR = Replace(SR, Chr(34), """ & Chr(34) & """) If IsDate(SR) Then SR = Chr(35) & Format(SR, "mm-dd-yy") & Chr(35) ElseIf IsNumeric(SR) Then Else SR = Chr(34) & SR & Chr(34) End If FSR = SR End FunctionVisto che la funzione di cui sopra usa la funzione intrinseca Replace, potrà essere utilizzata solo con versioni di Access successive ad Access 97. |