Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


9836 / 9994 ←次へ | 前へ→

【3294】Re:文字の検索
回答  こもれび  - 04/8/22(日) 11:24 -

引用なし
パスワード
   お待たせしました 

次のソースコードは次の条件で作成されています。

フォーム上に1個のテキストボックスと1個のコマンドボタンを配していますが、
ソースコードの改変により、複数のテキストボックスと1個のコマンドボタン
というフォームにも対応します。
禁則文字は何文字でも対応します。


○ フォームのソースコード

---- その1 フォームで共通で使用する変数の宣言 ----

Option Compare Database
  Dim Detdata As Byte 

---- その2 コマンドボタンのイベントプロシージャ ----

Private Sub CmdOutput_Click()
  
  If Detdata > 0 Then
   If Detdata And 1 Then
    MsgBox "禁則文字があります", vbOKOnly + vbExclamation, "禁則検査"
   End If
  
  Else
   MsgBox "禁則文字はありませんでした", , "禁則検査"
  
  End If
  Detdata = 0

End Sub

---- その3 テキストボックスのイベントプロシージャ ----

Private Sub TxtStr_AfterUpdate()
  
  Dim StrDetData As Boolean

  StrDetData = KinsokuDet(Me!txtstr.Value)
   
   Select Case StrDetData
    Case True
     Detdata = Detdata Or 1
    Case False
    
   End Select

End Sub

---- その4 標準モジュールに作成する関数 ----

Public Function KinsokuDet(KensaStr) As Boolean
  
  Dim i As Integer
  Dim j As Integer
  Dim h1 As String
  Dim KensaData As String
  Dim SQL01 As String
  Dim cn As New ADODB.Connection
  Dim rs As New ADODB.Recordset

  Set cn = CurrentProject.Connection

  SQL01 = "SELECT * FROM T_KINSOKU;"
  rs.Open SQL01, cn, adOpenKeyset, adLockReadOnly
  KinsokuDet = False
  KensaData = KensaStr
  KensaData = Trim(KensaData)

  i = Len(KensaData)
  j = 1
  Do Until j > i
   h1 = Mid(KensaData, j, 1)
   rs.MoveFirst
   Do Until rs.EOF
    If h1 = rs!Data Then
     KinsokuDet = True
    End If
    rs.MoveNext
   Loop
   j = j + 1
  Loop
  
  rs.Close: Set rs = Nothing
  cn.Close: Set cn = Nothing

End Function


---- 禁則文字テーブル 「T_KINSOKU」----

id  data
1   !
2   @
3   #
4   $
5   %
・  ・
・  ・
・  ・

273 hits

【3277】文字の検索 べる 04/8/19(木) 12:23 質問
【3282】Re:文字の検索 こもれび 04/8/19(木) 19:06 発言
【3283】Re:文字の検索 べる 04/8/19(木) 19:47 質問
【3294】Re:文字の検索 こもれび 04/8/22(日) 11:24 回答
【3295】Re:文字の検索 こもれび 04/8/22(日) 18:27 回答
【3296】Re:文字の検索 こもれび 04/8/22(日) 19:08 回答
【3335】Re:文字の検索 べる 04/8/26(木) 12:28 お礼

9836 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078325
(SS)C-BOARD v3.8 is Free