亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? modulemain.bas

?? 倉庫掃描管理系統
?? BAS
?? 第 1 頁 / 共 4 頁
字號:
        End If
    Next
End Sub

Public Function checkbarcodesRepeated(flxGrd As MSFlexGrid) As String
    Dim i, j, endRow As Integer
    Dim strMsg, strBarcode As String
'   給空行記數
'    Dim iCount, jCount As Integer
'    iCount = 0
    strMsg = ""
'   第一層循環,一個一個與其它所有的比較
    For i = flxGrd.FixedRows To flxGrd.rows - 1
        strBarcode = flxGrd.TextMatrix(i, 1)
'        將第i條條形碼循環與其它比較
'        將第i條條形碼循環與鄰近的3行比較
'        For j = i + 1 To flxGrd.rows - 1
        endRow = i + 3
        If endRow >= flxGrd.rows Then
            endRow = flxGrd.rows - 1
        End If
        For j = i + 1 To endRow
            ' 設置第j行為當前行
            flxGrd.row = j
            flxGrd.col = flxGrd.FixedCols
            '   如果當前行已經為紅色則不用比較了
            If j <> i Then
            '   空值不用比較,當有重復的條形碼時紅色顯示
                If strBarcode <> "" And strBarcode = flxGrd.TextMatrix(j, 1) Then
                    strMsg = strMsg + vbCrLf + "序號為 " + flxGrd.TextMatrix(j, 0) + " 的條形碼與序號為 " + flxGrd.TextMatrix(i, 0) + " 的重復!"
                    '  紅色警示顯示
                    flxGrd.CellBackColor = vbRed
                End If
            End If
        Next
    Next
    checkbarcodesRepeated = strMsg
End Function
'   將文本文件中的數據導入到數據庫中:文本文件中每行對應一條記錄,每行兩個值(以逗號分隔開);
'   第一個值表示為單據序號,第二個值表示掃描的條碼號。dataType表示數據類型:RK-表示入庫單數據;CK-表示出庫單數據
Public Function importDataFromFile(filePath As String, dataType As String) As Boolean
    importDataFromFile = False
    Dim mainTableName As String
    Dim dtlTableName As String
    mainTableName = ""
    If UCase(dataType) = "RK" Then
        mainTableName = "hpos_StockIncomeBill_Master"
        dtlTableName = "hpos_StockIncomeBill_Dtl"
    End If
    If UCase(dataType) = "CK" Then
        mainTableName = "hpos_StockOutBill_Master"
        dtlTableName = "hpos_StockOutBill_Dtl"
    End If
    
'   定義分隔符
    Dim separator As String
'   定義每行分隔符所在的位置
    Dim pos, row As Integer
    separator = ","
    Dim fs As New FileSystemObject
    Dim txtStream As TextStream
    Set txtStream = fs.OpenTextFile(filePath)
    Dim strLine, sql As String
    Dim billNo As String
    Dim billDate As Date
    billDate = Now()
'   獲取單據ID
    Dim billId As String
'    billId = CStr(getNextPK(mainTableName, "billId"))
'    billId = CStr(getNextPK(mainTableName, "billId") - 1)
    Dim lngBillId As Long
    lngBillId = getNextPK(mainTableName, "billId") - 1
    
    billNo = getNextBillNo(mainTableName, "billNo")
    Dim PrefixBillNo As String
    Dim billNoSequence As Long
    PrefixBillNo = Mid(billNo, 1, 7)
    billNoSequence = CLng(Mid(billNo, 8, 4)) - 1
    
    
    '   定義以逗號分隔開的數據變量
    Dim billSequence, billSequenceArray, lastBillSequence, barcode As String
    Dim dtlId As String
    sql = ""
    row = 0
    wrks.BeginTrans
    Do While txtStream.AtEndOfLine <> True
        row = row + 1
        strLine = txtStream.ReadLine
        pos = InStr(1, strLine, separator, vbTextCompare)
        billSequence = Trim(Mid(strLine, 1, pos - 1))
        barcode = Trim(Mid(strLine, pos + 1, Len(strLine)))
        billId = CStr(lngBillId + CLng(Mid(strLine, 1, 2)))
        billNo = PrefixBillNo + String(4 - Len(CStr(billNoSequence + CLng(Mid(strLine, 1, 2)))), "0") + CStr(billNoSequence + CLng(Mid(strLine, 1, 2)))
'       如果找不到
        If InStr(1, billSequenceArray, billSequence, vbTextCompare) = 0 Then
            billSequenceArray = billSequenceArray + billSequence
