Run-time error '3035'


Short Introduction.
Table 'People' - the table contains info about people. two of the fields are 'PersonalEmail' and 'ReferrerEmail'. It means, each person has it's referrer. Referrer is one of the existing persons in the table.
* I have some queries that calculate statistics for persons - No problem.
* I have queries that find 1st, 2nd, 3rd, 4th generation for defined person from table 'People' (it means i chose in form any person and want to see, what his 1st generation - where he is the referrer, 2nd generation - where his 1st generation is referrer and so on...) and combine this data with the person statistics, that calculated in the queries i've described above. - No problem.
* I'm trying to calculate total statistics for generations described above - query. I succeed to do it only for first 2 generations and get the error: Run-time error '3035' and the message is: System Resource Was Exceeded (it's my translation ), when i'm trying to run the 3 generation query.

Could you explain me what happened?

Post your answer or comment

comments powered by Disqus
Quote: Set db = CurrentDb
Set td = db.QueryDefs("BrandErrorsCrosstab")
For i = 1 To td.Fields.Count - 4
iNum = Trim(Str(i))
Me("Brand" & iNum).ControlSource = td.Fields(i + 3).Name
Me("Head" & iNum).Caption = td.Fields(i + 3).Name
Me("Sum" & iNum).ControlSource = "=Sum([" & td.Fields(i + 3).Name & "])"
Me("Brand" & iNum).Visible = True
Me("Head" & iNum).Visible = True
Me("Sum" & iNum).Visible = True
Next i
If Not Locate() > 0 Then
Location.Visible = False
End If
End Sub

Run-time error 2465, can't find 'Brand12' in Report_ESBB: class module

I've been running this database for 2 years with no problem. My knowledge with Access is limited, as I'm into MySQL and Php. This program was programmed by programmer who was fired, and he had the recent source files deleted and older sources locked. Can anyone clue me in as to how I can try and to redemy this problem?


I'm using a report with a Microsoft Graph 2000 chart on it. On this graph I'm setting some data labels on and off. This works well when opening the report for the first time. If I open it a second time with the same data it works well, too. But if I open it with different data (having fewer series) I get Run-time error '1004': Unable to set the HasDataLabel property for the Point class. Between the sessions I close the report completely. When I close the application completely and restart it then for the first time everything works well again!? Does the report save any data even if it is closed? Another surprinsing effect: It happens only if I open the report in print preview mode. But in between I closed the print preview so to me the report must be closed then...

	With cht.SeriesCollection(1)
    For i = 1 to .Points.count - n
        .Points(i).HasDataLabel = False
    Next i
End With

Thanks for help


I have a simple form with a reset, a submit query and a close button. If I click the reset button and then try to run a qery I get an error message that says 'Run Time Error '2001': you canceled the last operation'. What does this mean and how can I get rid of it?. Here is my code....

Private Sub CloseButton_Click()
End Sub

Private Sub ResetButton_Click()
[bemDescription] = ""
[bemQueue] = ""
[bemPriority] = ""
[bemStatus] = ""
[bemEntity] = ""
[bemCptyID] = ""
[bemCptyType] = ""
[bemValueDateFrom] = ""
[bemValueDateTo] = ""
[bemCreationDateFrom] = ""
[bemCreationDateTo] = ""

End Sub

Private Sub QueryButton_Click()
Me.Visible = False
DoCmd.OpenQuery "bemExceptionsQuery", acViewNormal, acReadOnly
End Sub

This is the sql query:

