我正试图过滤掉我公司的Excel表单中的数据。 我需要的三个字段是FIRST_NAME , LAST_NAME和COMPANY_NAME 。 规则如下: FIRST_NAME和LAST_NAME NOT为NULL FIRST_NAME和LAST_NAME只能是字母 上面的规则是不相关的,如果COMPANY_NAME NOT NULL 所以,重申要清楚一点。客户必须拥有FIRST_NAME和LAST_NAME (他们不能缺less一个或两个),但是,如果他们有一个COMPANY_NAME他们可以没有FIRST_NAME和/或LAST_NAME 。 这里有一些示例数据,如果他们应该留在数据中: FIRST_NAME | LAST_NAME | COMPANY_NAME | Good customer? ———–|———–|————–|——————————– Alex | Goodman | AG Inc. | Yes – All are filled out John | Awesome | | Yes – First and last are fine Cindy | | Cindy Corp. […]
与MS Access有关,目前我每次打开访问accdb文件时都遇到这个错误。 它说:“你试图打开的数据库需要更新版本的MS Access”。 我完全明白,基于这一点,我必须更新它。 但问题是,每当我使用这个文件之前,一切都很好,或从未发生过。 所以如果我不得不更新,它没有任何意义。 我到目前为止的假设: 发生这种情况是因为访问和excel之间的ODBC连接中的一些错误会影响数据库。 因为我使用这个访问权限是我的Excel主数据库。 任何人都有相同的经验 你的帮助对我来说意味着很多,因为如果我不能打开这个,我必须从头开始重新编码:((备份也有相同的问题,但其他访问文件可以顺利打开) 谢谢,
我试图从SQL Server中提取数据填充到Excel 2010中。下面的代码工作正常,但困难是,我不创build一个Excel电子表格编程,它是存在的,我通过插件的数据请求在用C#编写的Excel中。 即使我将光标设置为A10单元格,Excel将开始填写第一个单元格中的数据并覆盖头(已存在)。 请帮助解决。 码: OdbcConnection cnn; cnn = new OdbcConnection(azureConn); using (OdbcCommand command = cnn.CreateCommand()) { command.CommandText = "{call sp_Get_Excel_Data(?,?,?,?,?,?,?,?)}"; command.Parameters.AddWithValue("@StartDate", startDate); command.Parameters.AddWithValue("@EndDate", endDate); command.Parameters.AddWithValue("@startTime", startTime); command.Parameters.AddWithValue("@endTime", endTime); command.Parameters.AddWithValue("@smp", smp); command.Parameters.AddWithValue("@Reg", reg); command.Parameters.AddWithValue("@event", events); command.Parameters.AddWithValue("@userId", userId); cnn.Open(); //DataTable OdbcDataAdapter adapter = new OdbcDataAdapter(command); //DataSet DataSet ds = new DataSet(); adapter.Fill(ds); //Cast to DataTable […]
我试图testing从Excel数据连接运行的查询的三个变体。 我有三个单独的数据连接和三个单独的选项卡,分别从每个连接获取数据。 连接string对于每个查询都是相同的,只有命令文本(Oracle SQL)是不同的。 Excel中有没有办法查看每个查询的执行时间? 我正在使用版本Excel 2016 MSO 16.0.4456.1003 64bit
我对VBA很新颖,并且正在学习如何在Excel中添加连接到数据库。 我目前有一个macros创build一个名为“Query1”的查询,然后查询我的数据库并返回正确的表。 我希望能够将表格输出到Excel表格后删除查询,以便我可以稍微修改条件,例如不同的date再次运行macros。 Sub Macro2() ' ' Macro2 Macro ' ActiveWorkbook.Queries.Add Name:="Query1", Formula:= _ "let" & Chr(13) & "" & Chr(10) & " Source = Odbc.Query(""dsn=Database"", ""SELECT DISTINCT c.IP_TREND_VALUE AS """"PRODUCT"""", c.IP_TREND_TIME , s.IP_TREND_TIME AS TIMES, s.IP_TREND_VALUE AS """"Wttotal""""#(lf)FROM """"Product"""" AS c , """"wtTotal"""" as s#(lf)#(lf)Where #(lf)#(tab) c.TIME Between '1-JUN-17 05:59:00' AND '2-" & _ […]
我有一个SQL Server中的视图,有点类似于下面的例子。 SELECT * FROM PEOPLE LEFT OUTER JOIN (SELECT ID FROM OTHER_TABLE WHERE SOME_FIELD = 'x' OR SOME_FIELD = 'y' OR SOME_FIELD = 'z') AS PEOPLE_TO_EXCLUDE ON PEOPLE.ID = PEOPLE_TO_EXCLUDE.ID WHERE PEOPLE_TO_EXCLUDE.ID IS null 麻烦: 我完全可以添加和修改“OR SOME_FIELD ='w'”无数次。 不过,我正在通过ODBC使用户在excel中调用这个视图。 用户需要能够根据自己的喜好来修改内部select,以匹配在当天/周/月/年/当时所限制的任何内容。 我需要这样做,让她可以轻松地限制在SOME_FIELD。 有没有人有如何做到这一点的build议? 理想情况下,我可以给她一个看法,她可以把逗号分隔的值列表,SOME_FIELD不能。 由于OTHER_TABLE中的人可能有多行,因此我不能仅限于此表。 例如,某人可能有SOME_FIELD ='x',但在SOME_FIELD ='s'的表中也有一行。 这个人应该被排除,因为他们有'x',即使他们也有''。 所以这就是为什么内部select是必要的。 谢谢你的帮助。
我正在通过从Excel中的odbc连接调用查询。 我有一个where子句,我想使用date。 这适用于datesale.saledate> = {d'2012-10-29'} 但是我也需要join时间 我试过sale.saledate> = {d'2012-10-29 3:30 PM'} 但是这不起作用。 有任何想法吗?
我每天都以文本文件格式获取日志。 在我运行记事本++macros来清理文件(垃圾行和空行/空行)/ 我导入它的访问表,从那里我出口到odbc数据库一些我怎么不知道。 进行odbc访问连接后,我使用访问odbc连接做我的sql查询,并创build一个需要的报告。 有没有办法让这个过程自动化? 从日常文本日志更新访问数据库我得到? 谢谢
我有一个无法正确格式化电子表格的客户。 我已经问了他们十次,要遵循一个明智的指导方针(就像在格式中填写正确的数据表),但是他们缺乏智慧或者专业知识或者两者兼而有之,他们不能/不会这样做。 我为电子表格设置了ODBC连接,并且除了包含产品计数或产品价格的列之外,还会提取数据。 除非我在Excel中手动将每个列的types设置为“Number”,否则在显示结果的ASP页面中,这些值将显示为空值。 是否有可能编写一个将改变数据types的SQL语句? 我不关心它,只要ADODB.Recordset将显示所有列的值,将每列转换为一个string。 码: <% Dim MM_SQLSource MM_SQLSource = "SELECT * FROM [Inventory$]" Set rsGetExcelInfo = Server.CreateObject("ADODB.Recordset") rsGetExcelInfo.ActiveConnection = MM_Excel_Connect rsGetExcelInfo.Source = MM_SQLSource rsGetExcelInfo.CursorType = 0 rsGetExcelInfo.CursorLocation = 2 rsGetExcelInfo.LockType = 1 rsGetExcelInfo.Open() %>
我有: With rs .AddNew ' create a new record ' add values to each field in the record .Fields("datapath") = dpath .Fields("analysistime") = "atime" .Fields("reporttime") = "rtime" .Fields("lastcalib") = "lcalib" .Fields("analystname") = "aname" .Fields("reportname") = "rname" .Fields("batchstate") = "bstate" .Fields("instrument") = "NA" .Update ' stores the new record End With 当我检查数据库,它看起来像它只能插入最后一个字段! 有没有人遇到过这个问题?