小编Fre*_*Man的帖子

授权链接服务器无效

我想将数据从1个表复制到另一个表,它们位于不同的服务器中.

我已将2台服务器设置为链接服务器.在SQL Server Management Studio中

  • 服务器对象
    • 右键单击"链接服务器",
    • 然后新建链接服务器.

我将连接服务器作为我的服务器rname SERVER2并输入为SQLSERVER.

现在我执行查询:

Insert Into Server1.Database1.dbo..Table1 (Col1, Col2) 
     Select Col1, Col2 
       From Server2.Database2..dbo.Table2
Run Code Online (Sandbox Code Playgroud)

它抛出错误信息,

链接服务器"SERVER2"的OLE DB提供程序"SQLNCLI"已返回消息"无效的授权规范".

我不知道在哪里更改授权.

t-sql sql-server sql-server-2005

12
推荐指数
1
解决办法
2万
查看次数

如何防止数据透视图成为工作表副本上的常规图表?

使用Excel 2010,我编写了一些VBA来将选定的工作表从主工作簿复制到客户端工作簿.该代码可以很好地复制具有与数据关联的数据和数据透视表的数据表,以及具有一个或多个数据透视图的图表工作表到新工作簿.

问题是在目标工作簿中,图表不再是数据透视图,它们是常规图表,其源数据范围是空白的.Master PivotChart的源数据已填写,但显示为灰色,因此无法编辑.

将工作表从一个工作簿复制到另一个工作簿(在此行XLMaster.Sheets(SlideRS.Fields(2).Value).Copy After:=XLClinic.Sheets(XLClinic.Sheets.Count):)时会立即出现此问题,但我将包含该调用的代码Subs.当它到达那些线时,图表已经被打破

问题是三部分:

  1. 我可以阻止数据透视图转换为副本中的常规图表吗?即是否有.Copy我错过的旗帜/场景?
  2. 如果没有,我可以通过某种方式再次将图表更新为数据透视图cchart.Chart.PivotLayout.PivotTable = mchart.Chart.PivotLayout.PivotTable吗?
  3. 如果失败了,那么在复制的工作表中从头开始创建数据透视图的最佳方法是什么?

笔记:

  1. 这些是标准的Excel数据透视表,我没有使用PowerPivot.不过,我对此持开放态度,如果能解决这个问题的话.刚刚对PowerPivot进行了一些阅读,我认为它不会对我有所帮助,但是,我再次接受建议.
  2. 回应Jens的评论,原始数据和数据透视位于一张纸上,而数据透视位于第二张纸上.

这是代码.除了复制具有完整数据透视图的工作表作为数据透视图之外,它的工作效果非常好.

  While Not SlideRS.EOF                                                   'loop through all the supporting data sheets for this graph sheet
    If SlideRS.Fields(1) <> SlideRS.Fields(2) Then                        'the worksheet depends on something else, copy it first
      If InStr(1, UsedSlides, SlideRS.Fields(2)) = 0 Then                 'if the depended upon slide is not in the list …
Run Code Online (Sandbox Code Playgroud)

excel vba pivot-table excel-vba

11
推荐指数
1
解决办法
1469
查看次数

对象'Font'的方法'Color'失败

我在Excel 2010 VBA代码中收到标题错误消息.我看过这个问题这个看起来相似的问题,但是这个问题似乎解决了这个问题.

我的代码解析当前工作表上的所有条件格式并将其作为文本转储到另一个(新创建的)工作表 - 最终目标是将相同的条件加载到几乎相同的工作表(因此我不能只复制基础工作表).

代码是:

Public Sub DumpExistingRules()
'portions of the code from here: http://dailydoseofexcel.com/archives/2010/04/16/listing-format-conditions/

Const RuleSheetNameSuffix As String = "-Rules"

  Dim TheWB As Workbook
  Set TheWB = ActiveWorkbook

  Dim SourceSheet As Worksheet
  Set SourceSheet = TheWB.ActiveSheet

  Dim RuleSheetName As String
  RuleSheetName = SourceSheet.Name & RuleSheetNameSuffix
  On Error Resume Next                          'if the rule sheet doesn't exist it will error, we don't care, just move on
  Application.DisplayAlerts = False
  TheWB.Worksheets(RuleSheetName).Delete
  Application.DisplayAlerts …
Run Code Online (Sandbox Code Playgroud)

excel fonts vba excel-vba

9
推荐指数
1
解决办法
860
查看次数

Application.DecimalSeparator 问题

我的地区使用“,”作为小数点分隔符。当我在 Excel 2013 中运行以下代码以导入使用“.”的数字时。作为小数点分隔符,我没有收到任何错误。

Dim strGetResult As String
strGetResult = httpObject.responseText
strGetResult = Replace(strGetResult, ".", Application.DecimalSeparator)
Run Code Online (Sandbox Code Playgroud)

但是,当我在 Excel 2010 中尝试同样使用“,”作为小数分隔符的代码时,我没有得到相同的结果。调试显示 Application.DecimalSeparator = "." 这是没有意义的,因为在 Excel 中输入数字时带有“,”分隔符。