WHERE (((BEM_EXCEPTIONS.BEM_EXCEPTION_DESC)=Forms!frmBem Exceptions!bemDescription OR ISNULL(Forms!frmBemExceptions!bemDescription)) And ((BEM_EXCEPTIONS.BEM_GROUP_ID)=Forms!frmBemExcepti ons!bemQueue Or ISNULL(Forms!frmBemExceptions!bemQueue)) And ((BEM_EXCEPTIONS.BEM_PRIORITY)=Forms!frmBemExcepti ons!bemPriority Or ISNULL(Forms!frmBemExceptions!bemPriority)) And ((BEM_EXCEPTIONS.BEM_STATUS)=Forms!frmBemException s!bemStatus Or ISNULL(Forms!frmBemExceptions!bemStatus)) And ((BEM_EXCEPTIONS.BEM_ENTITY)=Forms!frmBemException s!bemEntity Or ISNULL(Forms!frmBemExceptions!bemEntity)) And ((BEM_EXCEPTIONS.BEM_CPTY_ID)=Forms!frmBemExceptio ns!bemCptyID Or ISNULL(Forms!frmBemExceptions!bemCptyID)) And ((BEM_EXCEPTIONS.BEM_CPTY_TYPE)=Forms!frmBemExcept ions!bemCptyType Or ISNULL(Forms!frmBemExceptions!bemCptyType)) And ((BEM_EXCEPTIONS.BEM_VALUE_DATE) Between Forms!frmBemExceptions!bemValueDateFrom And Forms!frmBemExceptions!bemValueDateTo Or ISNULL(Forms!frmBemExceptions!bemValueDateFrom)) And ((BEM_EXCEPTIONS.BEM_DATE_TIME_CREATION) Between Forms!frmBemExceptions!bemCreationDateFrom And Forms!frmBemExceptions!bemCreationDateTo Or ISNULL(Forms!frmBemExceptions!bemCreationDateFrom) ));

Wonder if anyone can help.

I have inherretied another legacy.....this time a Timesheet database. I'm trying to cleanit up and iron out the issues....i wonder if anyone knows how to deal with this.....

When i try ti preview the timesheet i get the following error...

"Run-time error '7794'"
"Microsoft Access couldn;t find the toolbar 'print'"

The line of code it stops the debugger on is...

DoCmd.OpenReport stDocName, acViewPreview

where stDocName is the document to be printed. AcView Preview has the value '"2" in it when you put the cursor over it.

I'm stumped!

Hi all, trying to populate a unbound text field on a report using this code:

Me.txtPrevLC = DLookup("loancount", "tblDeptStats", "ID=98")

but I get this error message: Run-time error '-2147352567(80020009)': You can't assign a value to this object.

I have used DLookups and Dcounts for unbound textboxes on forms and have not had this error.
Is this something common? I can't find anything using search so I am hoping someone he more experienced will be able to assist me.

Thanks in advance,

Please help me, I have hit a massive wall again.
I am writing an estimation program and am having a
run-time error 438 (Object does not support this property or Method).
On the estimation form is a command button whose on click event holds
the command to open the Report
DoCmd.OpenReport "Rpt_Estimate", acViewNormal, , , , "DISP_ID"
The recordsource of the report is a table
And on the "On format event" of the detail section which is made up of text
boxes I am trying to print blanks when there are no more records by making
the forecolor of the Text boxes white but get the run-time error on the
first line below

Me!PartName.ForeColor = vbWhite ' Error on this line

Me!DrawingNo.ForeColor = vbWhite

Me!SIZE.ForeColor = vbWhite
Me!Qty.ForeColor = vbWhite
Me!Price.ForeColor = vbWhite
Me!Amount.ForeColor = vbWhite
Me!Miscellanous.ForeColor = vbWhite
I have looked thorougly but can't figure out what the problem is.
I don't think it matters but it should be noted the field names and
name of the Text boxes are the same.

I have an application that is open on a server. Another user opens the same application on the same server, and tries to run an Access report. An out of memory - run time error 7 occurs.

In the code that executes the SQL to produce the report, there is a DoCMD that opens the report in design view. If it is a detail report, it sets the Detail Section of the report to visible, otherwise it hides the Detail Section. When the DoCMD to close the report using acSaveYes is executed, the out of memory condition occurs.

Has anyone has a similar problem?? If so, how did you resolve it??

I keep getting an error:

run-time error '2185'
"you can't reference a property or method for a control unless the control
has the focus."

