Tag: logging集

ADO结果集将字段返回为字段长度

我从SQL Server(2008 R2)存储过程中生成一个logging集,该过程在Excel VBA中填充ComboBox 。 如果我运行一个查询来获得从表中返回的每个值的长度,它看起来像这样: SELECT [outcome], LEN([outcome]) AS [Length] FROM [dbo].[crl_outcome] GROUP BY [outcome] 在执行存储过程时,我将logging集分配给一个variables数组,例如: varList = oRS.GetRows() MsgBox Len(varList(1, 0)) MsgBox返回表中长度为21个字符的SQL语句中显示的字段,长度为128个字符,其余空格组成剩余的107个字符。 正如你所看到的,这个值没有格式化,但表中的字段被指定为nchar(128) 。 有谁知道为什么每个结果都有空格附加在他们的结尾?

COUNTIFS有两个名字…工作,除非我复制粘贴数据

我已经为Excel中的工作表创build了一个规则来为两列着色,除非它在另一个工作表上匹配。 我们正在使用这个用户的loggingpipe理。 基本上我们想在sheet2上粘贴一个名字列表,它告诉我们是否在sheet1上。 我们正在使用Excel 2010,我目前有这个为我的公式(ColumnA = LastName,ColumnB =名字): = COUNTIFS(Sheet1!$ A $ 11:$ A $ 200,A1,Sheet1!$ B $ 11:$ B $ 200,B1)= 0 踢球者是它的作品为最后的结果,当我粘贴名单的名单,但它会正常工作,当我手动input的名称,应该是没有突出显示。 任何想法如何我可以改变公式,所以这不会发生?

loggingExcel触发的事件

我正在寻找一种方法来logging一个Excel文件的所有触发事件。 我想要使​​用它的文件很大(大约160张),并且在工作簿和不同的工作表上有多个事件过程。 因此,在每个Event子项中添加一些代码是不可选的,因为子项数量很大 。 有谁知道一个工具或VBA的伎俩能够logging这些? logging所有过程调用也是一个选项。

ADODB – 为什么我的logging集是只读的?

在Excel中,我使用ADODB连接来构build一个logging集,从其工作簿中的工作表中获取数据,如下所示: Public Sub test() Dim cnn As New ADODB.Connection Dim rst As New ADODB.Recordset Dim strSQL As String Dim k As Variant cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _ "Data Source=" & ThisWorkbook.Path & "\" & ThisWorkbook.Name & ";" & _ "Extended Properties=""Excel 12.0;HDR=No;IMEX=1;Readonly=False"";" strSQL = "SELECT F1 FROM [Workbench$];" rst.Open strSQL, cnn, adOpenStatic, adLockOptimistic rst.MoveFirst While Not […]

在Delphi 6中如何在运行时将字段添加到ADO Recordset?

