質問: ms access 2007、文字を検索して改行に置き換えます access 2007では、文字(「〜」など)を新しい行に置き換えるにはどうすればよいですか。 [置換]ボックスをalt + 010で使用しようとしましたが、改行として受け入れられません。助言がありますか?
回答: これがあなたが望むことをするはずの簡単なvba関数です。データベース内の新しいコードモジュールにドロップし、必要に応じて微調整してから実行します。明らかに、データベースでテストせずにこれが完全に安全であることを保証することはできないので、これを試す前に本当に良いバックアップを作成してください!そして、私は関数を一般化するための努力をしていません。与えられた要件に合わせて調整するだけです。これは、フィールドidとdataがtable1だけで、idがpkでdata変更したいメモフィールドです。ローカルのテーブル名とフィールド名を考慮して、以下のコードを調整する必要があります(これらの行にコメントを付けました)。function searchreplace() dim db as dao.database, rs as dao.recordset, ssql as string, sdata as string 'get the record set we wish to modify set db = currentdb ssql = "select * from table1" '[replace table name] set rs = db.openrecordset(ssql) 'iterate through each record while not rs.eof 'check for the matching sub string in the field "data" sdata = rs![data] '[replace target field] if instr(1, sdata, "~~") then 'modify the data string, replacing "~~" with a line break sdata = replace(sdata, "~~", vbcrlf) 'escape any ' characters to avoid errors and/or injection sdata = replace(sdata, "'", "''") 'update the table with the modified string' ssql = "update table1" & _ '[replace table name] " set data='" & sdata & "'" & _ '[replace target field] " where [id] = " & rs![id] '[replace pk field] db.execute ssql end if rs.movenext wend 'destroy record set to be tidy rs.close set rs = nothing end function