2

MS Accessには、プロジェクトに使用されるSQLを格納するフィールドがあります。sqlフィールドは、「リッチテキスト」プロパティが有効になっているメモフィールドです。つまり、以下のコードは

CREATE TABLE NR_TMP_1_104 AS
     SELECT DISTINCT tmp.otherid
                    ,tmp.groupno
       FROM NR_tmp_1_900 tmp
           ,NR_TMP_1_103 vp
      WHERE tmp.otherid = vp.otherid;



      SELECT groupno, COUNT(otherid) Counts
      FROM NR_TMP_1_104
      GROUP BY groupno;

     SELECT otherid, actualvpchoice FROM NR_TMP_2_102

本当に下のように見えます(この巨大なチャンクでごめんなさい)。つまり、docmd.transfertextを実行できないということです。通常の外観のテキストを取得する唯一の方法は、コピーして貼り付けることです。

このフィールドをテキストファイルにエクスポートして、拡張子.sqlを付けて保存できるようにする必要があります。

これが私がこれまでに持っているものです))))

Forms!freports!sql.SetFocus
DoCmd.RunCommand acCmdCopy

テキストファイルを開き、クリップボードにあるものを貼り付けて、.sqlとして保存するにはどうすればよいですか。

どうもありがとうございます

"<div>&nbsp;</div>

<div><font size=3 color=blue style=""BACKGROUND-COLOR:#FFFFFF"">CREATE</font><font
size=3 color=black style=""BACKGROUND-COLOR:#FFFFFF""> </font><font size=3
color=blue style=""BACKGROUND-COLOR:#FFFFFF"">TABLE</font><font size=3
color=black style=""BACKGROUND-COLOR:#FFFFFF""> </font><font size=3 color=olive
style=""BACKGROUND-COLOR:#FFFFFF"">NR_TMP_1_104</font><font size=3 color=black
style=""BACKGROUND-COLOR:#FFFFFF""> </font><font size=3 color=blue
style=""BACKGROUND-COLOR:#FFFFFF"">AS</font></div>

<div><font size=3 color=black style=""BACKGROUND-COLOR:#FFFFFF"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font
size=3 color=blue style=""BACKGROUND-COLOR:#FFFFFF"">SELECT</font><font size=3
color=black style=""BACKGROUND-COLOR:#FFFFFF""> </font><font size=3 color=blue
style=""BACKGROUND-COLOR:#FFFFFF"">DISTINCT</font><font size=3 color=black
style=""BACKGROUND-COLOR:#FFFFFF""> tmp</font><font size=3 color=blue
style=""BACKGROUND-COLOR:#FFFFFF"">.</font><font size=3 color=black
style=""BACKGROUND-COLOR:#FFFFFF"">otherid</font></div>

<div><font size=3 color=black style=""BACKGROUND-COLOR:#FFFFFF"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font
size=3 color=blue style=""BACKGROUND-COLOR:#FFFFFF"">,</font><font size=3
color=black style=""BACKGROUND-COLOR:#FFFFFF"">tmp</font><font size=3 color=blue
style=""BACKGROUND-COLOR:#FFFFFF"">.</font><font size=3 color=black
style=""BACKGROUND-COLOR:#FFFFFF"">groupno</font></div>

<div><font size=3 color=black style=""BACKGROUND-COLOR:#FFFFFF"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font
size=3 color=blue style=""BACKGROUND-COLOR:#FFFFFF"">FROM</font><font size=3
color=black style=""BACKGROUND-COLOR:#FFFFFF""> NR_tmp_1_900 tmp</font></div>

<div><font size=3 color=black style=""BACKGROUND-COLOR:#FFFFFF"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font
size=3 color=blue style=""BACKGROUND-COLOR:#FFFFFF"">,</font><font size=3
color=olive style=""BACKGROUND-COLOR:#FFFFFF"">NR_TMP_1_103</font><font size=3
color=black style=""BACKGROUND-COLOR:#FFFFFF""> vp</font></div>

<div><font size=3 color=black style=""BACKGROUND-COLOR:#FFFFFF"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font
size=3 color=blue style=""BACKGROUND-COLOR:#FFFFFF"">WHERE</font><font size=3
color=black style=""BACKGROUND-COLOR:#FFFFFF""> tmp</font><font size=3
color=blue style=""BACKGROUND-COLOR:#FFFFFF"">.</font><font size=3 color=black
style=""BACKGROUND-COLOR:#FFFFFF"">otherid </font><font size=3 color=blue
style=""BACKGROUND-COLOR:#FFFFFF"">=</font><font size=3 color=black
style=""BACKGROUND-COLOR:#FFFFFF""> vp</font><font size=3 color=blue
style=""BACKGROUND-COLOR:#FFFFFF"">.</font><font size=3 color=black
style=""BACKGROUND-COLOR:#FFFFFF"">otherid</font><font size=3 color=blue
style=""BACKGROUND-COLOR:#FFFFFF"">;</font></div>