我有一个关于ADOlogging集的简单问题。 我有两个_RecordSetfunction,我比较他们的差异。 代码如下。 function TPT101_ANAF.DataSetKarsilastir(Eski: _Recordset; Yeni: _Recordset) :_Recordset; var varBookMark:OleVariant; begin Eski.MoveFirst; Yeni.MoveFirst; while not Yeni.EOF do begin Eski.Find('SİCİL = '''+Yeni.Fields['SİCİL'].Value+'''',0, adSearchForward, adBookmarkFirst); If (Eski.BOF = True) OR (Eski.EOF = True) Then begin PT101FDM.EXCELSET.Append; **/* i want to add differences to EXCELSET (From Yeni RecordSet) /* but the disconnected ADODataset error raising.** PT101FDM.EXCELSET.Insert; end; […]

使用空logging集在VBA中循环访问ADO字段集合

我有一个ADOlogging集,不返回行(这是预期的),但我的手表面板显示一个有效的字段集合,列名称,我想要存储/捕获。 但是,使用类似的代码 x = rs.Fields(idx) 返回错误“3021”:BOF或EOF为真。 请求的操作需要当前logging。 我的问题是,是否可以阅读Fields集合(注意我可以在手表面板中看到的内容看起来是正确的,我想要抓住什么),如果不是,那么解释为什么“陷阱” ? 非常感谢迈克

不能更新EXCEL VBA中的ADOlogging集

我创build一个使用Excel范围作为数据源的logging集。 代码是 Sub Hello() Dim xlXML As Object Dim adoRecordset As Object Dim rng As Range Set rng = Range("A1:C6") Set adoRecordset = CreateObject("ADODB.Recordset") Set xlXML = CreateObject("MSXML2.DOMDocument") xlXML.LoadXML rng.Value(xlRangeValueMSPersistXML) adoRecordset.CursorLocation = 3 adoRecordset.Open xlXML, CursorType:=2, LockType:=3 adoRecordset.Movefirst adoRecordset.Fields(1) = 1000 'this is the error line adoRecordset.Update Set adoRecordset = Nothing Set xlXML = Nothing […]

使用CopyFromRecordSet时修剪空格

我有一个电子表格,我正在尝试优化。 我必须从列中获取每个值,然后从SQL服务器获取3个“相应”值,就像之前完成的那样,每个列值导致1个SQL查找,所以只需要更新单个表,调用了75.000个sql请求。 (7.5小时) 然后,我重写了它,只做一个SQL调用,并获取整个表到“本地”logging集,并比较每个列值与logging集,并写入相应的列(50分钟) 为了进一步改进,我创build了一个本地logging集 Set rs = New ADODB.Recordset With rs.Fields .Append "registreringsnr", adChar, 50 .Append "security_type", adChar, 50 .Append "security_group", adChar, 128 End With 将每个列值与SQL的logging集进行比较,然后将值添加到我的“rs”logging集中,当我完成时,我执行: CopyFromRecordSet rs 问题是rs中的字段长度是固定的,所以如果“registreringsnr”是2个字符,那么它会附加48个空格。 有没有办法删除空白,而不必循环通过3列25,000单元格,并删除WhiteSpaces?

使用Recordset修改Excel数据透视表并刷新:例外

我在这里处于我的智慧的边缘,并且失去了一整天的时间去做一些不应该那么复杂的事情。 我有一个从Sybase查询返回的logging集。 此logging集用于在Excel中生成数据透视表。 到现在为止还挺好。 我想要更改数据透视表中的值并这样做我使用新值来更新logging集中的某些logging。 我可以在没有任何问题的情况下在RS中进行更新,并在下次迭代时将值保存在RS中。 问题是这些值不会反映在数据透视表中。 我努力了: pivotTable.Refresh(); COMException:PivotTable类的RefreshTable方法失败 pivotTable.PivotCache().Refresh(); ComException:从HRESULTexception:0x800A03EC pivotTable.Update(); 没有例外,但是这些更改不会反映在数据透视表中 我也尝试克隆logging集,并创build一个全新的数据透视表,但虽然Recordset有数据, PivotCache.RecordCount为0 码: var app = ExcelAppHelper.GetExcelApp(); if (app.ActiveCell == null || app.ActiveCell.PivotTable == null) return; PivotTable pivotTable = app.ActiveCell.PivotTable; var rs = (Recordset)pivotTable.PivotCache().Recordset; rs.MoveFirst(); s_lastSelectedPivotTree = new PivotFilterTree(); RecalculateSelectedValues(vmMain); while (!rs.EOF) { if (s_lastSelectedPivotTree.Contains(rs.Fields)) { foreach (var dataFieldName in s_lastSelectedDataFields) […]

使用Excel作为日志阅读器。 如果Excel打开它,如何写入日志文件?

我已经进入了一个位置,所有现有的预定应用程序都将其日志写入.CSV文件,以便人们可以在Excel中打开它们。 当有人打开日志文件并将其保持打开状态时,就会出现问题。 应用程序然后不能写入他们的日志,并通过规则,他们死亡。 所以选项是: 以某种方式让用户以非专有的方式在Excel中打开文件; 不pipe用户的粗鲁程度如何,都能够写入日志; 写一个更友好,更温和的日志阅读器(不,公司运行在Excel和.csv文件,他们不会改变); ??????? 还是我错过了一个完全无脑的方式来处理这个问题? 大多数的应用程序目前是VBScript,但我已经设法将其中的许多转换为C#控制台应用程序,所以这两种风格的答案都是受欢迎的。