小编hc9*_*c91的帖子

清除所有表格内容VBA的最快方法

我有一张大纸,我需要删除所有的内容.当我尝试在没有VBA的情况下简单地清除它时,它进入无响应模式.使用宏时,例如:

Sub ClearContents ()
 Application.Calculation = XlManual
 Application.ScreenUpdating = False

  Sheets("Zeroes").Cells.ClearContents

 Application.ScreenUpdating = True
End Sub
Run Code Online (Sandbox Code Playgroud)

它也没有回应.最快的方法是什么?

excel vba excel-vba

43
推荐指数
3
解决办法
31万
查看次数

SQL Server Update查询速度很慢

我对前几年的数据运行了以下查询,花了3个小时,今年花了13天.我不知道为什么会这样.任何帮助将非常感激.

我刚刚测试了旧SQL服务器中的查询,它可以在3小时内完成.因此,问题必须与我创建的新SQL服务器有关.你有任何想法可能是什么问题?

查询:

USE [ABCJan]
CREATE INDEX Link_Oct ON ABCJan2014 (Link_ref)
GO
CREATE INDEX Day_Oct ON ABCJan2014 (date_1)
GO

UPDATE   ABCJan2014
SET      ABCJan2014.link_id = LT.link_id
FROM     ABCJan2014 MT
INNER JOIN  [Central].[dbo].[LookUp_ABC_20142015] LT
ON MT.Link_ref = LT.Link_ref

UPDATE   ABCJan2014
SET      SumAvJT  = ABCJan2014.av_jt * ABCJan2014.n

UPDATE   ABCJan2014
SET      ABCJan2014.DayType = LT2.DayType
FROM     ABCJan2014 MT
INNER JOIN  [Central].[dbo].[ABC_20142015_days] LT2
ON  MT.date_1 = LT2.date1
Run Code Online (Sandbox Code Playgroud)

使用以下数据结构:

ABCJan2014(7000万行 - 没有独特的标识符 - Link_ref和date_1在一起是唯一的)

Link_ID nvarchar (17)
Link_ref    int
Date_1  smalldatetime
N       int
Av_jt       int
SumAvJT decimal(38,14) …
Run Code Online (Sandbox Code Playgroud)

sql sql-server

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

SQL创建函数

我在调用我创建的函数时遇到问题.非常感激任何的帮助.这是功能:

     CREATE FUNCTION myFunction
(
@T DECIMAL(38,14),
@R DECIMAL (38,14),
@S DECIMAL(38,14)
)
RETURNS DECIMAL(38,14)
AS
BEGIN

RETURN 

SQRT(
    ABS(
            (@T/(@R-1))-((@R/(@R-1))*(@S*@S))))
/@S

END
GO
Run Code Online (Sandbox Code Playgroud)

然后我需要在表上使用此函数.这是填写'CV'列.这需要处理以下列:

@T Decimal (38,14) as SumSqJT
@R Decimal (38,14) as "SumObs"
@S Decimal (38,14) as "AvJT"
Run Code Online (Sandbox Code Playgroud)

编辑:

这是我用过的功能

Use [Neutral Month 20132014 ALL]

SELECT 
     dbo.MyFunction(SumSqJT1, SumObs, AvJT) AS FunctionResult
FROM
     Essex_Data_1314
WHERE
     SumObs > 1
Run Code Online (Sandbox Code Playgroud)

这会创建数字列表,但是我需要更新表Essex_Data_1314中的列CV,而不仅仅是创建数字列表.我怎么做?

这已经解决了这个问题:

Use [Neutral Month 20132014 ALL]

UPDATE
    Essex_Data_1314
SET
    CV = dbo.MyFunction(SumSqJT1, SumObs1, AvJT)
Run Code Online (Sandbox Code Playgroud)

注意:将所有内容都设置为DECIMAL或NUMERIC数据类型非常重要.否则会发生转换错误.

感谢JohnnyBell的帮助.

干杯.

sql sql-server function

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

标签 统计

sql ×2

sql-server ×2

excel ×1

excel-vba ×1

function ×1

vba ×1