【问题标题】:INSERTING data from Excel VBA macros to a SQL SVR 2008 DB将 Excel VBA 宏中的数据插入 SQL SVR 2008 DB
【发布时间】:2013-12-18 00:57:32
【问题描述】:

我在 Excel 中使用 VBA 宏将单元格中的数据插入 SQL Server 2008 数据库。

我已按顺序将数据放入单元格中,例如1,2,3,4,5...等

当 VBA 代码将上述数字插入到数据库中的列中时..这些数字没有排序,它们看起来像这样 2,3,1,4,5..

这样排列数据有什么原因吗?文本和数字都会发生这种情况。

这是我的一些代码;


Dim val1 As String, val2 As String, val3 As String, val4 As String

val1 = Range("B142").Value
val2 = Range("C142").Value
val3 = Range("D142").Value
val4 = Range("E142").Value

conn.Open sConnString

Dim item4 As String
item4 = "INSERT INTO [IndustrialComp].[dbo].[Network]("
item4 = item4 & "  [server_name],[network_name],[license],[version]"

item4 = item4 & "  )Values("
item4 = item4 & "  '" & val1 & "', '" & val2 & "', '" & val3 & "','" & val4 & "')"

'row 2

Dim val5 As String, val6 As String, val7 As String, val8 As String

val5 = Range("B143").Value
val6 = Range("C143").Value
val7 = Range("D143").Value
val8 = Range("E143").Value

Dim item5 As String
item5 = "INSERT INTO [IndustrialComp].[dbo].[Network]("
item5 = item5 & "  [server_name],[network_name],[license],[version]"

item5 = item5 & "  )Values("
item5 = item5 & "  '" & val5 & "', '" & val6 & "', '" & val7 & "','" & val8 & "')"

【问题讨论】:

    标签: sql sql-server-2008 excel vba


    【解决方案1】:

    数据库本身并不是按照添加事物的顺序排列的。相反,它们具有可用于定义不同顺序的键。

    如果您希望它们以特定顺序出现,例如按照添加的顺序,您必须添加一列来保存行号,或者您想要排序的任何内容。

    如果您希望自动添加排序顺序列,您可以使用IDENTITY 列:

    CREATE TABLE Network(
    -- This column will be filled in automatically starting with 1
        ix int identity primary key, 
        -- These are your other columns.
        [server_name] nvarchar(50),
        [network_name] nvarchar(50),
        [license] nvarchar(50),
        [version] nvarchar(50)
    )
    

    ix 是索引的缩写,通常用于标识列。如果更有意义,您可以使用id。) 那么,在读取数据的时候,记得使用ORDER BY ix

    【讨论】:

    • 您好,感谢您的回复。该表已在 SQL Server 中创建。因此,我是否需要将自己引回到数据库上的初始创建/值?
    • @user3013325 该表只能按表中的内容排序。如果要按添加行的顺序进行排序,则必须将添加行的顺序作为列。如何做到这一点取决于您。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多