按鍵精靈製做Excel表格導入access數據的腳本

最近接到任務要錄入數據到數據庫中,是將Execl表格中的數據導入到ACCESS數據文件中,對於技術人員,怎麼可能會甘心複製粘貼,湊巧前段時間一直在研究按鍵精靈(主要是遊戲太累手了),突然眼前一亮,呵呵,幾百條的數據我根本不慌。sql

我也是一邊寫邏輯,一邊學習寫法,跨語言學習,你們懂得。數據庫

代碼:下面有講解

這裏貼上代碼函數

// access 數據文件
Ret = Plugin.Access.Connect(".mdb後綴的文件", "123456")
MessageBox ret // 提示是否鏈接到數據庫中

// 要打開的excel文件
//Call Plugin.Office.OpenXls("Excel文件地址,")

price1 = ""

For i = 2 To 63 Step 1
price1 = ""

縱列1        = Plugin.Office.ReadXls(1, i, 1)
縱列2        = Plugin.Office.ReadXls(1, i, 2)
縱列3        = Plugin.Office.ReadXls(1, i, 3)
縱列4        = Plugin.Office.ReadXls(1, i, 4)
縱列5        = Plugin.Office.ReadXls(1, i, 5)

//輸出循環 (縱列1)

處理貨幣 (估價)

table = "表名"
field = "`字段1`, `字段2`, `字段3`, `字段4`, `字段5`"
value = "'" & Trim(縱列1)  & "', '" & Trim(縱列2) & "', '" & Trim(縱列3) & "', '" & Trim(縱列4) & "', '" & Trim(縱列5) & "'"

sql = " insert into " & table & " (" & field & ") values (" & value & ")"
Ret = Plugin.Access.Query( sql )

SayString sql
KeyPress "Enter", 1
SayString i
KeyPress "Enter", 1
SayString Ret
KeyPress "Enter", 3


Delay 300

Next
MessageBox "程序結束!"

/**
 * 輸出循環 查看輸出信息
 *
 *
 */
Function 輸出循環(name)

SayString name
KeyPress "Enter", 1
Delay 300

End Function

/**
 * 貨幣函數
 *    函數主要功能是  千位分組,公司金額要求千位有一個逗號 而後金額有區間用 - 隔開 若是無價之寶 就用無價之寶文字代替
 *    函數中用到遞歸處理方式
 */
Function 處理貨幣(price)
    If price = "無價之寶" Then
        price1 = price
    Else
        strIs = InStr(price, "-")
        If strIs > 0 Then 
//            rstrIs = InStrRev(price, "-")
//            lfStr = Left(price, strIs-1)
//            lrStr = Right(price, rstrIs-1)
// 註釋這塊計算金額類型時有必定問題 截取100,000 字樣時 返回00,000 因此換成下面這個方式
            L = Len(price)
            lfStr = Left(price, strIs-1)
            lrStr = Right(price, L-strIs)
    


            lfprice = 處理貨幣(lfStr)
            lfprice = 處理貨幣(lrStr)

            price1 = lfStr & "-" & lrStr
        Else 
            length = Len(price)
            If length > 3 Then 
                // 截取左邊剩下的部分
                lstr = Left(price, length - 3)
                rstr = "," + Right(price, 3)

                // 返回值
                處理貨幣(lstr)

                price1 = price1 + rstr
            Else 
                price1 = price
            End If
        End If
    End If
End Function

講解:

第一步:鏈接 *.mdb 文件

Ret = Plugin.Access.Connect("文件路徑", "密碼")
MessageBox Ret    這個地方提示-1表示鏈接上文件,這個語言真是特別正常都是1表示鏈接上,但這是-1才能鏈接

這個密碼要特殊說明一下,若是文件沒有密碼就隨便打下,由於按鍵精靈這個我也不是特別明白,明明沒有密碼,可是不輸入鏈接不上文件。學習

第二步:獲取Excel文件數據

Call Plugin.Office.OpenXls("文件路徑")

這個是調用按鍵精靈的內部函數 用call這個方法調用,不懂去查官方說明。excel

定義 price1 全局變量code

進入循環部分,循環部分是Excel表格中一共有多少行,我是從第二行開始的,第一行爲描述,遞歸

Plugin.Office.ReadXls 這個功能不懂自行按鍵精靈官方查詢

進入循環初始化price1變量,for從第二行開始 到63行結束步長爲1, 步長的意思就是跟 ++,加多少就寫幾,處理貨幣,是由於貨幣有特殊說明,要進行千位分組,而且有的物品是文字描述,有的物品仍是區間模式。下面講解,繼續文本流,函數塊後續補上,而後進行表名選擇,字段,值添加,最好要按照sql標準去寫,而後最後在執行按鍵精靈時,打開一個txt文檔,把相關信息打印到裏面,打印sql語句,執行到第幾條i, 是否插入成功Ret(這個值爲-1才表示插入成功) 每次執行延時300毫秒,循環完畢程序結束。遊戲

函數塊講解:文檔

處理貨幣:首先判斷是不是文字信息,判斷完畢,不是進入價格處理,判斷是不是區間金額,以 - 表示分隔符,若是存在-進入區間判斷,而後截取-前面和後面的金額,而後遞歸進行千位分組,由於按鍵精靈中不存在返回值return這種函數,因此採用所有變量形式處理。

最後在重要提示一次,不要在語句後面加分號,會報錯誤信息,寫分號是個好習慣,可是請尊重語言的力量。

相關文章
相關標籤/搜索