Исправление ошибки AS400: «Сейчас кто-то еще работает в« J: \ AS400 Automation \ tk.csv ». Повторите попытку позже».
403
Joni Depp
Мне удалось создать простую команду в AS400, записав несколько макросов из AS400 и добавив несколько кодов через файл .ebs. Он работал нормально, когда я использовал его, но когда он был применен к 10 пользователям, он обычно показывает ошибку, говорящую: «Кто-то еще работает в« J: \ AS400 Automation \ tk.csv »прямо сейчас. Повторите попытку позже». "
Ниже приведен код, который я сделал:
'---------------------------------------------------------------------- ' This macro was created by the macro recorder. ' Macro File: \\******\****\Global\AS400 Automation\TKFinder.ebs ' Date: Thu Sep 20 07:01:38 2018 ' Recorded for profile: N***e*n AS400 S1 '---------------------------------------------------------------------- Function requestData(connStr As String, sqlStr As String) ' returns the result of the data. ' use isempty(requestData) to identify if the request has result or none Dim xlCon As Object Dim xlRs As Object Dim rsData As Variant Set xlCon = CreateObject("ADODB.Connection") Set xlRs = CreateObject("ADODB.Recordset") xlCon.Mode = 1 ' adModeRead / Indicates read-only permissions. xlCon.Open connStr ' open the csv database xlRs.LockType = 1 ' adLockReadOnly / Indicates read-only records. You cannot alter the data.xlRs.Open sqlStr, xlCon ' send query xlRs.Open sqlStr, xlCon If Not xlRs.EOF Then ' execute only if there is record found in the query if isnull(xlRs.Fields.item(0).value) then msgbox "No requirement." else msgbox xlRs.Fields.item(0).value end if Else msgbox "Query not found." End If xlRs.Close xlCon.Close Set xlRs = Nothing Set xlCon = Nothing End Function Sub Main Dim HostExplorer as Object Dim MyHost as Object Dim Rc as Integer On Error goto GenericErrorHandler Set HostExplorer = CreateObject("HostExplorer") ' Initialize HostExplorer Object Set MyHost = HostExplorer.HostFromProfile("N***e*n AS400 S1") ' Set object for the desired session If MyHost is Nothing Then Goto NoSession If Not MyHost.Area(6,2,6,3).Value="SC" Then Exit Sub On Error goto ShipperCodeError Dim shipperCode As long shipperCode = MyHost.Area(6,5,6,11).Value shipperCode = trim(shipperCode) Dim dbName As String, connStr As String, sqlStr As String Dim leadData dbpath = "J:\global\AS400 Automation" connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbpath & ";Extended Properties=""text;HDR=Yes;FMT=Delimited;""" if isempty(shippercode) then exit sub dbName = "tk.csv" sqlStr = "SELECT Requirement " & _ "FROM [" & dbName & "] Where [Shipper Code] = " & shipperCode & ";" requestData connStr, sqlStr Exit Sub '-------------------- Runtime Error Handlers -------------------- GenericErrorHandler: Msgbox "Error " & Err & " : """ & Error(Err) & """ has occurred on line " & Erl-1 & "." & Chr(10) & "Unable to continue macro execution.", 16, "HostExplorer Basic Macro Error" Exit Sub ShipperCodeError: Msgbox "Shipper code is empty." Exit sub NoSession: Msgbox "Profile ""NewPenn AS400 S1"" is not running." & Chr(10) & "Unable to execute macro.", 16, "HostExplorer Macro Error" Exit Sub OnKeyboardError: Msgbox "Unable to type string on host screen." & Chr(10) & "Unable to continue macro execution.", 16, "HostExplorer Basic Macro Error" Exit Sub End Sub
Макрос был назначен команде клавиатуры, и он работает нормально, пока не будет передан нескольким пользователям.
Я не знаю, как сделать исправление кода, так как я новичок в AS / 400 и SQL. Что я должен делать?
Не знаю точно; В requestData я предлагаю вам не отображать сообщения пользователю между открытием и закрытием. Я предлагаю вам открыть; установить переменные; закрыть запрос; отображать сообщения из переменной;
Bruce Martin 6 лет назад
0
Привет, Брюс! Спасибо за ответ. Я посмотрю и посмотрю, что я могу сделать, основываясь на твоей прозорливости. Я действительно новичок в этом, поэтому я ценю помощь.
Joni Depp 6 лет назад
0
0 ответов на вопрос
Похожие вопросы
-
16
Запрос файла CSV
-
1
Каков наилучший способ поделиться макросом Excel на нескольких машинах?
-
2
Конвертировать макрос Excel 4.0 в VBA
-
-
1
В любом случае vim не считает специальные символы словами?
-
2
Могу ли я получить слово, чтобы игнорировать настройки безопасности макросов для одного конкретного...
-
5
Excel 2007 преобразует поля CSV в формулы
-
3
Исправить (сегодня) дату в Excel
-
1
Как установить надежные расположения Visio 2003
-
4
Excel 2007 | Удалить пустые поля из сводных таблиц
-
2
Как будет выглядеть макрос Outlook 2007 для автоматизации Специального вставки - неформатированный т...