A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
<顧客名簿>
ID___顧客名________住所
1____鈴木 一郎____東京都〇
2____中村 太郎____大阪府枚方¶市
3____山田 次郎____兵庫県
このような顧客名簿があるとします。
そこで、イミディエイトウインドウで化け文字があるか否かを SQL文で判定してみます。
[イミディエイトウインドウ]
? DBSelect("SELECT Exist_ShapeCharacter(住所, '〇¶') FROM 顧客名簿")
-1;
-1;
0
つまり、1番目と2番目のレコードに存在することが判ります。
次に、化け文字があるレコードのみに限定し、その列情報の全てを表示してみます。
? DBSelect("SELECT * FROM 顧客名簿 WHERE Exist_ShapeCharacter(住所, '〇¶')=-1")
1;鈴木 一郎;1;東京都〇;
2;中村 太郎;1;大阪府枚方¶市;
一体、どのような化け字があるのかが問題ですが・・・。
が、このように複数の化け文字が存在するのか否かをチェックする関数を利用すれば幾つかは確実に引っかかるでしょう。
なお、クエリでは、このように簡単にSQL文をテストできません。
そこで、このようにイミディエイトウインドウでSQL文をテストされた方が手っ取り早いと思います。
そうして、試されずみの SQL文をクエリにコピペするのが簡単。
もちろん、DBSelect()、 Exist_ShapeCharacter() の類は標準モジュールに用意する必要があります。
Public Function Exist_ShapeCharacter(ByVal TEXT As String, ByVal Shapes As String) As Boolean
Dim I As Integer
Dim L As Integer
Dim M As Integer
L = Len(Shapes)
M = Len(TEXT)
For I = 1 To L
If M <> Len(Replace(TEXT, Mid(Shapes, I, 1), "")) Then
Exist_ShapeCharacter = True
Exit For
End If
Next I
End Function
Public Function DBSelect(ByVal strQuerySQL As String, _
Optional ByVal strSeparator As String = ";") As String
On Error GoTo Err_DBSelect
Dim I As Integer
Dim J As Integer
Dim R As Integer
Dim C As Integer
Dim M As Integer
Dim N As Integer
Dim rst As ADODB.Recordset
Dim fld As ADODB.Field
Dim Datas As String
Set rst = New ADODB.Recordset
' =================
' Begin With: rst
' -----------------
With rst
.Open strQuerySQL, _
CurrentProject.Connection, _
adOpenStatic, _
adLockReadOnly
If Not .BOF Then
M = .RecordCount - 1
N = .Fields.Count - 1
.MoveFirst
For R = 0 To M
For C = 0 To N
Datas = Datas & .Fields(C) & strSeparator
Next C
Datas = Datas & vbCrLf
.MoveNext
Next R
End If
End With
' ---------------
' End With: rst
' ===============
Exit_DBSelect:
DBSelect = Left(Datas, Len(Datas) + (Len(Datas) > 0))
Exit Function
Err_DBSelect:
MsgBox "SELECT 文の実行時にエラーが発生しました。(DBSelect)" & Chr$(13) & Chr$(13) & _
"・Err.Description=" & Err.Description & Chr$(13) & _
"・SQL Text=" & strQuerySQL, _
vbExclamation, " 関数エラーメッセージ"
Resume Exit_DBSelect
End Function
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Access(アクセス) Accessクエリで年月フィールドを年のみで抽出する方法について 2 2022/08/29 18:10
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- Excel(エクセル) Excelの数式についての質問 1 2022/10/31 15:50
- CAD・DTP 「機能ブロック図」の描画用フリーソフトを教えてください 1 2022/09/23 16:12
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Word(ワード) 大文字のQの上に点を付けるワードの操作方法 4 2023/08/09 09:39
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別のDBからテーブルをコピーす...
-
ACCESS で マクロの中でフィ...
-
Access VBAでクエリーのレコー...
-
Access 縦(行)のデータを横(列)...
-
Access IF文でテーブルに存在し...
-
Access フォームのデータがテー...
-
データベースの1要素に複数デー...
-
ACCESSで重複したデータがある...
-
ADOでレコードを閉じるタイミン...
-
Access2002でレポート(納品書)...
-
Access2000 単票フォーム上の...
-
Excel 2019 のピボットテーブル...
-
エクセルVBAで5行目からオート...
-
Accessでテーブルの値をテキス...
-
Access テキスト型に対する指定...
-
「直需」の意味を教えてください
-
エクセルグラフの凡例スペース
-
ACCESSに同時アクセス(編集)を...
-
Accessでテーブル名やクエリ名...
-
ACCESSのクエリで集計で、先頭...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access IF文でテーブルに存在し...
-
Access VBAでクエリーのレコー...
-
データベースの1要素に複数デー...
-
ワードでの単純作業の効率化に...
-
ACCESS2003 Aアクロバットを介...
-
Access フォームのデータがテー...
-
ワードで保存するファイル名の...
-
Accessデータベースで行と列を...
-
Access 既に開いているフォー...
-
ACCESS で マクロの中でフィ...
-
Accessで名寄せグループの関係...
-
顧客IDを入力すると顧客名や住...
-
ADOでレコードを閉じるタイミン...
-
文字化け、記号の含まれるフィ...
-
Access クロス集計クエリについて
-
Access 縦(行)のデータを横(列)...
-
シングルクォーテーションとダ...
-
テーブル1 2 3 の結合
-
Access レコードロックについて...
-
Accessフォームからのデータ登...
おすすめ情報