Private Sub 自动导入_Click()
On Error GoTo ErrorHandler
' 检查数据录入是否正确
If IsNull(Me.线别) Or IsNull(Me.组合十码) Or IsNull(Me.条码) Or IsNull(Me.条码开始码) Or IsNull(Me.条码结束码) Or IsNull(Me.PCB开封时间) Then
MsgBox "数据未保存!请把信息填写完整后重试...", vbExclamation, "提示"
Exit Sub
End If
If Len(Me.条码开始码) <> Len(Me.条码结束码) Then
MsgBox "开始码与结束码位数不一致!请重新输入...", vbExclamation, "提示"
Exit Sub
End If
If Val(Me.条码开始码) > Val(Me.条码结束码) Then
MsgBox "开始码不能大于结束码!请重新输入...", vbExclamation, "提示"
Exit Sub
End If
'条码位数
Dim lngBarCodeLength As Long: lngBarCodeLength = Len(Me.条码开始码)
Dim dtmOpenTime As Date: dtmOpenTime = Me.PCB开封时间
' 开始保存数据
Dim lngI As Long
For lngI = Val(Me.条码开始码) To Val(Me.条码结束码)
' 计算并格式化证书编码
Dim strBarCode As String: strBarCode = Me.条码 & Format(lngI, String(lngBarCodeLength, "0"))
' 用INSERT语句写入数据
CurrentDb.Execute " INSERT INTO DATA(线别,组合十码,条码,PCB开封时间)" _
& " VALUES ('" & Me.线别 & "', '" & Me.组合十码 & "', '" & strBarCode & "', '" & Format(dtmOpenTime, "yyyy-mm-dd hh:nn:ss") & "')"
'PCB开始时间累加,每一条的时间都是在前一条的时间上加上间隔时间得到
dtmOpenTime = DateAdd("s", Me.PCB开封间隔时间, dtmOpenTime)
Next
ExitHere:
Exit Sub
ErrorHandler:
MsgBox Err.Description, vbCritical, "错误 #" & Err
Resume ExitHere
End Sub
data-1(改2).zip