
アクセスでテーブル内の全セルに入っている改行コードを削除したいのですが、ネット上を検索しても中々解決に至らないので質問させてください。
例えば【http://q.hatena.ne.jp/1156520575】の様なスクリプトは様々な物が検索にヒットするのですが、このコードをVBエディターの標準モジュールに入力した後、どのように実行すればいいのでしょうか。
エクセルであれば分かるのですがアクセスは初めてまだ1ヶ月足らずのため、なかなか理解できません。
クエリを使う方法【http://www.accessclub.jp/bbs3/0038/superbeg15657 …】も参考にしたのですが、この方法は対象とするフィールドが少なければ実効に成功しましたが、私の扱っているテーブル(40以上のフィールドが存在し2万行近いデータがある)では検索結果に何もヒットせず実行できませんでした。
この他にもいろいろな方法を検索し検証してみましたが、やはり解決には至りませんでした。
上記の方法の補足をお願いしたいのですが、他によい方法があれば教えて頂きたいです。
理想はテキストエディタの様に置換で解決できれば簡単で良いのですが^^;どうも無理のようです・・・
環境は
ACCESSバージョン:ACCESS 2002(10.2627.2625)
Windowsバージョン:WindowsXP Proffessional Version2002 Service Pack 2
よろしくお願いいたします。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
ADO,DAO を全く知らなければ、No1さんの回答では辛いでしょうから
比較的、簡単な方法で。
(1)フォーム、新規作成で、元になるテーブルを選択し
オートフォーム:表形式でフォームを作成します。
使い捨てですから、デザインは気にせずに。
(2)デザインビューにして
フォームフッターまたはフォームヘッダーに
ラベルを追加(コマンドボタンのように使いますが、
(フォーカスの関係でラベルにするのがポイントです。)
表示する文字は何でも良い。
(3)ラベルのクリック時のイベントプロシージャに
-------------------------------------------------------------
Private Sub ラベル1_Click()
Dim fld As String
Dim pos As Long
Do While True
DoCmd.FindRecord Chr(13) & Chr(10), acAnywhere, False, , False, acAll, False
If Me.ActiveControl.Name = fld And Me.Recordset.AbsolutePosition = pos Then
Exit Do
Else
Me.ActiveControl = Replace(Me.ActiveControl, vbNewLine, "")
fld = Me.ActiveControl.Name
pos = Me.Recordset.AbsolutePosition
End If
Loop
MsgBox "終了しました"
End Sub
--------------------------------------------------------------
のように。
Private Sub ラベル1_Click()
の「ラベル1」の部分は実際のラベルの名前で。
(4)一応、保存してから、フォームを開き、
1行目の左端のフィールドにカーソルがある状態で
ラベルをクリック。
クリックしても、ボタンと違って見た目は無反応ですが
正常にできれば、終了メッセージが表示されます。

No.3
- 回答日時:
あーすいませんbugありました。
・・英語でテストしてたもので日本語にすると文字化けします。
ac = Asc(Mid(st, i, 1))の部分を
ac = AscW(Mid(st, i, 1)) に変更してください。
どうぞ宜しく!!

No.2
- 回答日時:
一例ですが変換関数を書いてみました参考にどうぞ。
Public Function mozihennkann(mozi As String) As String
'Sub test()
Dim st As String
Dim ac As String
Dim bc As String
Dim i As Integer
For i = 1 To 1000
st = CStr(mozi)
ac = Asc(Mid(st, i, 1))
If ac = (ac = 13) Or (ac = 10) Then
Else
bc = bc & ChrW(ac)
End If
On Error GoTo kill:
'Debug.Print ac
Next i
kill:
'Debug.Print "結果" & bc
mozihennkann = bc
End Function
No.1
- 回答日時:
SQLを使うとか高等な方法でなく、一番小回りが効く、ADOに戻って考えれば、なんと言うこともない問題では無いでしょうか。
アクセスのモジュールに
Sub ADO001()
Dim cn As ADODB.Connection
Set cn = CurrentProject.Connection
MsgBox cn.Version
strPass = CurrentProject.Path
strname = CurrentProject.Name
MsgBox strPass & "\" & strname
Set rs = New ADODB.Recordset
rs.Open "社員2", cn
fn = rs.Fields.Count
Do Until rs.EOF
' MsgBox rs!氏名 & "-" & rs!住所 & "-" & rs!電話番号
For i = 0 To fn - 1
MsgBox Nz(rs.Fields(i))
Next
rs.MoveNext
Loop
rs.Close: Set rs = Nothing
cn.Close: Set cn = Nothing
End Sub
を張り付け
例データ テーブル名 社員2
ID氏名住所電話番号重複
1山田 三郎東京都大田区03-2345-6543a
2大島 義男東京都品川区042-2345-2345
3下田 茂仙台市青葉区0720-34-3456a
4小出 健二名古屋市緑区042-345-2345
5中田 卓福岡市北区07523-23456a
に対し実行すると、全てフィールド(フィールド数は上記例にある)はを捉えられました。
後は、Mgboxの行に
各フィールドで、削除のためのReplceを行い、Edit、Updateでレコードを更新すれば良いのでは。処理時間はかかるかも知れないが。
ーー
ADOが初耳なら
http://www.accessclub.jp/ado/
など読んでください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Visual Basic(VBA) Access VBAから使用したExcelプロセスを閉じる方法について 4 2022/06/08 17:50
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- その他(Microsoft Office) EXCEL VLOOKUPに関する質問 5 2023/02/08 11:38
- Access(アクセス) AccessVBAで任意の複数リンクテーブルをAccessVBAを動かす際に削除したいと考えておりま 1 2022/11/17 15:45
- Visual Basic(VBA) vba 等間隔の列に対しての計算 6 2022/05/17 20:15
- その他(SNS・コミュニケーションサービス) 【至急】Microsoft teamsログインできないループ・・ 3 2023/05/17 13:17
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
このQ&Aを見た人はこんなQ&Aも見ています
-
Access2003で特定列の改行コードを削除してCSVへエクスポート
Excel(エクセル)
-
Accessでの置換
Access(アクセス)
-
ACCESSでの改行コード
その他(データベース)
-
-
4
Access 改行コードに置き換え
その他(Microsoft Office)
-
5
Accessのクエリで、replace関数を使い、データの中にある”をブランクに置き換えたいのですが
Access(アクセス)
-
6
ACCESSでテーブルにあるチェックボックスを一括でYesにする方法を教えてください
Access(アクセス)
-
7
accessへエクセルの複数のシートのインポートの仕方
Access(アクセス)
-
8
Accessのデータの一部を削除する方法
その他(データベース)
-
9
Chr(13)とChr(10)の違いは?
PowerPoint(パワーポイント)
-
10
ACCESS クエリで重複データを最新の1件だけ表示
Access(アクセス)
-
11
文字列からタブコードを取り除きたい
Visual Basic(VBA)
-
12
<ACCESS>別テーブルのレコードのテキストデータが中に含まれるレコードを抽出する方法を教えてください
Access(アクセス)
-
13
Access サブフォームでの選択行の取得
その他(データベース)
-
14
Accessで、1つの項目に複数の置換えを1度でするには?
Access(アクセス)
-
15
アクセスでのインポート時の改行について
Access(アクセス)
-
16
Nullの使い方が不正です。
Visual Basic(VBA)
-
17
アクセス・テーブルの改行についてです。
Access(アクセス)
-
18
accessで項目内の文字を自動改行させたいと思っています。
その他(データベース)
-
19
ACCESSのSQLで、NULLかNULLでないかの判定
その他(データベース)
-
20
ACCESSのフォームで次のレコードに移動しない方法を教えてください
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCEL→ACCESSインポートでセル...
-
ACCESS2003でテーブルに入力し...
-
ACCESSで改行コードを削除する方法
-
ACCESSで行数を増やすには?
-
エクセルのデータをアクセスに...
-
日付型のフィールドに空白を入...
-
差込印刷での全角表示について...
-
クロス集計クエリの結果をテー...
-
2つのテーブルに共通するレコ...
-
Accessの桁区切りについ...
-
accessの日付フィールドから前...
-
Accessでの入力規則について
-
テーブルでメモ型になっている...
-
Accessのテーブルのフィールド...
-
アクセス:クエリの結合とリレ...
-
Excleピボットでデータのない部...
-
SQL文で パラメータが少なすぎ...
-
アクセスのエラー「クエリには...
-
Accessのハイパーリンクをクリ...
-
更新クエリをリンクデータベー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESSのテーブルのデータで、...
-
エクセルのデータをアクセスに...
-
EXCEL→ACCESSインポートでセル...
-
アクセスのオートナンバーが飛...
-
ACCESSで改行コードを削除する方法
-
ACCESS フォームに入力できる文...
-
ACCESSで行数を増やすには?
-
郵便番号の-(ハイフン)等をま...
-
ACCESSのカスタマーバーコード...
-
ファイルメーカーのレイアウト...
-
アクセス2000で固定長フィール...
-
Accessチェックボックス 一度で...
-
Access2000 テキストデータの...
-
ACCESS 検索置換 にデ...
-
Access2000のデータ容量に...
-
ACCESS2003でテーブルに入力し...
-
ファイルメーカーからメールソ...
-
エクセルのデータをアクセスへ...
-
空き番検索でオーバーフロー
-
excel→accessへのインポートが...
おすすめ情報