- ベストアンサー
一つのテーブルの全てのフィールドを一気に半角にする方法
テーブル1に フィールド1、フィールド2、フィールド3・・・と多数のフィールドがあり、 全ての全角文字を半角にしたいのですが 更新クエリで UPDATE テーブル1 SET テーブル1.フィールド1 = StrConv([テーブル1]![フィールド1],8); UPDATE テーブル2 SET テーブル2.フィールド2 = StrConv([テーブル2]![フィールド2],8); とフィールドつづやってくしかないですかね? もっと効率のいい方法があれば教えてください! よろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
SET には複数の式をカンマで区切って記述できます。 なので update テーブル1 set テーブル1.フィールド1 = StrConv([テーブル1]![フィールド1],8), テーブル1.フィールド2 = StrConv([テーブル1]![フィールド2],8), テーブル1.フィールド3 = StrConv([テーブル1]![フィールド3],8) ; です。 (結局、全フィールド記述ですね)
その他の回答 (1)
- mitarashi
- ベストアンサー率59% (574/965)
別件でADOXについて調べていたので、試しにやってみました。当方Access2000です。 Sub testx() myConvNarrow ("Table5") End Sub Private Sub myConvNarrow(myTableName As String) Dim CAT As Object, CLM As Object DoCmd.SetWarnings False Set CAT = CreateObject("ADOX.Catalog") CAT.ActiveConnection = CurrentProject.Connection For Each CLM In CAT.Tables(myTableName).columns DoCmd.RunSQL "UPDATE " & myTableName & " SET " & CLM.Name & "= StrConv(" & CLM.Name & ",8);" Next CLM DoCmd.SetWarnings False End Sub
お礼
お返事遅くなってすいません! すごい!テーブル名を変えるだけでうまくいきました。 ADOXを勉強してみたいと思います。 ありがとうございます。
お礼
一個一個やるよりこっちの方が楽ですね。 ありがとうございます。