一個物流出入庫的比對,這個功能我用EXCEL的條件格式、資料有效性和VBA已經完成了,現在想問問VB怎么做,還請大家幫忙想想,之前沒用過VB。還請說得時候詳細到不能詳細最好不過,謝謝!要求如下:
準備:1.條碼掃描槍
2.條碼:格式如A123456001,前七位批次號固定,后四位為序列號
操作程式
1.先掃一個正確的條碼,比如掃完顯示 A123456001,取前七位批次號為標準,并固定顯示該標準;
2.開始大量掃條碼,前七位需為A123456才判斷為正確;
3.且后面要有三位數字
4.且后面三位數字不可重復。
5.2/3/4條出現非正確情況時,參考一個音頻發出警報提示。
6.計數1,所有判斷為正確的條碼記錄,并在結束后以EXCEL形式保存;
7.計數2,顯示已經判斷為正確且不重復的條碼數量。
應該就這樣了,再次謝謝!
uj5u.com熱心網友回復:
使用字典物件解決去重問題。uj5u.com熱心網友回復:
看了半天.我沒看懂后面到底序列是四位還是三位uj5u.com熱心網友回復:
應該是0001,少打一個零。
uj5u.com熱心網友回復:
能展開講講么,謝謝。
uj5u.com熱心網友回復:
Dictionary 物件描述
物件,用于存盤資料關鍵字和條目對。
語法
Scripting.Dictionary
說明
Dictionary 物件與 PERL 關聯陣列等價。可以是任何形式的資料的條目被存盤在陣列中。每個條目都與一個唯一的關鍵字相關聯。該關鍵字用來檢索單個條目,通常是整數或字串,可以是除陣列外的任何型別。
下面的代碼舉例說明了如何創建一個 Dictionary 物件:
Dim d '創建一個變數
Set d = CreateObject(Scripting.Dictionary)
d.Add "a", "Athens" '添加一些關鍵字和條目
d.Add "b", "Belgrade"
d.Add "c", "Cairo"
...
Add方法(Dictionary)
描述
添加一對相對應的關鍵字和條目到 Dictionary 物件。
語法
object.Add key, item
Add方法的語法有如下幾部分:
部分 描述
Object 必需的。一個 Dictionary 物件的名字。
Key 必需的。與所添加的條目相關聯的關鍵字。
Item 必需的。與所添加的關鍵字相關聯的條目。
說明
如果該關鍵字已經存在,則產生一個錯誤。
uj5u.com熱心網友回復:
在vb里建立一個輸入框,掃描槍掃描上屏后會自動發送回車,然后vb的keypress里判斷回車后開始分析處理。最基本的if陳述句mid、left等字串函式你不會不知道吧。 處理完一條就清空輸入框。Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
MsgBox "處理" & Text1.Text
'開始用if else等字串函式之類的處理你的 2/3/4,基本你的VBA里寫的代碼都能重用
Text1.Text = "" '處理完清空
End If
End Sub
uj5u.com熱心網友回復:
版主您好,VBA里變得代碼
只有部分適用,其他功能我是利用EXCEL里面的“資料有效性””和“條件格式”搞定的。VBA代碼如下:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Column <> 1 Or Target.Row < 2 Then Exit Sub
Dim bz$
bz = [c2].Value
Target.Offset(0, 1) = Left(Target.Value, 7)
If Left(Target.Value, 7) <> bz Then
Target.Offset(0, 1).Font.ColorIndex = 3
Call PlayWAV
End If
End Sub
但要把全部整合在一起,就超出我的能力了。
謝謝!
uj5u.com熱心網友回復:
抱歉,這個還真不怎么會用,也就不太明白怎么跟其他條件整合了,還望賜教
uj5u.com熱心網友回復:
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
'MsgBox "處理" & Text1.Text
'開始用if else等字串函式之類的處理你的 2/3/4,基本你的VBA里寫的代碼都能重用
Dim bz$,
bz ="A123456"
If Left(Text1.Text, 7) <> bz Then
Call PlayWAV
else
Text1.tag=Text1.tag & Text1.Text & vbcrlf
End If
Text1.Text = "" '處理完清空
End If
End Sub
在所有都處理完成后保存Text1.tag的內容
你要簡單學習下又不困難的,如果每個代碼都指望別人寫這不叫討論問題,這叫發包,出需求別人完成。
uj5u.com熱心網友回復:
樓主想用VB6來做,還是用 Excel的 VBA來做?說實在的,無論用上述的哪個環境來做,都很簡單的。
uj5u.com熱心網友回復:
版主說的是,是我唐突了,有點急于求成。我再學學,謝謝
uj5u.com熱心網友回復:
難者不會,會者不難吧,我這水平不夠看,所以才發帖詢問。
uj5u.com熱心網友回復:
我看你不是發貼問,是發貼要代碼吧?uj5u.com熱心網友回復:
是的,但版主告訴我不應該這樣,表示很慚愧
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/65408.html
標籤:VB基礎類
上一篇:Text設定MultiLine為True就不顯示下拉串列了
下一篇:代碼關閉列印機任務