There is no problem with CheckFilter function, I checked.

My Code:

Quote: Private Sub Building_AfterUpdate()
Call CheckFilter

Dim sBuildingRoom As String
sBuildingRoom = "SELECT DISTINCT Location.[Location ID],Location.Room " & _
"FROM Building INNER JOIN Location ON Building.[Building ID]=Location.[Building ID]" & _
"WHERE Building.[Building Name]= '" & Me.Building.Text & "'" & _
"ORDER by Location.Room"
Me.Location.RowSource = sBuildingRoom

End Sub Thanks

I have code which outputs data into Excel on to separate sheets, I have also been asked now to give a combined sheet and every now and again I come up against Run Time Error 1004, I believe this is due to copy and pasting to many times, but when I am running the code it is only being run 4 or 5 times at the moment.

I am not sure what to add in to prevent the error from happening.

The extract of code is shown below.

Quote: Dim l As Long
'add new sheet at beginning of book of book
xlapp.Worksheets.Add.Name = "Combined"
xlapp.Worksheets("Combined").Move Before:=Worksheets(1)
'step through each sheet except Combined
For l = 2 To Worksheets.Count
'Copy heading block
'paste to Combined sheet (No Formulas in original sheets so can use Pasteall)
xlapp.ActiveCell.PasteSpecial xlPasteValues
xlapp.ActiveCell.PasteSpecial xlPasteFormats
xlapp.ActiveCell.Offset(2, 0).Select
'copy data block
'Paste data block and move activecell ready for next paste
xlapp.ActiveCell.PasteSpecial xlPasteValues
xlapp.ActiveCell.PasteSpecial xlPasteFormats
xlapp.ActiveCell.Offset(2, 0).Select
Next l

I have a report that when opened by a command button code works fine, but when I try using a macro to run it the following error message appears:

Run-time error ‘3061’. Too few parameters. Expected 1.

The reason I wish to use a macro is I wanted to display a message box that said “No Records to View” if the report would not display anything. I use the same macro ‘code’ in other instances and there’s not a problem.

The macro uses the following function in a separate module. (The line Set r = db.OpenRecord … is highlighted when I debug the error message).

Function getCount(strRs As String)

Dim r As Recordset
Dim db As Database

Set db = CurrentDb
Set r = db.OpenRecordset(strRs)

getCount = r.RecordCount


End Function

I can supply more info about the macro if necessary – it was just difficult to know how to lay it all out! Hope this all makes sense!

I have managed to write some vb to write data from one table to another. However, it seems to stop with a message (Run time error ’94’ Invalid use of Null).

This specifically occurs at the point

strVariable= ![Field]

Is there away I can put a statement in to avoid the nulls. If I use an if statement in the form…

If Field=null then…. It doesn’t seem to work and carries over the value anyway.

Any suggestions please.

Well, its a new week and we have new mysteries. For me, the mystery is why my code below keeps giving me the error "Run-time error '3265': Item not found in the collection." Please note that the debug shows me that the error occurs on the specific lines are where I'm replacing [[Grp]] and [[Type]] with their related values in my query. I looked up the 3265 error and, in general, it means that the referenced object is not part of the called query. The mystery is that those two columns ARE in the query. If I take out those two lines, the code runs perfectly. I've checked and rechecked the column names in the query. I've double checked the text file to make sure there are no typo's there. I just can't see where the error is... Any suggestions?

	Public Function SendEMail()

Dim db As DAO.Database
Dim MailList As DAO.Recordset
Dim MyOutlook As Outlook.Application
Dim MyMail As Outlook.MailItem
Dim Subjectline As String
Dim BodyFile As String
Dim fso As FileSystemObject
Dim MyBody As TextStream
Dim MyBodyText As String
Dim MyNewBodyText As String
Dim newPath As DAO.Recordset
Dim strPath As String
Dim strFileName As String
Set db = CurrentDb()
Set newPath = db.OpenRecordset("Set_Path")
strFileName = "Mail Merge - Mail Test.txt"
strPath = newPath!path & strFileName
Set fso = New FileSystemObject
Subjectline$ = "Daily Status"