知道为什么会这样吗?

excel vba

5
推荐指数
2
解决办法
6137
查看次数

插入 Access 从 Access VBA 中的 Excel 中选择

我有一个 Access 2010 数据库,其中所有表都链接到 SQL Server 2014 表。我有一个 Excel 2010 (.xlsx) 文件(尽管它以 .csv 开头,我可以保留这种方式),我需要通过 VBA 代码将其导入到 SQL Server 表中。我知道有导入工具可以执行此操作,但是,我每月有 20 多个 XLS 文件需要导入,并且更希望有一种自动化方法来执行此操作。

我的所有 VBA 代码都驻留在 Access 数据库中,并且我能够找到的所有 VBA 代码示例都是用于从 Excel推送数据(即代码位于 Excel 中)而不是提取数据(即代码在Access中) 。

我更愿意用一个来完成INSERT INTO AccessTable SELECT FROM ExcelRange查询来完成此操作,而不是逐行读取 Excel,并且我需要在插入 Excel 数据之前对其进行一些转换。

到目前为止我所拥有的:

Private Sub TransferData(ByVal Company As String, ByVal Address As String, ByVal XLName As String)

Dim Con As ADODB.Connection
Dim SQLString As String

  SQLString = "INSERT INTO SatSurvey " & _ …
Run Code Online (Sandbox Code Playgroud)

ms-access vba ms-access-2010 excel-2010

5
推荐指数
1
解决办法
7658
查看次数

我可以将整数项添加到VBA Dictionary byRef

在VBA中创建一个字典,我遇到了一些我很好奇的东西.

当我将Outlook Calendar Item对象添加到字典时ByRef,但当我添加一个灰色的Integer时,它就是ByVal.

我的两个问题是:

  1. 是否可以添加暗淡的整数ByRef
  2. 为什么这两个项目的添加方式不同(我知道一个是对象,一个是基类型,需要更多细节)?

我看了一下:Objects ByRef的VB字典,但它只讨论了对象的情况而不是整数的情况.

以下代码显示了发生的情况:

Sub checkbyref()

    Dim gCal As Items
    Dim dict As New Scripting.Dictionary
    Set dict = New Scripting.Dictionary
    Dim intCheck As Integer

    intCheck = 5
    Set gCal = GetFolderPath("\\GoogleSync\GoogleSyncCal").Items 'gets caledar items based on path

    strMeetingStart = "01/5/2019 12:00 AM"
    strGSearch = "[Start] >= '" & strMeetingStart & "'"

    gCal.Sort "[Start]"
    Set gCal = gCal.Restrict(strGSearch)

    Debug.Print intCheck 'prints "5"
    Debug.Print gCal(1).Start 'prints 1/7/2019 9:30:00 …
Run Code Online (Sandbox Code Playgroud)

outlook vba dictionary outlook-vba

4
推荐指数
1
解决办法
130
查看次数

循环使用自定义对象项的字典

我敢肯定我错过了房间里那只巨大的大象,但我一直在弄错.我正在创建一个名为的公共字典,Prompts并在下面的子字母中填充自定义类对象.

Public Sub SetPromptControls()
Dim PromptsRange As Range
Dim PromptRow As Range

Set PromptsRange = Range("LookUpTablePrompts")
Dim NewPrompt As clsPrompt
For Each PromptRow In PromptsRange.Rows
    Set NewPrompt = New clsPrompt
    NewPrompt.Name = PromptRow.Cells(1, 1)
    NewPrompt.ControlType = PromptRow.Cells(1, 2)
    NewPrompt.ComboboxValues = PromptRow.Cells(1, 3)
    NewPrompt.HelpText = PromptRow.Cells(1, 4)
    NewPrompt.TabIndex = PromptRow.Cells(1, 5)
    NewPrompt.ColumnIndex = PromptRow.Cells(1, 6)
    NewPrompt.TableIndex = PromptRow.Cells(1, 7)
    NewPrompt.ControlName = PromptRow.Cells(1, 8)


    Me.Prompts.Add NewPrompt.ControlName, NewPrompt
Next
End Sub
Run Code Online (Sandbox Code Playgroud)

现在,我正在尝试遍历我刚刚在同一个类中的下一个sub中创建的字典.问题是每个循环都会给我一些对象错误

Public Sub SetProductPromptMapping()
Dim ProductPromptMappingRange As Range
Dim SKURange …
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba

0
推荐指数
1
解决办法
374
查看次数

Call a function from sub in vba

I wrote this function, which is supposed to take the user defined cell from a chosen range and add or multiply its value by an user defined number. The output should be an array with one changed cell.

I was able to compile it; however, I cannot call it.

I tried to replicate what this and this but it failed.

Function Macro1(cellref As Range, row_number As Long, column_number As Long, x As Double, method As Integer) As Variant
'Number, which …
Run Code Online (Sandbox Code Playgroud)

excel vba function

0
推荐指数
1
解决办法
113
查看次数