Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 将字段值复制到文本文件并另存为.sql_Vba_Ms Access_Vbscript - Fatal编程技术网

Vba 将字段值复制到文本文件并另存为.sql

Vba 将字段值复制到文本文件并另存为.sql,vba,ms-access,vbscript,Vba,Ms Access,Vbscript,在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.otheri

在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扩展名保存它

以下是我到目前为止的情况

如何打开文本文件,粘贴剪贴板上的内容并将其另存为.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>"
”
创建表NR_TMP_1_104作为
选择DISTINCT tmp.otherid
,tmp.groupno
来自NR_tmp_1_900 tmp
,NR_TMP_1_103 vp
其中tmp.otherid=vp.otherid;
选择groupno,COUNT(otherid)Counts
来自NR_TMP_1_104
分组编号;
从NR_TMP_2_102中选择otherid、actualvpchoice

您可以使用
纯文本()
函数仅从备注字段的富文本中获取纯文本。下面是即时窗口中的一个示例

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

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

仅供参考,如果有人需要的话。HansUp的代码运行良好,不使用任何引用(下面的代码需要MS Forms引用),总体来说是一个更好的编码示例

然而,如果有人需要删除引号,那么这里有一种方法

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

您是想将其保存为可编程的,还是只想以编程方式打开记事本、粘贴并另存为.sql。但我想完全按照你说的做,打开记事本,粘贴并另存为sql,而不是从access导出。我就知道你要讲这个主题。)你太棒了,你在vba和vbs方面的知识太棒了。你的耐心也是如此。我真的很感激你帮我做的一切。非常感谢。小问题。文件中的sql用引号括起来。这没什么大不了的,但这会破坏notepad++中的格式。你知道它为什么这么做吗?嗯。也许在你写
明文(Forms!freports!sql)
的时候把它们去掉?如果开头是一个双引号,结尾是另一个双引号
strTemp=纯文本(Forms!freports!sql)
然后写入
Mid(strTemp,2,Len(strTemp)-2)
。。。从我的头顶上掉下来。不,它隐藏在某种程度上。引号不会显示在msgbox或debug.print中,但会写入文件。所以我还是要用剪贴板。你的解决方案仍然引导我走上正确的道路,所以我坚持我所说的一切
Dim FileNum As Integer
FileNum = FreeFile()
Open "C:\SomeFolder\your.sql" For Output As #FileNum
Write #FileNum, PlainText(Forms!freports!sql)
Close #FileNum
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