If Subjectline$ = "" Then
MsgBox "No subject line, no message." & vbNewLine & vbNewLine & _
"Quitting...", vbCritical, "E-Mail Merger"
Exit Function
End If

BodyFile$ = strPath

If BodyFile$ = "" Then
MsgBox "No body, no message." & vbNewLine & vbNewLine & _
"Quitting...", vbCritical, "I Ain’t Got No-Body!"
Exit Function
End If

If fso.FileExists(BodyFile$) = False Then
MsgBox "The body file isn’t where you say it is. " & vbNewLine & vbNewLine & _
"Quitting...", vbCritical, "I Ain’t Got No-Body!"
Exit Function
End If

Set MyBody = fso.OpenTextFile(BodyFile, ForReading, False, TristateUseDefault)

MyBodyText = MyBody.ReadAll

Set MyOutlook = New Outlook.Application

Set db = CurrentDb()

Set MailList = db.OpenRecordset("MyEmailAddresses")

Do Until MailList.EOF

MyNewBodyText = MyBodyText
MyNewBodyText = Replace(MyNewBodyText, "[[Name]]", MailList("Name"))
MyNewBodyText = Replace(MyNewBodyText, "[[Status]]", MailList("Status"))
MyNewBodyText = Replace(MyNewBodyText, "[[End]]", MailList("Timecard Stop Date"))
MyNewBodyText = Replace(MyNewBodyText, "[[Dpt]]", MailList("Dept"))
MyNewBodyText = Replace(MyNewBodyText, "[[Title]]", MailList("Title Rank"))
MyNewBodyText = Replace(MyNewBodyText, "[[Name2]]", MailList("Name"))
MyNewBodyText = Replace(MyNewBodyText, "[[Grp]]", MailList("People Group"))
MyNewBodyText = Replace(MyNewBodyText, "[[Appv]]", MailList("Time Approver"))
MyNewBodyText = Replace(MyNewBodyText, "[[Type]]", MailList("Person Type"))
MyNewBodyText = Replace(MyNewBodyText, "[[Late]]", MailList("DaysLate"))

Set MyMail = MyOutlook.CreateItem(olMailItem)
MyMail.To = MailList("email")
MyMail.Subject = Subjectline$
MyMail.Body = MyNewBodyText



Set MyMail = Nothing
Set MyOutlook = Nothing

Set MailList = Nothing
Set db = Nothing

End Function

I have the following piece of code that updates a field in a table with a selected value from a list box

Dim varItm As Variant
If IsNull(Me.tb_Other1) Then
DoCmd.RunSQL "UPDATE Tbl_Section_1 SET Tbl_Section_1.ProgUsed =" & Me.Lb_Programmes.ItemData(varItm) & _
" Where" & [Tbl_Section_1]![UniqueID] = Me.Tb_UniqueId
DoCmd.RunSQL "UPDATE Tbl_Section_1 SET Tbl_Section_1.ProgUsed =" & Me.tb_Other1 & _
" Where" & [Tbl_Section_1]![UniqueID] = Me.Tb_UniqueId
End If

When run a run time error 2465 is returned. I think it is to do with the Where clause of the statement.

I have an application that can connect to any database, and automatically generates a GUI in the style of MSOutlook depending on the tables you have and their interrelations. The GUI shows a tree structure of all data and interconnected tables on the left, detailed form info on the upper right, including a full list on lower right.

In the example of Northwind, I want to assign icons so that specific products or categories, or customers have different icons displayed in the tree structure.

I have an image list that I populate at run time that is linked to my tree. However this list is populated by the function "LoadPicture". I have a form I have created that is linked to a table where Icon links are stored, and I wish to populate from that so that users can maintain their own icon list.

What VBA code do I use to populate from my Table? I can't find any help references to do this. It works successfully using the "LoadPicture" as below, but not from the field bitmap reference in my table.

