Tag: sql

使用vba将参数化查询导出为ex​​cel

我想通过单击表单中的一个button将我的查询结果导出到Excel文件。 为此,我使用这个代码,它运作良好: Private Sub Command9_Click() On Error GoTo ProcError DoCmd.OutputTo _ ObjectType:=acOutputQuery, _ ObjectName:="Contract Type Billing", _ OutputFormat:=acFormatXLSX, _ Autostart:=True ExitProc: Exit Sub ProcError: Select Case Err.Number Case 2501 'User clicked on Cancel Case Else MsgBox "Error " & Err.Number & ": " & Err.Description, vbCritical, _ "Error in cmdExportQuery_Click event procedure…" End Select Resume […]

SQLselect行中的第一个值,然后将该值插入到另一列中

我不是很好,所以我不知道这是可能的。 或者,甚至在Excel中? 我正在尝试select第一个值,并忽略来自Product_ID的重复项,然后将该行的第一个值添加到Title列。 另请注意,我的产品列表超过25,000个以上。 所以拿这个: +—————+————+——-+————-+——-+ | Product_Count | Product_ID | Title | _Color_Name | _Size | +—————+————+——-+————-+——-+ | 2 | 14589 | | Black | 00 | | 3 | 14589 | | Black | 0 | | 4 | 14589 | | Black | 2 | | 5 | 14589 | | Black […]

如何查询在名称中有括号()的SQL列?

列名称如下所示:“Ab。(Cd)” 它有'。' 以及列名中的()。 我已经尝试了方括号[]围绕列名称,也尝试了“”和“”没有太大的成功。 请帮忙。 我正在使用SQL Server导入和导出向导来导入一些数据。 该查询如下所示: Select 'Trans. Z4 (St 85)' from `'Monthly Prices$'` 完整的SQL语句是: 以下是查询: Select F1, HH, AECO, Sumas, Stanfield, Malin, [PG&E], Opal, SoCal, SJ, wTX, sTX, HSC, FGTZ3, [Trans. Z4 (St 85)], Dom, [Tetco M3], 'Trans. Z6 (NY)', AGT, Dawn, Chi, Midcon from 'Monthly Prices$' Select F1, HH, AECO, Sumas, […]

VBA代码中的SQL语法

有没有一种特定的方法来把SQL指令放在VBA代码中? 我想将SQL查询放入VBA代码,但如果我这样做查询不起作用。 同样的查询工作正常,如果我把查询指令在范围(“A1”),并在代码中引用它。 有没有办法在VBA代码中build立一个查询,以便它工作正常? 特别是当我添加WHERE子句时出现问题。 Sub CreateQueryTableWithParameters() Dim qryTable As QueryTable Dim rngDestination As Range Dim strConnection As String Dim strSQL As String With Sheets("Sheet1") .Activate .Range("A:BY").Clear End With ' Define the connection string and destination range. strConnection = "ODBC;DSN=RDBWC;UID=;PWD=;DBALIAS=RDBWC;" Set rngDestination = Sheet1.Range("A1") ' Create a parameter query. strSQL = "SELECT *" strSQL = […]

Excel VBA,如何做多个数据库条目

我需要每天填充数千个条目的数据库,但是现在我的代码手动将每个条目插入到数据库中。 Do While lngSQLLoop < lngCurrentRecord lngSQLLoop = lngSQLLoop + 1 sql = "INSERT INTO db (key1, key2) VALUES ('value1', 'value2');" result = bInsertIntoDatabase(sql, True) If result = false Then lngFailed = lngFailed + 1 Loop 这个工作,但每100个条目大约需要5秒钟。 会不会有一个更有效的方式把它放入数据库? 我试过了 INSERT INTO db(key1,key2)VALUES('value1-1','value2-1'),('value1-2','value2-2'),('value1-3','value2-3') ; 但是这个失败了冒号; 错误,暗示它不喜欢这样列出的值。 有没有办法,VBA会这样做?

从Excel运行存储的过程

