Wrox Programmer Forums
|
Access VBA Discuss using VBA for Access programming.
Welcome to the p2p.wrox.com Forums.

You are currently viewing the Access VBA section of the Wrox Programmer to Programmer discussions. This is a community of software programmers and website developers including Wrox book authors and readers. New member registration was closed in 2019. New posts were shut off and the site was archived into this static format as of October 1, 2020. If you require technical support for a Wrox book please contact http://hub.wiley.com
 
Old February 4th, 2009, 10:42 PM
Registered User
 
Join Date: Feb 2009
Posts: 2
Thanks: 0
Thanked 0 Times in 0 Posts
Angry VB code locks up??

I have an Access VBA program that will run great one day and next it will lockup. I don’t get an error message when it lockup, I just know because when it locks up it just sit with the hour glass and I have to close the db and restart it and it runs fine.
I cannot figure out when it keep doing this, can anyone help me?

[Option Compare Database
Global Date2 As String
Sub ImportGLTrans()
Dim rs As ADODB.Recordset
Dim sSQL As String
Dim IntVar As Long
Dim UserId As String
Dim Date1 As String
Dim Password As String
MsgBox Date2
DoCmd.Maximize
DoCmd.Echo True, "Export GLTRANS "
DoCmd.Hourglass True
DoCmd.SetWarnings False

On Error GoTo ErrorHandler

Set LawsonCn = New ADODB.Connection


LawsonCn.ConnectionString = "Provider=Lawson.LawOLEDBC;Data Source=h6h489.tcn.org;Prompt=Complete"

LawsonCn.CursorLocation = adUseServer
LawsonCn.Open

'EmptyTable ("TBL_GLTrans")
CurrentDb.Execute "DELETE FROM TBL_GLTRANS"

Set rs = New ADODB.Recordset


rs.ActiveConnection = LawsonCn
rs.Open "dme:PROD=PROD&FILE=GLTRANS&FIELD=COMPANY;FISC AL-YEAR;ACCT-PERIOD;CONTROL-GROUP;SYSTEM;JE-TYPE;JE-SEQUENCE;LINE-NBR;OBJ-ID;STATUS;ACCT-UNIT;ACCOUNT;SUB-ACCOUNT;SOURCE-CODE;DATE;REFERENCE;DESCRIPTION;BASE-AMOUNT;UNITS-AMOUNT;POSTING-DATE;ACTIVITY;ACCT-CATEGORY;TRAN-AMOUNT;ORIG-PROGRAM;OPERATOR;RECONCILE;EFFECT-DATE;UPDATE-DATE;APDISTRIB.PO-NUMBER;APDISTRIB.VENDOR;APDISTRIB.INVOICE;APDISTRI B.DESCRIPTION&SELECT=COMPANY%3D07%26UPDATE-DATE%3E12/31/07"
Set rsGLTrans = CurrentDb.OpenRecordset("TBL_GLTRANS", DB_OPEN_DYNASET)
rs.MoveFirst
IntVar = 0
Do While Not rs.EOF
IntVar = IntVar + 1
Date1 = Format(rs.Fields("UPDATE-DATE"), "mm/dd/yyyy")
If Date1 = Date2 Then
rsGLTrans.AddNew
rsGLTrans!COMPANY = rs!COMPANY
rsGLTrans!FISCAL_YEAR = rs.Fields("FISCAL-YEAR")
rsGLTrans!ACCT_PERIOD = rs.Fields("ACCT-PERIOD")
rsGLTrans!CONTROL_GROUP = rs.Fields("CONTROL-GROUP")
rsGLTrans!R_SYSTEM = rs.Fields("SYSTEM")
rsGLTrans!JE_TYPE = rs.Fields("JE-TYPE")
rsGLTrans!JE_SEQUENCE = rs.Fields("JE-SEQUENCE")
rsGLTrans!PO_NUMBER = rs.Fields("APDISTRIB.PO-NUMBER")
rsGLTrans!LINE_NBR = rs.Fields("LINE-NBR")
rsGLTrans!OBJ_ID = rs.Fields("OBJ-ID")
rsGLTrans!R_STATUS = rs.Fields("STATUS")
rsGLTrans!ACCT_UNIT = rs.Fields("ACCT-UNIT")
rsGLTrans!ACCOUNT = rs.Fields("ACCOUNT")
rsGLTrans!SUB_ACCOUNT = rs.Fields("SUB-ACCOUNT")
rsGLTrans!SOURCE_CODE = rs.Fields("SOURCE-CODE")
rsGLTrans!R_DATE = rs.Fields("DATE")
rsGLTrans!R_REFERENCE = rs.Fields("REFERENCE")
rsGLTrans!R_DESCRIPTION = rs.Fields("DESCRIPTION")
rsGLTrans!BASE_AMOUNT = rs.Fields("BASE-AMOUNT")
rsGLTrans!UNITS_AMOUNT = rs.Fields("UNITS-AMOUNT")
rsGLTrans!POSTING_DATE = rs.Fields("POSTING-DATE")
rsGLTrans!ACTIVITY = rs.Fields("ACTIVITY")
rsGLTrans!ACCT_CATEGORY = rs.Fields("ACCT-CATEGORY")
rsGLTrans!TRAN_AMOUNT = rs.Fields("TRAN-AMOUNT")
rsGLTrans!ORIG_PROGRAM = rs.Fields("ORIG-PROGRAM")
rsGLTrans!R_OPERATOR = rs.Fields("OPERATOR")
rsGLTrans!RECONCILE = rs.Fields("RECONCILE")
rsGLTrans!EFFECT_DATE = rs.Fields("EFFECT-DATE")
rsGLTrans!UPDATE_DATE = rs.Fields("UPDATE-DATE")
rsGLTrans!VENDOR = rs.Fields("APDISTRIB.VENDOR")
rsGLTrans!INVOICE = rs.Fields("APDISTRIB.INVOICE")
If rs.Fields("APDISTRIB.DESCRIPTION") > " " Then
rsGLTrans!R_DESCRIPTION = rs.Fields("APDISTRIB.DESCRIPTION")
End If
rsGLTrans.Update
rs.MoveNext
Else: rs.MoveNext
End If
Loop
rs.Close
rsGLTrans.Close

'TerminateLawson
LawsonCn.Close
CurrentDb.Execute "Qry_UpdateTranAmount"
Set LawsonCn = Nothing

MsgBox "Load completed successfully!", vbExclamation, "GLTRANS Load"
DoCmd.Hourglass False
Exit Sub

ErrorHandler:

MsgBox Err.Number & " " & Err.Description & " Please contact Systems Development", vbCritical, "AAL Software"

End Sub]
 