Dim rst_icn as RecordSet
Set rst_icn = CurrentDb.OpenRecordset("SELECT * FROM tbl_ICN;")

Do While Not rst_icn.EOF
Me.Controls(15).Object.ListImages.Add 1, , LoadPicture("C:Img1.bmp")
The following doesn't work where the reference to icn_img is defined as an OLE Object field in my table....

Dim rst_icn as RecordSet
Set rst_icn = CurrentDb.OpenRecordset("SELECT * FROM tbl_ICN;")

Do While Not rst_icn.EOF
Me.Controls(15).Object.ListImages.Add 1, , rst_icn!icn_img
The first method above is acceptable but clumsy as the users have to also maintain a hyperlink to the image, which I can then read the location of use in the LoadPicture function. However, if the bitmap is already referenced in the table, why can't I reference it without getting the Run-time error 481 Invalid Picture. I have trying setting the link to the bitmap in the table to "linked", but this does not help the code to work although the image is automatically updated when edited from outside Access.

Or is there a better way for users to maintain icons to be used in image lists?

Would like to handle run time error 94 (Invalid Use of Null) in my code so that I can put my own msg in there so my users don't get the standard one mentioned.

Any help as to how I refer to this error in error handling would be appreciated..

Note: Would like to place this in the 'On Error' event of my form..


EDIT: The sequence that creates this is when the user would enter garbage text into a dropdown, delete the garbage text and then try to exit the form by clicking the x (to close the form)


I have a custom dialog box which has combo boxes to choose criteria for a query and then exports the query to Excel. The problem comes if the user gets to the 'Output To' save box but then decides to cancel I/they get Run-Time Error '2501': The OutputTo Action was cancelled which then stops the procedure and efefctively for the end user breaks the database and scares the hell out of them! Is there some code I can add that will either stop them cancelling or alternativel, and preferably for VBA to just ignore it and cancel the whole action, closing the dialog box(as it is supposed to once saved) Code shown below:

	Private Sub cmdOKRepHQAll_Click()
If IsNull(cboREPAll) Then
      MsgBox "You must choose a Rep." _
         & vbCrLf & "Please try again.", vbExclamation, _
         "More information required."
      Exit Sub
 End If
 ' Open MsgBox to tell user that a save box will open next
    MsgBox "Please Rename and Save The Export", vbQuestion, "Export To Excel"
    ' Exports Query to Excel
    DoCmd.OutputTo acOutputQuery, "qryByRep", "ExcelWorkbook(*.xlsx)", "", True, "", 0, acExportQualityPrint
    ' Closes Form
    DoCmd.Close acForm, "frmChAllbyRep"
End Sub

fdlgCheckAddress is a form I can open using the DoCmd.OpenForm command… After I make changes to the form and return to the form I was on, the changes don’t automatically appear unless I hit the Refresh button, move to another record, or close and reopen the form. Therefore, I created the following code in the Unload Event of my fdlgCheckAddress:

Private Sub Form_Unload(Cancel As Integer)


End Sub

The above code is doing what I want it to do, but whenever I open fdlgCheckAddress in DesignView to revise the form and try to close it I get the following error message:

Microsoft Visual Basic

Run-time error ‘2450’:

ET : Database (Access 2007) can’t find the form ‘frmCompaniesMAIN’ referred to in a macro expression or Visual Basic Code.

I have to delete the code in order to close the form and then open up my main form again and retrieve fdlgCheckAddress using the command button and go into DesignView and reenter the code, close the form…

Did I set this up correctly?


Hi, every time I try to open a form that is linked to another form, I get the "run-time error 94: invalid use of null" message. Below is the code that pops up when I click "debug". Can anyone figure out why I keep getting this message and how I can fix it? Much thanks!


Private Sub Form_Load()

Me.OrderBy = "[ID] ASC"
Me.OrderByOn = True

