系统环境:Windows 98/2000/XP,SQL Server/MSDE 2000,Office 2000/XP/2003。
下面的例子中为Windows 2000 Server,SQL Server 2000 个人版,Office 2003。
导入数据可以参照如下步骤进行:
一、准备工作
1. 在至商中创建一个帐套,例如“测试”,可以根据实际需要更改帐套名;
2. 在需要导入的基本信息中都填写1条资料,越详细越好,以便对照;
3. 准备好实际使用的基本信息数据资料,必须也是Excel格式的,否则需自行转换。
二、导出样表
1. 新建一个Excel表格,点击菜单“数据”->“导入外部数据”->“导入数据”,出现对话框“选择数据源”,选中“+新的 SQL Server 连接.odc”,点击按钮“打开”;
2. 配置“数据连接向导”:
a. 连接数据库服务器:服务器名称与SQL服务管理器中的服务器名相同,也可以简单地用“.”代替,登录凭据可以选择“使用Windows验证”,然后点击按钮“下一步”;
b. 选择数据库和表:数据库选择“测试”,选中“连接到指定表格”,数据表选择“WareInfo”,然后点击按钮“下一步”;
c. 保存数据连接文件并完成:点击完成即可。
3. 导入数据:
数据的存放位置就选择“现有工作表”;然后点击按钮“确定”。
三、添加数据
1. 将实际的数据逐列复制过来,需要注意的是,原始表格的第1行标题行不能删改,第2行必须删除,编号和商品名称不能同时相同,不能自动判断重复的编号和商品名称,必须人工排除,不能没有编号或商品名称(这样会导致转换失败);
2. 点击菜单“工具”->“宏”->“录制新宏”,然后在对话框中点击“确定”,在出现的记录工具窗口中直接点击停止的按钮;
3. 点击菜单“工具”->“宏”->“宏”,然后在对话框中点击“编辑”;
4. 在模块中插入代码(见文后附录),然后点击菜单“运行”->“运行子过程”;
5. 检查后保存退出。
四、导入至商帐套
1. 进入至商系统,删除“测试”帐套里的所有商品资料(必须);
2. 打开SQL Server程序组中的“导入和导出数据”,点击按钮“下一步”;
3. 选择数据源:数据源选择“Microsoft Excle 97-2000”,文件名选择刚才保存的Excel文件,点击“下一步”;
4. 选择目的:其它各项都保持原样,数据库需要改为“测试”,点击“下一步”;
5. 指定表复制或查询:选择“从源数据库复制表和视图”,点击“下一步”;
6. 选择源表和视图:选中“源”列“WareInfo$”前面的复选框,“目的”改为“[测试].[dbo].[WareInfo]”;点击“下一步”;
7. 保存、调度和复制包:选中“立即执行”,点击“下一步”;
8. 完成:点击“完成”,开始导入数据。
9. 导入数据成功后,打开SQL企业管理器,展开“测试”帐套,找到表里的
“WareInfo”,修改第1行中的NodeSum和NodeCount为导入的商品总数。
附录:粘贴VB代码
A.商品资料:
在打开VB脚本窗口中,有一个标题为“模块1”的子窗口,在Sub Macro1()后面,
End Sub前粘贴如下代码:
For v_r = 2 To 65565
c_r = Format(v_r, "#####")
If Trim(Range("J" + c_r).Value) = "" And Trim(Range("L" + c_r).Value) = ""
Then Exit For
Range("A" + c_r).Value = v_r
Range("B" + c_r).Value = 1
Range("C" + c_r).Value = "'" + Format(v_r - 1, "00000")
Range("D" + c_r).Value = "'00000"
Range("E" + c_r).Value = "'" + Trim(Range("E" + c_r).Value)
Range("F" + c_r).Value = 1
Range("G" + c_r).Value = 0
Range("H" + c_r).Value = 0
Range("I" + c_r).Value = "'" + Trim(Range("I" + c_r).Value)
Range("J" + c_r).Value = "'" + Trim(Range("J" + c_r).Value)
Range("K" + c_r).Value = "'" + Trim(Range("K" + c_r).Value)
Range("L" + c_r).Value = "'" + Trim(Range("L" + c_r).Value)
Range("M" + c_r).Value = "'" + Trim(Range("M" + c_r).Value)
Range("N" + c_r).Value = "'" + Trim(Range("N" + c_r).Value)
Range("O" + c_r).Value = "'" + Trim(Range("O" + c_r).Value)
Range("P" + c_r).Value = "'" + Trim(Range("P" + c_r).Value)
Range("Q" + c_r).Value = "'" + Trim(Range("Q" + c_r).Value)
Range("R" + c_r).Value = "'" + Trim(Range("R" + c_r).Value)
If Range("S" + c_r).Value = 空值 Then Range("S" + c_r).Value = 0
If Range("T" + c_r).Value = 空值 Then Range("T" + c_r).Value = 0
Range("U" + c_r).Value = "'" + Trim(Range("U" + c_r).Value)
Range("V" + c_r).Value = "FALSE"
If Range("W" + c_r).Value = 空值 Then Range("W" + c_r).Value = 0
Range("X" + c_r).Value = "'" + Trim(Range("X" + c_r).Value)
If Range("Y" + c_r).Value = 空值 Then Range("Y" + c_r).Value = 0
If Range("Z" + c_r).Value = 空值 Then Range("Z" + c_r).Value = 0
Range("AA" + c_r).Value = "'" + Trim(Range("AA" + c_r).Value)
Range("AB" + c_r).Value = "'" + Trim(Range("AB" + c_r).Value)
If Range("AC" + c_r).Value = 空值 Then Range("AC" + c_r).Value = 0
If Range("AD" + c_r).Value = 空值 Then Range("AD" + c_r).Value = 0
If Range("AE" + c_r).Value = 空值 Then Range("AE" + c_r).Value = 0
If Range("AF" + c_r).Value = 空值 Then Range("AF" + c_r).Value = 0
If Range("AG" + c_r).Value = 空值 Then Range("AG" + c_r).Value = 0
If Range("AH" + c_r).Value = 空值 Then Range("AH" + c_r).Value = 0
If Range("AI" + c_r).Value = 空值 Then Range("AI" + c_r).Value = 0
If Range("AJ" + c_r).Value = 空值 Then Range("AJ" + c_r).Value = 0
If Range("AK" + c_r).Value = 空值 Then Range("AK" + c_r).Value = 0
If Range("AL" + c_r).Value = 空值 Then Range("AL" + c_r).Value = 0
If Range("AM" + c_r).Value = 空值 Then Range("AM" + c_r).Value = 0
Range("AN" + c_r).Value = v_r - 1
Next
B.客户资料:
For v_r = 2 To 65565
c_r = Format(v_r, "#####")
If Trim(Range("H" + c_r).Value) = "" And Trim(Range("J" + c_r).Value) = "" Then Exit For
Range("A" + c_r).Value = v_r
Range("B" + c_r).Value = 1
Range("C" + c_r).Value = "'" + Format(v_r - 1, "00000")
Range("D" + c_r).Value = "'00000"
Range("E" + c_r).Value = 1
Range("F" + c_r).Value = 0
Range("G" + c_r).Value = 0
Range("H" + c_r).Value = "'" + Trim(Range("H" + c_r).Value)
Range("I" + c_r).Value = "'" + Trim(Range("I" + c_r).Value)
Range("J" + c_r).Value = "'" + Trim(Range("J" + c_r).Value)
Range("K" + c_r).Value = "'" + Trim(Range("K" + c_r).Value)
Range("L" + c_r).Value = "'" + Trim(Range("L" + c_r).Value)
Range("M" + c_r).Value = "'" + Trim(Range("M" + c_r).Value)
Range("N" + c_r).Value = "'" + Trim(Range("N" + c_r).Value)
Range("O" + c_r).Value = "'" + Trim(Range("O" + c_r).Value)
Range("P" + c_r).Value = "'" + Trim(Range("P" + c_r).Value)
Range("Q" + c_r).Value = "'" + Trim(Range("Q" + c_r).Value)
Range("R" + c_r).Value = "'" + Trim(Range("R" + c_r).Value)
Range("S" + c_r).Value = 0
Range("T" + c_r).Value = "'" + Trim(Range("T" + c_r).Value)
Range("U" + c_r).Value = "'" + Trim(Range("U" + c_r).Value)
Range("V" + c_r).Value = "'" + Trim(Range("V" + c_r).Value)
If Range("W" + c_r).Value = 空值 Then Range("W" + c_r).Value = 0
Range("X" + c_r).Value = "'" + Trim(Range("X" + c_r).Value)
If Range("Y" + c_r).Value = 空值 Then Range("Y" + c_r).Value = 0
If Range("Z" + c_r).Value = 空值 Then Range("Z" + c_r).Value = 0
If Range("AA" + c_r).Value = 空值 Then Range("AA" + c_r).Value = 0
If Range("AB" + c_r).Value = 空值 Then Range("AB" + c_r).Value = 0
If Range("AC" + c_r).Value = 空值 Then Range("AC" + c_r).Value = 0
If Range("AD" + c_r).Value = 空值 Then Range("AD" + c_r).Value = 0
If Range("AE" + c_r).Value = 空值 Then Range("AE" + c_r).Value = 0
If Range("AF" + c_r).Value = 空值 Then Range("AF" + c_r).Value = 0
If Range("AG" + c_r).Value = 空值 Then Range("AG" + c_r).Value = 0
If Range("AH" + c_r).Value = 空值 Then Range("AH" + c_r).Value = 0
If Range("AI" + c_r).Value = 空值 Then Range("AI" + c_r).Value = 0
Range("AJ" + c_r).Value = v_r - 1
If Range("AK" + c_r).Value = 空值 Then Range("AK" + c_r).Value = 0
If Range("AL" + c_r).Value = 空值 Then Range("AL" + c_r).Value = 0
If Range("AM" + c_r).Value = 空值 Then Range("AM" + c_r).Value = 0
If Range("AN" + c_r).Value = 空值 Then Range("AN" + c_r).Value = 0
If Range("AO" + c_r).Value = 空值 Then Range("AO" + c_r).Value = 0
If Range("AP" + c_r).Value = 空值 Then Range("AP" + c_r).Value = 0
If Range("AQ" + c_r).Value = 空值 Then Range("AQ" + c_r).Value = 0
Next
[ 本帖最后由 meihua 于 2007-12-16 17:49 编辑 ] |