+ Reply to Thread
Results 1 to 4 of 4

Error-the message 'Device I/O error' pops up.

  1. #1
    Registered User
    Join Date
    01-18-2005
    Posts
    62

    Error-the message 'Device I/O error' pops up.

    Dear all,

    I have a macro and after running this macro, the message 'Device I/O error' pops up.

    Could you help me know what the error is.

    Thanks a lot.

    Nam

  2. #2
    Forum Contributor
    Join Date
    03-13-2005
    Posts
    6,195
    Quote Originally Posted by lehainam
    Dear all,

    I have a macro and after running this macro, the message 'Device I/O error' pops up.

    Could you help me know what the error is.

    Thanks a lot.

    Nam
    The error would be that you are trying to input or output from/to a device that gives an error.

    Can you paste the macro here for view?

    ---
    Si fractum non sit, noli id reficere.

  3. #3
    Registered User
    Join Date
    01-18-2005
    Posts
    62
    Thanks for your help, here is my code

    Sub UpdateT6()

    'Update T6 based on A1 Group
    On Error GoTo ADO_err

    Dim str, str1, str2 As String
    Dim aqlstring As String
    Dim i As Double, X As Double, j As Double
    Dim OldStatus
    If Trim(ActiveSheet.Name) <> "Update_T6" Then
    MsgBox "Active sheet is not valid", vbExclamation, "Notice"
    Exit Sub
    End If
    Sheets("Update_T6").Activate
    Application.ScreenUpdating = False
    OldStatus = Application.DisplayStatusBar
    Application.StatusBar = ActiveSheet.Name & " is running, please wait..."
    X = Range("A65536").End(xlUp).Row
    Set cn = CreateObject("ADODB.Connection")
    Set rs = CreateObject("ADODB.Recordset")
    str = "Provider=SQLOLEDB;User ID=SUN;Password=SUNSYS;Data Source=SUNSYSTEM"
    'rs.CursorType = adOpenStatic
    'rs.LockType = adLockOptimistic
    cn.Open str
    sqlstring = "select * from SALFLDG112"
    'str1 = "Update SALFLDG112 SET ****_T7=''"
    'cn.Execute (str1)
    'str2 = "select * from SALFLDG112 where ACCNT_CODE like '22003CIT%'"
    'rs.CursorType = adOpenStatic
    'rs.LockType = adLockOptimistic
    'rs.Open str2, cn
    rs.Open sqlstring, cn, adOpenStatic, adLockOptimistic, adCmdText
    If rs.EOF = False Then
    Do Until rs.EOF = True
    For i = 2 To X
    If Trim(rs("ACCNT_CODE")) = Trim(Cells(i, 1)) _
    And Trim(rs("PERIOD")) = Trim(Cells(i, 2)) _
    And Trim(rs("JRNAL_NO")) = Trim(Cells(i, 3)) _
    And Trim(rs("JRNAL_LINE")) = Trim(Cells(i, 4)) _
    And Trim(rs("TREFERENCE")) = Trim(Cells(i, 7)) Then
    rs("****_T6") = Trim(Cells(i, 9))
    rs.Update
    j = j + 1
    End If
    Next i
    rs.movenext
    Loop
    End If
    rs.Close
    cn.Close
    Set rs = Nothing
    Set cn = Nothing
    MsgBox j & " records have been updated", vbExclamation, "Notice by LHN"
    ADO_exit:
    Application.ScreenUpdating = True
    Application.StatusBar = False
    Application.DisplayStatusBar = OldStatus
    Set rs = Nothing
    Set cn = Nothing
    Exit Sub
    ADO_err:
    MsgBox Err.Description
    Resume ADO_exit
    End Sub


    Nam

  4. #4
    Forum Contributor
    Join Date
    03-13-2005
    Posts
    6,195
    Quote Originally Posted by lehainam
    Thanks for your help, here is my code

    Sub UpdateT6()

    'Update T6 based on A1 Group
    On Error GoTo ADO_err

    Dim str, str1, str2 As String
    Dim aqlstring As String
    Dim i As Double, X As Double, j As Double
    Dim OldStatus
    If Trim(ActiveSheet.Name) <> "Update_T6" Then
    MsgBox "Active sheet is not valid", vbExclamation, "Notice"
    Exit Sub
    End If
    Sheets("Update_T6").Activate
    Application.ScreenUpdating = False
    OldStatus = Application.DisplayStatusBar
    Application.StatusBar = ActiveSheet.Name & " is running, please wait..."
    X = Range("A65536").End(xlUp).Row
    Set cn = CreateObject("ADODB.Connection")
    Set rs = CreateObject("ADODB.Recordset")
    str = "Provider=SQLOLEDB;User ID=SUN;Password=SUNSYS;Data Source=SUNSYSTEM"
    'rs.CursorType = adOpenStatic
    'rs.LockType = adLockOptimistic
    cn.Open str
    sqlstring = "select * from SALFLDG112"
    'str1 = "Update SALFLDG112 SET ****_T7=''"
    'cn.Execute (str1)
    'str2 = "select * from SALFLDG112 where ACCNT_CODE like '22003CIT%'"
    'rs.CursorType = adOpenStatic
    'rs.LockType = adLockOptimistic
    'rs.Open str2, cn
    rs.Open sqlstring, cn, adOpenStatic, adLockOptimistic, adCmdText
    If rs.EOF = False Then
    Do Until rs.EOF = True
    For i = 2 To X
    If Trim(rs("ACCNT_CODE")) = Trim(Cells(i, 1)) _
    And Trim(rs("PERIOD")) = Trim(Cells(i, 2)) _
    And Trim(rs("JRNAL_NO")) = Trim(Cells(i, 3)) _
    And Trim(rs("JRNAL_LINE")) = Trim(Cells(i, 4)) _
    And Trim(rs("TREFERENCE")) = Trim(Cells(i, 7)) Then
    rs("****_T6") = Trim(Cells(i, 9))
    rs.Update
    j = j + 1
    End If
    Next i
    rs.movenext
    Loop
    End If
    rs.Close
    cn.Close
    Set rs = Nothing
    Set cn = Nothing
    MsgBox j & " records have been updated", vbExclamation, "Notice by LHN"
    ADO_exit:
    Application.ScreenUpdating = True
    Application.StatusBar = False
    Application.DisplayStatusBar = OldStatus
    Set rs = Nothing
    Set cn = Nothing
    Exit Sub
    ADO_err:
    MsgBox Err.Description
    Resume ADO_exit
    End Sub


    Nam
    Apart from the Dim aqlstring As String being mis-spelled ( sqlstring ) nothing I can see, but I cannot open an SQL to check then what happens.

    Hopefully someone else can spot this

    ---

+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1