Dim rst As Object
Dim rCount As Integer
Set rst = Me.RecordsetClone
On Error Resume Next
On Error GoTo 0
rCount = rst.recordCount

Dim SName As String
Dim SSurname As String

SName = DLookup("SName", "Students", "SSN='" & StudentId & "'")
SSurname = DLookup("SSurName", "Students", "SSN='" & StudentId & "'")

lblNumEntry.Caption = "Student " & SName & " " & SSurname & " has " & rCount & " Intake records"

DoCmd.GoToRecord , , acLast

If rCount = 1 Then
btnNext.Enabled = False
btnPrevious.Enabled = False
btnNext.Enabled = False
btnPrevious.Enabled = True

End If
End Sub

I keep getting this error

Run time error 2501

This SendObject action was canceled.

This is my code:

Quote: Private Sub cmdMailTicket_Click()
On Error GoTo Err_cmdMailTicket_Click

Dim stWhere As String '-- Criteria for DLookup
Dim varTo As Variant '-- Address for SendObject
Dim stText As String '-- E-mail text
Dim PlanDate As Variant '-- Rec date for e-mail text
Dim stSubject As String '-- Subject line of e-mail
Dim stWorkOrderID As String '-- The ticket ID from form
Dim stWho As String '-- Reference to Employees
Dim stPlanner As String '-- Person who assigned ticket
Dim strSQL As String '-- Create SQL update statement
Dim stWorkDescription As String '-- Work description
Dim errLoop As Error

'-- Combo of names to assign ticket to
stWho = Me.AssignedTo.Value
stWhere = "Employees.EmployeeID = " & stWho
'-- Looks up email address from Employees
varTo = DLookup("[Email]", "Employees", stWhere)

stSubject = ":: New Work order ::"

stWorkOrderID = Format(Me.WorkOrderID, "00000")
PlanDate = Me.PlanDate
'-- planner employee who assigns ticket
stPlanner = Me.PlannedBy.Column(1)
stWorkDescription = Me.Description

stText = "You have been assigned a new work order." & Chr$(13) & _
Chr$(13) & "Work Order Number :" & stWorkOrderID & Chr
$(13) & _
"This Work Order is planned by: " & stPlanner & _
Chr$(13) & "Plan Date: " & PlanDate & Chr$(13) & _
Chr$(13) & "Work Description: " & stWorkDescription & Chr
$(13) & _
Chr$(13) & "This is an automated message." & _
" Please do not respond to this e-mail."

'Write the e-mail content for sending to assignee
DoCmd.SendObject , , acFormatTXT, varTo, , , stSubject, stText, -1

Exit Sub

Select Case Err.Number
Case 2501
MsgBox "You chose to cancel."
Case Else
MsgBox Err.Description
End Select

Resume Exit_cmdMailTicket_Click

End Sub
Can you tell me where went wrong?


I searched this forum and Google looking for a way to do this, but everyone's situation I found was unique enough for it not to work for me.

I have forms that will need to be printed by the user at times. I have used VBA code behind a "Print" button on the form. Here is my code:

	Private Sub cmdPrintMapArea1_Click()
    DoCmd.RunCommand acCmdPrint
End Sub

It works fine unless:

1) User clicks the "Cancel" button on the print window if they change their mind...they then get "Run-time error '2501': The RunCommand action was canceled" with options to End, Debug, or go to Help. I don't want the users to get this confusing error, so I'd like to "handle" error 2501 so the user doesn't see this...maybe instead a message box that says "You have cancelled this print job" and only an "OK" button.

2) If the user clicks "Setup" on the print window, they get "This action can't be carried otu while processing a form or report event. A macro specified as the OnOpen, OnLoad, OnClose, OnFormat, OnRetreat, OnPage, or OnPrint property setting contains an invalid action for the property. When you click OK, an Action Failed dialog box will display the name of the macro that failed and its arguments." (No Action Failed dialog box comes up.)

Any help would be much appreciated! Thank you!