我正试图从Excel运行存储的过程。 我知道如何做到这一点,而不使用dynamicdate,但我需要date范围是dynamic的。 Sub TestStoredProcedure() Dim CServer As String Dim CDatabase As String Dim CLogon As String Dim CPass As String Dim StartDate As Date Dim EndDate As Date Dim TStartDate As String Dim TEndDate As String CServer = "111111" ' Your server name here CDatabase = "111111" ' Your database name here CLogon = "11111111" […]

如何将Excel的序列化的date时间导入到MySQL中

如何从Excel导入并保存date格式字段(如“8/21/2012”)到MySQL? 我正在使用MySQL Workbench和Excel MySQL Excel数据传输插件。当我select要导入到MySQL的Excel数据时,我得到一个窗口,在其中声明所有字段的variablestypes。 除date和时间字段外,所有字段和声明均按预期工作。 date和时间从8/21/2012切换到398475等数字。如何通过保留虚线mm / dd / yyyy格式将这些字段导入MySQL? 我假设同样的程序也适用于时间。 另外,有没有办法将序列化的date时间值(一个浮点数,代表自从1/1/1900以来的天数)转换回MySQL中的mm / dd / yyyy? 谢谢!

通过SQL UPDATE更新Excel数据

我想通过SQL查询来更新我的Excel工作表的数据。 我知道你可以通过ADODB.Connection连接到工作表,并从ADODB.Recordset中检索(SELECT)数据。 但是,对UPDATE查询使用相同的过程会产生“操作必须使用可更新的查询”错误。 有没有其他办法可以做到这一点? 产生错误的示例代码: Sub SQLUpdateExample() Dim con As ADODB.Connection Dim rs As ADODB.Recordset Set con = New ADODB.Connection con.Open "Driver={Microsoft Excel Driver (*.xls)};" & _ "DriverId=790;" & _ "Dbq=" & ThisWorkbook.FullName & ";" & _ "DefaultDir=" & ThisWorkbook.FullName Set rs = New ADODB.Recordset Set rs = con.Execute("UPDATE [Sheet1$] SET a = 10 WHERE […]

需要将2个语句合并为1

好吧,那么它的多空… 有在Excel中运行的2008 r2 SQL查询并驱动数据透视表/图表。 devise这个数据库的一些天才(我的意思是,因为他们可能是1000倍比我聪明)有一个重要的date列在属性中的“date”。 所以你说什么? 好的Excel不会允许数据透视表/表按月分组(即缺less它)。 没有什么在Excel中的作品,如果我格式化单元格等等…这一切都恢复刷新数据等..等等…没有什么可以解决,不能使用macros,因为我的组织不允许它。 所以我的FIX … 将'date'转换为varchar,然后从varchar转换为datetime …很好,看起来像这样: (CONVERT(varchar(10), [TestDate], 20)) as 'Date1', (CONVERT(datetime, [TestDate], 20)) as 'Date2', 现在我的问题… 任何人都可以帮助我把这两个声明合并成一个名为“date”的列吗? 现在已经很晚了,我的大脑给了我两杯咖啡…这个新手很赞赏.. 编辑:因为它是我显然结束了与'date1'和'date2'标签2列。

ADODB Excel SQL语句写入下一个可用行

我目前能够在我的VBScript中使用ADODB连接来读取和更新Excel电子表格中的数据。 这工作顺利,我知道如何操纵不同的列和不同的行与我想要的。 我的问题是,我现在需要input一行新的数据。 它如何知道在哪里放置它? 我一直在使用的代码总是给出一些参考点:例如: rs.Open "Update [links$] Set [F" & arrLocals(i) & "]= '" & arrChangeData(i) & "' Where [F2] = '" & arrFormID(j) & "'", cn, adOpenStatic, adLockOptimistic 所以根据这一点,只要你正在使用arrFormID(j)与F2列匹配工作 ,就意味着要在这一行做些什么。 但是,如果你想要一个新的行,我不知道要匹配什么?