'          往主表中插入數據   注意單條SQL語句執行
            sql = " insert into " + mainTableName + "(billId, store, billDate,  billNo, handler, billType, rsvFld1, rsvFld2, rsvFld3)" _
                    & " values('" + billId + "', '" + g_store + "','" + CStr(Now) + "',  '" + billNo + "', '" + g_userName + "',0 , '', '', '" + billSequence + "');"
            g_db.Execute sql
        End If
'      往從表中插入數據   注意單條SQL語句執行
        sql = getInsertSQL(barcode, dtlTableName, billId, row)
        If Trim(sql) <> "" Then
            g_db.Execute sql
        Else
            wrks.Rollback
            MsgBox "文件格式不正確,請先檢查盤點機數據文件中的物料編碼是否已經登記!" + vbCrLf + vbCrLf + "正確的文件格式為:客戶號和條碼號組成," + vbCrLf + vbCrLf + "二者之間以逗號分隔開。", vbInformation, "提示"
            Exit Function
        End If
        
    Loop
'    g_db.Execute sql
    wrks.CommitTrans
    txtStream.Close
    If backUpFile(filePath) Then
        importDataFromFile = True
    End If
End Function
'   構造SQL語句
Public Function getInsertSQL(barcode As String, dtlTableName As String, billId As String, row As Integer) As String
    Dim rs As Recordset
    Dim productCode, sql, dtlId As String
    Dim sequenceNo As String
    sql = ""
    Set rs = g_db.OpenRecordset("SELECT MAX(CLNG(rsvFld1)) as sequenceNo from " & dtlTableName & " where billId='" + billId + "'")
    If IsNull(rs.Fields("sequenceNo")) Then
      sequenceNo = 1
    Else
        sequenceNo = CLng(rs.Fields("sequenceNo")) + 1
    End If
    dtlId = billId & "_" & sequenceNo
    productCode = Mid(barcode, g_barcode_product_start, g_barcode_weight_start - g_barcode_product_start - g_barcode_sequenceno_len)
    Dim netWeight, qty As Double
    qty = Format(Val(Mid(barcode, g_barcode_weight_start, g_barcode_length - g_barcode_weight_start)) / g_barcode_weight_base, g_barcode_weight_scale)
    netWeight = Val(Mid(barcode, g_barcode_weight_start, g_barcode_length - g_barcode_weight_start)) / g_barcode_weight_base
    Set rs = g_db.OpenRecordset("select * from hpos_products where (hpos_products.productCode ='" + productCode + "')")
    If rs.RecordCount > 0 Then
        sql = sql + " insert into " + dtlTableName + "(dtlId, billId, barcode, productId, qty, price, pieceQty, axesWeight, comment, rsvFld1, rsvFld2, rsvFld3)" _
                & " values(  '" + dtlId + "', '" + billId + "', '" + barcode + "', " + CStr(rs.Fields("productId")) + ", " + CStr(qty) + ", 0.0, 1.0, 0.0, '', '" + sequenceNo + "', '', ''); "
    End If
    getInsertSQL = sql