Can anyone explain why I'm getting a Run-time Error 6 on functions that were working last week? (And I've even tried decompiling to see if that fixes the problem)

Code is here. (The SQL, I've tested, and produces a dataset of around 35 records)

Note the "Debug.Print" on the second line. I get the error before even this has chance to execute.

Function MultipleFile(Period_ID As Integer, Location_ID As String, TTD_ID As Integer) As String
'On Error GoTo MultipleFile_err
Debug.Print "At least we got this far"
Dim rstTTDFile As Recordset, LetterVal As Integer
Set rstTTDFile = CurrentDb.OpenRecordset("SELECT First([TTD File].ID) AS FirstOfID, [TTD File].[Location ID], [TTD
File].[Logging Ended], Count([TTD File].[Logging Ended]) AS CountOfLoggingEnded, [TTD File].Period " & _
"FROM [TTD File] GROUP BY [TTD File].[Location ID], [TTD File].[Logging Ended], [TTD File].Period " & _
"HAVING ((([TTD File].[Location ID])='" & Location_ID & "') AND (([TTD File].Period)=" & Period_ID & ")) ORDER BY [TTD
File].[Logging Ended]") ' Grouped to eliminate duplicate files
With rstTTDFile
    If .RecordCount > 1 Then
        LetterVal = 65 ' ASCII for "A"
        Do While !FirstOfID  TTD_ID And Not .EOF
            If .EOF Then Exit Do
            LetterVal = LetterVal + 1
        If .EOF Then MultipleFile = "DUP" Else MultipleFile = Chr(LetterVal)
        MultipleFile = ""
    End If
End With

Exit Function
MsgBox CStr(Err) & " " & Err.Description
    Exit Function
End Function

Two other functions are doing exactly the same thing:

Function PrevEnd(TTD_ID As Integer, Loc_ID As String) As Date ' Return the date/time of previous download's Logging Ended
'On Error GoTo PrevEnd_err
Dim rstTTD As Recordset
MsgBox "At least we got this far"
Set rstTTD = CurrentDb.OpenRecordset("SELECT [TTD File].ID, [TTD File].[Location ID], [TTD File].[Logging Started], [TTD
File].[Logging Ended] FROM [TTD File] WHERE ((([TTD File].[Location ID]) = '" & Loc_ID & "')) ORDER BY [TTD File].[Logging
Started], [TTD File].[Logging Ended]")
With rstTTD
If .RecordCount > 0 Then
Debug.Print "RecordCount" & .RecordCount

    .FindFirst "[ID] = " & TTD_ID ' find the original TTD file
    If (![ID] = TTD_ID) And (Not .BOF) Then ' Go back one and remember the original logging started
        LogStart = ![Logging Started]
    End If
    If Not .BOF Then
    Do While ![Logging Started] = LogStart  ' skips back another one if 'Logging Started' is the same as the original TTD
file (eg duplicate or launch failure)
        If .BOF Then Exit Do
    End If
    If Not .BOF Then
        PrevEnd = ![Logging Ended]
        PrevEnd = 0
    End If
    PrevEnd = 0
End If
End With

Exit Function
MsgBox CStr(Err) & " " & Err.Description
    Exit Function
End Function


Function NextStart(TTD_ID As Integer, Loc_ID As String) As Date ' Return the date/time of next download's Logging Started

'On Error GoTo NextStart_err
Dim rstTTD As Recordset
Set rstTTD = CurrentDb.OpenRecordset("SELECT [TTD File].ID, [TTD File].[Location ID], [TTD File].[Logging Started], [TTD
File].[Logging Ended] FROM [TTD File] WHERE ((([TTD File].[Location ID]) = '" & Loc_ID & "')) ORDER BY [TTD File].[Logging
Started], [TTD File].[Logging Ended]")
With rstTTD
If .RecordCount > 0 Then
    .FindFirst "[ID] = " & TTD_ID ' find the original TTD file
    If (![ID] = TTD_ID) And (Not .EOF) Then ' Go forward one and remember the original logging started
        LogEnd = ![Logging Ended]
    End If
    If Not .EOF Then
    Do While ![Logging Ended] = LogEnd  ' skips forward another one if 'Logging Ended' is the same as the original TTD file