Old February 6th, 2009, 04:04 PM
Friend of Wrox
 
Join Date: Mar 2004
Posts: 3,069
Thanks: 0
Thanked 10 Times in 10 Posts
Default

You might try this:

'DoCmd.SetWarnings False

and allow warnings to be thrown for some events.

You might also change your On Error statement,

On Error Resume Next

Then cut and paste this after major transactions.
Err.Clear
...

If Err <> 0 Then
MsgBox "Error at " & Err.Description, vbInformation
End If
Err.Clear

It looks to me that the problem would be in your connection given how it is acting. It is not timing out when it can't get the connection. Check Err after the connection and see what the value is.

Did that help?
__________________
mmcdonal

Look it up at: http://wrox.books24x7.com
 
Old February 6th, 2009, 05:54 PM
Registered User
 
Join Date: Feb 2009
Posts: 2
Thanks: 0
Thanked 0 Times in 0 Posts
Default re: VB code locks up??

Mmcdonal,
Thank you for help, I had a feeling it was with the connection but I could not figure it out in this code. I will test the changes you suggested and hopefully this will fix my ongoing little headache with this db.





Similar Threads
Thread Thread Starter Forum Replies Last Post
Access locks up after multiple emails sent Paulsh Access VBA 2 December 30th, 2005 03:20 PM
Clearing record level locks IronStar MySQL 1 July 5th, 2005 08:58 PM
How to implement locks and timestamp protocol? hlchuah77 SQL Server 2000 5 January 24th, 2005 03:15 PM
Locks on my access db in win xp patricolsson Classic ASP Databases 6 December 17th, 2003 09:31 AM
¿Record Locks? Concurrency Multiple Users p_nut33 ADO.NET 0 November 18th, 2003 10:02 AM





Powered by vBulletin®
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Copyright (c) 2020 John Wiley & Sons, Inc.