To help you debug your code,
1. Check that it compiles okay, by choosing Compile on the Debug menu.
2. Temporarily comment out the error handler, by adding a single quote to
the first line:
'On Error GoTo Err_CarryOver
3. Immedately below that, enter:
Stop
Now when the code runs, it will stop and highlight the Stop line. You can
then press F8 to single-step through the code, and see what is happening
until you identify the problem.
--
Allen Browne - Microsoft MVP. Perth, Western Australia.
Tips for Access users -
http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.
<campbellbrian2001@yahoo.com> wrote in message
news:1135978433.274746.62200@g44g2000cwa.googlegro ups.com...[color=blue]
> Sorry!
> Here's what I did..
> Open a new form in Design View with 4 text boxes bound to 4 fields in a
> table.
> In the Properties Box, selected the BeforeInsert event, and typed in
> [Event Procedure]
> "Call CarryOver(Me)"
> Created a module "basCarryOver" and typed this code:
>
> Sub CarryOver(frm As Form)
> On Error GoTo Err_CarryOver
> ' Purpose: Carry the values over from the last record to a new one.
> ' Usage: In a form's BeforeInsert event procedure, enter:
> ' Call CarryOver(Me)
> ' Notes: This example limited to text boxes and combo boxes.
> ' Text/combo boxes must have same Name as the fields they
> represent.
> Dim rst As DAO.Recordset
> Dim ctl As Control
> Dim i As Integer
>
> Set rst = frm.RecordsetClone
> If rst.RecordCount > 0 Then
> rst.MoveLast
> For i = 0 To frm.count - 1
> Set ctl = frm(i)
> If TypeOf ctl Is TextBox Then
> If Not IsNull(rst(ctl.Name)) Then
> ctl = rst(ctl.Name)
> End If
> ElseIf TypeOf ctl Is ComboBox Then
> If Not IsNull(rst(ctl.Name)) Then
> ctl = rst(ctl.Name)
> End If
> End If
> Next
> End If
>
> Exit_CarryOver:
> Set rst = Nothing
> Exit Sub
>
> Err_CarryOver:
> Select Case Err
> Case 2448 'Cannot assign a value
> Debug.Print "Value cannot be assigned to " & ctl.Name
> Resume Next
> Case 3265 'Name not found in this collection.
> Debug.Print "No matching field name found for " & ctl.Name
> Resume Next
> Case Else
> MsgBox "Carry-over values were not assigned, from " & ctl.Name
> & _
> ". Error #" & Err.Number & ": " & Err.Description,
> vbExclamation, "CarryOver()"
> Resume Exit_CarryOver
> End Select
> End Sub
>
>
> The record selector gives a new record but without the text boxes
> pre-filled with the last record's values.
>
> Thanks! Brian
>[/color]