(eg duplicate)
        If .EOF Then Exit Do
    End If
    If Not .EOF Then
        NextStart = ![Logging Started]
        NextStart = 0
    End If
    NextStart = 0
End If
End With

Exit Function
MsgBox CStr(Err) & " " & Err.Description
    Exit Function
End Function

Can anyone help? This has got me baffled!


Hi All

I am having problems with a module I created some time back. The script is used to calculate the number of working minutes between two dates and times. For the most part it works as it should however when the two times and dates seem to be more than a few months apart I get the error message "Run-Time Error '6' Overflow"

This is the module. Can somebody advise where I am going wrong and if possible offer a fix as

Option Compare Database
Option Explicit
Public Function NetWorkHours(dteStart As Date, dteEnd As Date) As Variant
Dim intGrossDays As Integer
Dim intGrossMins As Single
Dim dteCurrDate As Date
Dim i As Integer
Dim WorkDayStart As Date
Dim WorkDayEnd As Date
Dim nonWorkDays As Integer
Dim StartDayMins As Single
Dim EndDayMins As Single
Dim NetworkMins As Integer
NetworkMins = 0
nonWorkDays = 0
'Calculate workday hours on 1st and last day
WorkDayStart = DateValue(dteEnd) + TimeValue("08:00:00")
WorkDayEnd = DateValue(dteStart) + TimeValue("17:00:00")
StartDayMins = DateDiff("n", dteStart, WorkDayEnd)
EndDayMins = DateDiff("n", WorkDayStart, dteEnd)
'Calculate total hours and days between start and end times
intGrossDays = DateDiff("d", (dteStart), (dteEnd))
intGrossMins = DateDiff("n", (dteStart), (dteEnd))
'count number of weekend days and holidays involved
For i = 0 To intGrossDays
    dteCurrDate = dteStart + i
    If Weekday(dteCurrDate, vbSaturday) < 3 Then
        nonWorkDays = nonWorkDays + 1
        If Not IsNull(DLookup("[HolDate]", "Holidays", "[HolDate] = #" & Int(dteCurrDate) & "#")) Then
            nonWorkDays = nonWorkDays + 1
        End If
    End If
Next i
'Calculate number of work hours
Select Case intGrossDays
    Case 0
        'start and end on same day
        NetworkMins = (intGrossMins - ((nonWorkDays) * 1440))
    Case 1
        'start and end on consecutive days
        NetworkMins = StartDayMins + EndDayMins
    Case Is > 1
        'start and end time on non-consecutive days
        NetworkMins = (((intGrossDays - 1) - nonWorkDays) * 480) + (StartDayMins + EndDayMins)
End Select
NetWorkHours = NetworkMins ' minutes only
End Function

I am trying to update a date/time field in a subform, and when I get to the line in the code telling it to set end_date = Now(), I get Run Time Error 2448: You can't assign a value to this object.

	If Me!group_ID = Null Then
    Me!group_ID = Null
    If Me!group_ID = Forms![Issue Details]![tblWithGroup-datasheet]!ID Then
    Forms![Issue Details]![tblWithGroup-datasheet]!End_Date = Now()
    'Me!group_ID = 999
   End If
End If

I triple checked, and subform is set to allow additions, edits and deletions.

How can I get this to put Now() as the end_date in the subform?

Many thanks!

I've designed a simple form. There’s a list box displaying 2 columns from a db. When I select a row, it should copy the values to a different form.

Here’s the code for afterupdate of the listbox :

Dim rs as DAO.recordset

Set rs=me.recordsetclone

This is giving me the following error

Run time error ‘7951’
‘You entered an expression that has an invalid reference to the RecordSetClone property’

Any ideas why?? (I’m using Access 2003)

Not finding an answer? Try a Google search.