<div><font size=3 color=black style=""BACKGROUND-COLOR:#FFFFFF"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></div>

<div><font size=3 color=black style=""BACKGROUND-COLOR:#FFFFFF"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></div>

<div><font size=3 color=black style=""BACKGROUND-COLOR:#FFFFFF"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></div>

<div><font size=3 color=black style=""BACKGROUND-COLOR:#FFFFFF"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font
size=3 color=blue style=""BACKGROUND-COLOR:#FFFFFF"">SELECT</font><font size=3
color=black style=""BACKGROUND-COLOR:#FFFFFF""> groupno</font><font size=3
color=blue style=""BACKGROUND-COLOR:#FFFFFF"">,</font><font size=3 color=black
style=""BACKGROUND-COLOR:#FFFFFF""> </font><font size=3 color=blue
style=""BACKGROUND-COLOR:#FFFFFF"">COUNT(</font><font size=3 color=black
style=""BACKGROUND-COLOR:#FFFFFF"">otherid</font><font size=3 color=blue
style=""BACKGROUND-COLOR:#FFFFFF"">)</font><font size=3 color=black
style=""BACKGROUND-COLOR:#FFFFFF""> Counts</font></div>

<div><font size=3 color=black style=""BACKGROUND-COLOR:#FFFFFF"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font
size=3 color=blue style=""BACKGROUND-COLOR:#FFFFFF"">FROM</font><font size=3
color=black style=""BACKGROUND-COLOR:#FFFFFF""> </font><font size=3 color=olive
style=""BACKGROUND-COLOR:#FFFFFF"">NR_TMP_1_104</font></div>

<div><font size=3 color=black style=""BACKGROUND-COLOR:#FFFFFF"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font
size=3 color=blue style=""BACKGROUND-COLOR:#FFFFFF"">GROUP</font><font size=3
color=black style=""BACKGROUND-COLOR:#FFFFFF""> </font><font size=3 color=blue
style=""BACKGROUND-COLOR:#FFFFFF"">BY</font><font size=3 color=black
style=""BACKGROUND-COLOR:#FFFFFF""> groupno</font><font size=3 color=blue
style=""BACKGROUND-COLOR:#FFFFFF"">;</font></div>

<div><font size=3 color=black style=""BACKGROUND-COLOR:#FFFFFF"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></div>

<div><font size=3 color=black style=""BACKGROUND-COLOR:#FFFFFF"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font
size=3 color=blue style=""BACKGROUND-COLOR:#FFFFFF"">SELECT</font><font size=3
color=black style=""BACKGROUND-COLOR:#FFFFFF""> otherid</font><font size=3
color=blue style=""BACKGROUND-COLOR:#FFFFFF"">,</font><font size=3 color=black
style=""BACKGROUND-COLOR:#FFFFFF""> actualvpchoice </font><font size=3
color=blue style=""BACKGROUND-COLOR:#FFFFFF"">FROM</font><font size=3
color=black style=""BACKGROUND-COLOR:#FFFFFF""> NR_TMP_2_102</font></div>"
4

2 に答える 2

2

この関数を使用してPlainText()、メモフィールドのリッチテキストからプレーンテキストだけを取得できます。イミディエイトウィンドウの例を次に示します。

? DLookup("memo_field", "tblFoo", "id=1")
<div>a <strong>b </strong>c</div>

? PlainText(DLookup("memo_field", "tblFoo", "id=1"))
a b c

プレーンテキストを取得したら、ファイルに書き込むためにメモ帳を経由する必要はありません。VBAファイル関数を使用して直接、またはScripting.FileSystemObjectメソッドを介してファイルに書き込むことができます。これが最初のアプローチの例です。(Forms!freports!sqlリッチテキストが含まれていると思います。)

Dim FileNum As Integer
FileNum = FreeFile()
Open "C:\SomeFolder\your.sql" For Output As #FileNum
Write #FileNum, PlainText(Forms!freports!sql)
Close #FileNum
于 2012-08-21T05:13:30.063 に答える
1

参考までに、誰かがそれを必要とする場合。HansUpのコードは正常に機能し、参照を使用しません(以下のコードには、MS Forms参照が必要です)。全体として、はるかに優れたコーディング例です。

ただし、引用符を削除する必要がある場合は、これを行う1つの方法があります。

Dim objFSO
Dim objFile
Dim ClipboardText

Me.sql.SetFocus
DoCmd.RunCommand acCmdCopy


Dim DataObj As New MSForms.DataObject

 DataObj.GetFromClipboard
 ClipboardText = DataObj.GetText



Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("C:\mysql.sql", 2, True)
objFile.WriteLine ClipboardText
objFile.Close
于 2012-08-21T06:40:28.333 に答える