What happens, when you trying it with TDM? Did TDM finding your database. Please check the manual, how to use it, or give me more details. Thanks
Fixed that; had misread how to pick up old database. Now getting a Debug code when I try and run the second page of commodity scanning at my first new station under 1.52:
Runtime error '9': Subscript out of range
Sub OCR_Process()
Dim fso As FileSystemObject, sLine As String, z As Long, instream As Object, ArOCR_Imp As Variant, OCR_Export As String, ZID As Long, a As Long, X As Long
Dim Ware_txt As String, t As Long, x1 As Long, ID As Long, temp As String, Sell As Double, Buy As Double, Stock As Double, lLZeile As Long, iLSpalte As Long, b As Long, Good_txt As String
ReDim ArOCR_Data(1 To AzGoods, 1 To 5)
Set fso = New FileSystemObject
AppPath = ActiveWorkbook.Path
OCR_Export = AppPath & "\OCR_Export\export.csv"
z = 0
Worksheets("Import_csv").Range("A1:A1001").ClearContents
If fso.FileExists(OCR_Export) = True Then
Worksheets("Import_Csv").Activate
With ActiveWorkbook.Sheets("Import_csv").QueryTables.Add(Connection:= _
"TEXT;" & OCR_Export, Destination:=Range("Import_csv!$A$1"))
.Name = "CAPTURE"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 65001
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
ActiveWorkbook.Connections("export").Delete
X = WorksheetFunction.CountIf(Worksheets("Import_csv").Range("A:A"), "<>")
ArOCR_Imp = Worksheets("Import_csv").Range("A1:A" & X)
t = 0
For a = 1 To X
ZID = Asc(ArOCR_Imp(a, 1))
If ZID = 9 Or ZID = 160 Or ZID = 32 Then
ArOCR_Imp(a, 1) = Replace(ArOCR_Imp(a, 1), Chr(ZID), "")
End If
If Left(ArOCR_Imp(a, 1), 15) = "<commodityconf=" Then
X = Len(ArOCR_Imp(a, 1))
Ware_txt = Mid(ArOCR_Imp(a, 1), 22, X - 22)
x1 = InStr(1, Ware_txt, "<")
If x1 <> 0 Then
Ware_txt = Left(Ware_txt, x1 - 1)
Else
Ware_txt = ""
End If
For b = 1 To AzGoods
Good_txt = Replace(Ar_DBGoods(b, 2), Chr(32), "")
If Good_txt = UCase(Ware_txt) Then
ZID = Asc(ArOCR_Imp(a + 1, 1))
If ZID = 9 Or ZID = 160 Or ZID = 32 Then
ArOCR_Imp(a + 1, 1) = Replace(ArOCR_Imp(a + 1, 1), Chr(ZID), "")
End If
temp = Mid(ArOCR_Imp(a + 1, 1), 17, 6)
x1 = InStr(1, temp, "<")
If x1 <> 0 Then
Sell = Val(Left(temp, x1 - 1))
Else
Sell = 0
End If
ZID = Asc(ArOCR_Imp(a + 2, 1))
If ZID = 9 Or ZID = 160 Or ZID = 32 Then
ArOCR_Imp(a + 2, 1) = Replace(ArOCR_Imp(a + 2, 1), Chr(ZID), "")
End If
temp = Mid(ArOCR_Imp(a + 2, 1), 16, 6)
x1 = InStr(1, temp, "<")
If x1 <> 0 Then
Buy = Val(Left(temp, x1 - 1))
Else
Buy = 0
End If
ZID = Asc(ArOCR_Imp(a + 5, 1))
If ZID = 9 Or ZID = 160 Or ZID = 32 Then
ArOCR_Imp(a + 5, 1) = Replace(ArOCR_Imp(a + 5, 1), Chr(ZID), "")
End If
temp = Mid(ArOCR_Imp(a + 5, 1), 19, 10)
x1 = InStr(1, temp, "<")
If x1 <> 0 Then
Stock = Val(Left(temp, x1 - 1))
Else
Stock = 0
End If
t = t + 1
ArOCR_Data(t, 1) = Ar_DBGoods(b, 1)
ArOCR_Data(t, 2) = Ar_DBGoods(b, 3)
ArOCR_Data(t, 4) = Sell
ArOCR_Data(t, 3) = Buy
ArOCR_Data(t, 5) = Stock
a = a + 8
Exit For
End If
Next b
End If
Next a
AzOCR_Data = t
Call Panel_Commodity.Show_Scan
For a = 1 To AzOCR_Data
Ar_TmpWares(ArOCR_Data(a, 1), 2) = ArOCR_Data(a, 4)
Ar_TmpWares(ArOCR_Data(a, 1), 3) = ArOCR_Data(a, 3)
Ar_TmpWares(ArOCR_Data(a, 1), 4) = ArOCR_Data(a, 5)