End Function
'   備份文件,先更名并copy到備份目錄,然后刪除
Public Function backUpFile(filePath As String) As Boolean
    backUpFile = False
    Dim strBackupFolder, destFilePath As String
    strBackupFolder = Mid(filePath, 1, InStrRev(filePath, "\")) + "backup"
    If Dir(strBackupFolder, vbDirectory) = "" Then
        MkDir strBackupFolder
    End If
    destFilePath = strBackupFolder + "\" + CStr(Format(Now, "YYYYMMDDHHMMSS")) + Mid(filePath, InStrRev(filePath, "\") + 1)
    FileCopy filePath, destFilePath
    Kill filePath
'    fs.DeleteFile filePath
    backUpFile = True
End Function
'   從文本文件中讀取數據加載到MSFlexGrid中
'  http://community.csdn.net/Expert/topic/4944/4944889.xml?temp=.8284571
'  http://topic.csdn.net/t/20050331/07/3896154.html
'  http://topic.csdn.net/t/20050218/18/3790640.html
'  在幫助文檔 VBENLR98.CHM 中查找 TextStream
Public Sub loadDataFromTextFileToFlexGrd(filePath As String, flexGrd As MSFlexGrid)
    Dim fldValues
    Dim i As Integer
'   定義要映射的列數
    Dim colCount As Integer
    colCount = 2
    Dim colArray As Variant
'   定義要映射的列號
    colArray = Array(1, 10, 11, 12)
'     y = Array("序號", "條  碼  號", "物料名稱", "型號||規格", " 標 準", "單位", "凈重", "價格", "金額", "總皮重", "件/箱", "毛重", "工號", "productId")
'   定義分隔符
    Dim separator As String
    separator = ","
'   定義起始行
    Dim startRow, currentRow As Integer
    startRow = flexGrd.rows - 1
    currentRow = startRow
    '   定義起始列
    Dim startCol, nextStartCol As Long
    Dim fs As New FileSystemObject
    Dim txtStream As TextStream
    
    Set txtStream = fs.OpenTextFile(filePath)
    If txtStream Is Nothing Then
        MsgBox "對不起,文件(" + filePath + ")不存在!", vbInformation, "提示"
        Exit Sub
    End If
    Dim strLine As String
    '   定義以逗號分隔開的字符串
    Dim strFldValue As String
    
    Do While txtStream.AtEndOfLine <> True
        flexGrd.TextMatrix(currentRow, 0) = currentRow
        strLine = txtStream.ReadLine
    '   替換每行中的HTML空格 &nbsp;
        strLine = Replace(strLine, "&nbsp;", "")
        i = 0   '重新從MSFlexGrid的第0列開始
        startCol = 1
        nextStartCol = startCol
        '  根據逗號查找每一列的值并且填入到表格中
        While Not (InStr(startCol, strLine, ",", vbTextCompare) = 0 Or IsNull(InStr(startCol, strLine, ",", vbTextCompare)))
            nextStartCol = InStr(startCol, strLine, ",", vbTextCompare) + 1
            strFldValue = Mid(strLine, startCol, nextStartCol - startCol - 1)
            startCol = nextStartCol
            flexGrd.TextMatrix(currentRow, colArray(i)) = strFldValue
            '   當給第一列(條形碼)賦值時,將物料編號、規格型號以及凈重等填入表格中
            If colArray(i) = 1 Then
                fillGridDataFromBarcode flexGrd, strFldValue
            End If
            i = i + 1
        Wend
    '   最后一列的值找不到逗號了,但是仍然需要填充到表格中
        flexGrd.TextMatrix(currentRow, colArray(i)) = Mid(strLine, startCol)
    '   表格增加一行
        flexGrd.rows = flexGrd.rows + 1
        currentRow = currentRow + 1
    Loop
End Sub

' 從條形碼中獲取物料及其重量信息填充界面表格
Public Sub fillGridDataFromBarcode(flexGrd As MSFlexGrid, strBarcode As String)
    Dim productCode As String
    productCode = Mid(strBarcode, g_barcode_product_start, g_barcode_weight_start - g_barcode_product_start - g_barcode_sequenceno_len)
    Dim netWeight As Double
    netWeight = Val(Mid(strBarcode, g_barcode_weight_start, g_barcode_length - g_barcode_weight_start)) / g_barcode_weight_base

    Dim rsProduct As Recordset
    ' 產品編號取條形碼中的3到7位
    Set rsProduct = g_db.OpenRecordset("select * from hpos_products where (hpos_products.productCode ='" + productCode + "')")
     With rsProduct
         If rsProduct.RecordCount > 0 Then
              If rsProduct.Fields("productCode") <> "" Then
                   '賦值給mf1表格
                    If IsNumeric(Mid(strBarcode, g_barcode_weight_start, g_barcode_length - g_barcode_weight_start)) Then
                        flexGrd.TextMatrix(flexGrd.row, 6) = Format(Val(Mid(strBarcode, g_barcode_weight_start, g_barcode_length - g_barcode_weight_start)) / g_barcode_weight_base, g_barcode_weight_scale)
                    End If
                    If Not IsNull(.Fields("productName")) Then
                      flexGrd.TextMatrix(flexGrd.row, 2) = .Fields("productName")
                    End If
                    If Not IsNull(.Fields("productModel")) Then
                      flexGrd.TextMatrix(flexGrd.row, 3) = .Fields("productModel")
                    End If
                    If Not IsNull(.Fields("productSpecs")) Then
                      flexGrd.TextMatrix(flexGrd.row, 3) = flexGrd.TextMatrix(flexGrd.row, 3) + " || " + .Fields("productSpecs")
                    End If
                    If Not IsNull(.Fields("productStd")) Then
                      flexGrd.TextMatrix(flexGrd.row, 4) = .Fields("productStd")
                    End If
                    If Not IsNull(.Fields("productUnit")) Then
                      flexGrd.TextMatrix(flexGrd.row, 5) = .Fields("productUnit")
                    End If
                    If Not IsNull(.Fields("price")) Then
                      flexGrd.TextMatrix(flexGrd.row, 7) = .Fields("price")
                    End If
                    If IsNumeric(flexGrd.TextMatrix(flexGrd.row, 6)) And IsNumeric(flexGrd.TextMatrix(flexGrd.row, 7)) Then
                        flexGrd.TextMatrix(flexGrd.row, 8) = Val(flexGrd.TextMatrix(flexGrd.row, 7)) * Val(flexGrd.TextMatrix(flexGrd.row, 6))
                        flexGrd.TextMatrix(flexGrd.row, 8) = Format(flexGrd.TextMatrix(flexGrd.row, 8), g_barcode_weight_scale)
                    End If
                    If Trim(flexGrd.TextMatrix(flexGrd.row, 9)) = "" Then
                      flexGrd.TextMatrix(flexGrd.row, 9) = Val(flexGrd.TextMatrix(flexGrd.row, 7))
                    End If
                    If Trim(flexGrd.TextMatrix(flexGrd.row, 10)) = "" Then
                        flexGrd.TextMatrix(flexGrd.row, 10) = "1"
                    End If
                    flexGrd.TextMatrix(flexGrd.row, 11) = Val(flexGrd.TextMatrix(flexGrd.row, 9)) + Val(flexGrd.TextMatrix(flexGrd.row, 10)) * netWeight
                    flexGrd.TextMatrix(flexGrd.row, 9) = Format(flexGrd.TextMatrix(flexGrd.row, 9), g_barcode_weight_scale)
                    flexGrd.TextMatrix(flexGrd.row, 11) = Format(flexGrd.TextMatrix(flexGrd.row, 11), g_barcode_weight_scale)
            
                    If Not IsNull(.Fields("productId")) Then
                      flexGrd.TextMatrix(flexGrd.row, 13) = .Fields("productId")
                    End If
                   strBarcode = flexGrd.Text        '賦值給text1
              End If
         End If
     End With
'     fillTotalDataFromDtlData
'    Call frm_main.movereturn     '調用函數
'    If (flexGrd.row = flexGrd.rows - flexGrd.FixedRows) Then
'        flexGrd.rows = flexGrd.rows + 1
'        flexGrd.TextMatrix(flexGrd.rows - flexGrd.FixedRows, 0) = flexGrd.rows - flexGrd.FixedRows + m_prevBillNo
'    End If
'    flexGrd.row = flexGrd.row + 1: flexGrd.col = 1
End Sub

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
heyzo一本久久综合| 美国三级日本三级久久99| 男人的天堂久久精品| 美日韩一级片在线观看| 亚洲亚洲人成综合网络| 亚洲午夜在线电影| wwwwww.欧美系列| 欧美日韩国产影片| 91黄色免费版| 欧美日韩不卡视频| 国产视频一区在线观看 | 亚洲一区在线观看视频| 综合分类小说区另类春色亚洲小说欧美 | 久久久久久久久一| 在线精品国精品国产尤物884a| 在线观看亚洲a| 亚洲国产精品久久人人爱蜜臀| 国产激情视频一区二区三区欧美| 处破女av一区二区| 91九色02白丝porn| 精品国产凹凸成av人导航| 日韩欧美激情在线| 国产精品视频看| 国产91在线观看丝袜| 亚洲欧美国产高清| 国产99久久精品| 26uuu亚洲综合色| 91片在线免费观看| 麻豆精品国产91久久久久久| 日本一区二区三区免费乱视频| 94色蜜桃网一区二区三区| 婷婷开心久久网| 中文久久乱码一区二区| 欧美日韩高清在线播放| 丁香婷婷综合激情五月色| 亚洲v中文字幕| 欧美国产一区二区| 欧美日韩一区不卡| 成人动漫在线一区| 久久激情综合网| 一区二区三区不卡视频在线观看| 欧美不卡一二三| 欧美性xxxxxxxx| 成人小视频免费在线观看| 日韩影院精彩在线| 亚洲精品国产无天堂网2021| 国产肉丝袜一区二区| 国产成人免费视| 欧美成人欧美edvon| 日韩av电影一区| 日韩网站在线看片你懂的| 蜜臀精品一区二区三区在线观看 | 中文字幕欧美一区| 国产999精品久久久久久绿帽| 欧美二区三区91| 久久综合综合久久综合| 精品国产一区二区三区不卡 | 午夜精品久久久| 91视视频在线观看入口直接观看www | 国产成人亚洲精品狼色在线| 日本乱码高清不卡字幕| 成人午夜电影网站| 中文字幕一区二区在线观看| 色综合久久99| 久久99精品久久只有精品| 国产一区二区三区视频在线播放| 日韩欧美电影在线| 亚洲国产高清在线观看视频| 欧美一区二区在线播放| 欧美日韩一区二区三区四区| 色综合久久六月婷婷中文字幕| 丁香网亚洲国际| 成人av先锋影音| 不卡的电影网站| 成人国产精品免费观看动漫| 国产成人精品免费网站| 国产99精品国产| 不卡一区二区三区四区| 成人一区二区三区在线观看| 成人精品gif动图一区| 成人激情av网| 成人久久久精品乱码一区二区三区| 国产在线播放一区二区三区| 国产一区视频导航| 韩国毛片一区二区三区| 国产成人综合在线| 99视频国产精品| 在线观看一区日韩| 欧美久久一区二区| 精品国产1区二区| 欧美国产精品专区| 亚洲人快播电影网| 午夜欧美2019年伦理| 日本亚洲欧美天堂免费| 国产一区二区三区在线观看免费视频 | 亚洲一区二区三区在线播放| 亚洲6080在线| 久久国产精品99久久人人澡| 国产精品一区二区不卡| www.亚洲免费av| 欧美精品日韩精品| 久久男人中文字幕资源站| 国产精品伦理在线| 亚洲成a人v欧美综合天堂下载| 男女激情视频一区| 盗摄精品av一区二区三区| 一本一道久久a久久精品| 欧美日韩成人综合天天影院| 91精品国产综合久久福利 | 中文字幕中文字幕中文字幕亚洲无线| 国产精品美女视频| 亚洲图片有声小说| 国产精品一区二区免费不卡| 91成人免费在线视频| 日韩精品中文字幕在线不卡尤物| 国产日产欧产精品推荐色| 亚洲一区二区在线免费看| 国模少妇一区二区三区| 在线免费观看不卡av| 亚洲精品一区二区精华| 亚洲激情在线激情| 国产在线视视频有精品| 色婷婷综合久久| 久久只精品国产| 亚洲福利电影网| 亚洲成人激情av| 久久精品国产99国产精品| 久久久久久久免费视频了| 青青草精品视频| 91浏览器入口在线观看| 欧美va亚洲va国产综合| 一区二区视频在线| 91丝袜国产在线播放| www成人在线观看| 亚洲精品国产一区二区精华液 | 日本va欧美va精品发布| 久久综合久久99| 国产日产欧美一区二区三区| 亚洲一二三区不卡| 97精品国产露脸对白| 96av麻豆蜜桃一区二区| 欧美videofree性高清杂交| av电影在线观看不卡| 欧美一区二区在线观看| 国内精品久久久久影院色| www.综合网.com| 久久亚洲捆绑美女| 日韩福利视频导航| 欧美日韩国产123区| 亚洲成av人片一区二区三区| 日本乱人伦aⅴ精品| 中文字幕综合网| 欧美性生交片4| 成人综合在线视频| 91国在线观看| 成人三级伦理片| 色婷婷久久一区二区三区麻豆| 日韩午夜精品电影| 国产一区二区三区香蕉| 国产香蕉久久精品综合网| 美国三级日本三级久久99| 欧美一级欧美一级在线播放| 精品一区二区在线观看| 久久精品欧美日韩| 51精品国自产在线| 首页综合国产亚洲丝袜| 91蜜桃在线免费视频| 亚洲人成网站影音先锋播放| 国产一级精品在线| 欧美精品在线一区二区| 1区2区3区欧美| 色视频一区二区| 亚洲电影在线播放| 欧美大胆人体bbbb| 国产成人精品亚洲777人妖| 成人免费一区二区三区视频| 久久久亚洲精品一区二区三区| 99久久婷婷国产| 美国av一区二区| 亚洲国产精品影院| 中文字幕中文字幕一区二区| 在线电影国产精品| 国产福利一区二区三区在线视频| 国产一区二区免费在线| 精品国产一区二区亚洲人成毛片 | 国产一本一道久久香蕉| 国产亚洲1区2区3区| 成人综合日日夜夜| 一区在线观看免费| 欧美在线影院一区二区| 亚洲成人激情社区| 久久综合色天天久久综合图片| 国产白丝精品91爽爽久久| 一区精品在线播放| 欧美片在线播放| 韩国女主播一区| 亚洲永久免费视频| 26uuu精品一区二区| 91丨porny丨在线| 麻豆国产欧美日韩综合精品二区|