Results 1 to 6 of 6
  1. #1
    Join Date
    Feb 2009
    Posts
    6

    combo not updating form

    First Combo - working appropriately
    Private Sub cmbDSerialNumber_AfterUpdate()
    Dim rs As DAO.Recordset


    If Not IsNull(Me.cmbDSerialNumber) Then
    'Save before move.
    If Me.Dirty Then
    Me.Dirty = False
    End If
    'Search in the clone set.
    Set rs = Me.RecordsetClone
    rs.FindFirst "dserialnumber = '" & cmbDSerialNumber & "'"
    If rs.NoMatch Then
    MsgBox "There is no task for: " & cmbDSerialNumber & " Add Task?", vbYesNoCancel
    Else
    'Display the found record in the form.
    Me.Bookmark = rs.Bookmark
    End If
    Set rs = Nothing
    End If
    End Sub

    'User presses edit task command button
    Private Sub EditTaskBttn_Click()
    DoCmd.OpenForm "EditTask", , , "[TSerialNumber] = '" & Me.cmbDSerialNumber.Column(0) & "'", acFormEdit
    End Sub
    ' Loading Edit Task Form
    Private Sub Form_Load()
    Me.TSerialNumber = Forms![Main Switchboard]!cmbDSerialNumber
    Me.Caption = "Serial Number: " & Me!TSerialNumber.Value
    End Sub
    'Query for Second Combo
    SELECT TaskList.TSerialNumber, TaskList.[No], TaskList.Task
    FROM Dockets INNER JOIN TaskList ON Dockets.DSerialNumber = TaskList.TSerialNumber
    WHERE (((TaskList.TSerialNumber)=[Forms]![Main Switchboard]![cmbDSerialNumber]));
    'Loading Second Combo
    Private Sub CmbTSerialNumber_AfterUpdate()
    Me.RecordsetClone.FindFirst "[no] = " & Me!CmbTSerialNumber.Column(2)
    Me.Bookmark = Me.RecordsetClone.Bookmark
    End Sub
    'I put a breakpoint by
    Me.RecordsetClone.FindFirst "[no] = " & Me!CmbTSerialNumber.Column(1)
    'then I press F8 to step into the next 2 statements
    Me.Bookmark = Me.RecordsetClone.Bookmark
    End Sub
    In the immediate window ? no is the correct task number but ? Me!CmbTSerialNumber.Column(1) is alway = to 1. If I add a watch to both those variables they are empty. After the sub is finished ? no is empty and ? Me!CmbTSerialNumber.Column(1) is an error message variable not yet created in this context
    A new record is being added with the serial number and the rest of the fields being blank when the record is only supposed to be edited?
    Most important the the current record after task no is chosen is not being pulled up.

  2. #2
    RuralGuy's Avatar
    RuralGuy is offline Administrator
    Windows 10 Access 2013 32bit
    Join Date
    Mar 2007
    Location
    8300' in the Colorado Rocky Mountains
    Posts
    12,922
    If you would use the code tags (the # button in the toolbar) then your post would look like:
    Code:
    Private Sub cmbDSerialNumber_AfterUpdate()
       Dim rs As DAO.Recordset
       If Not IsNull(Me.cmbDSerialNumber) Then
          'Save before move.
          If Me.Dirty Then
             Me.Dirty = False
          End If
          'Search in the clone set.
          Set rs = Me.RecordsetClone
          rs.FindFirst "dserialnumber = '" & cmbDSerialNumber & "'"
          If rs.NoMatch Then
             MsgBox "There is no task for: " & cmbDSerialNumber & " Add Task?", vbYesNoCancel
          Else
             'Display the found record in the form.
             Me.Bookmark = rs.Bookmark
          End If
          Set rs = Nothing
       End If
    End Sub
     
    'User presses edit task command button
    Private Sub EditTaskBttn_Click()
       DoCmd.OpenForm "EditTask", , , "[TSerialNumber] = '" & Me.cmbDSerialNumber.Column(0) & "'", acFormEdit
    End Sub
     
    ' Loading Edit Task Form
    Private Sub Form_Load()
       Me.TSerialNumber = Forms![Main Switchboard]!cmbDSerialNumber
       Me.Caption = "Serial Number: " & Me!TSerialNumber.Value
    End Sub
     
    'Query for Second Combo
    SELECT TaskList.TSerialNumber, TaskList.[No], TaskList.Task
    FROM Dockets INNER JOIN TaskList ON Dockets.DSerialNumber = TaskList.TSerialNumber
    WHERE (((TaskList.TSerialNumber)=[Forms]![Main Switchboard]![cmbDSerialNumber]));
     
    'Loading Second Combo
    Private Sub CmbTSerialNumber_AfterUpdate()
       Me.RecordsetClone.FindFirst "[no] = " & Me!CmbTSerialNumber.Column(2)
       Me.Bookmark = Me.RecordsetClone.Bookmark
    End Sub
     
    'I put a breakpoint by
    Me.RecordsetClone.FindFirst "[no] = " & Me!CmbTSerialNumber.Column(1)
    'then I press F8 to step into the next 2 statements
    Me.Bookmark = Me.RecordsetClone.Bookmark
    End Sub
    Quite a bit easier to read.

  3. #3
    RuralGuy's Avatar
    RuralGuy is offline Administrator
    Windows 10 Access 2013 32bit
    Join Date
    Mar 2007
    Location
    8300' in the Colorado Rocky Mountains
    Posts
    12,922
    Are you aware of the fact that this code:
    Code:
    'User presses edit task command button
    Private Sub EditTaskBttn_Click()
       DoCmd.OpenForm "EditTask", , , "[TSerialNumber] = '" & Me.cmbDSerialNumber.Column(0) & "'", acFormEdit
    End Sub
    ...puts a filter on the "EditTask" form?

  4. #4
    RuralGuy's Avatar
    RuralGuy is offline Administrator
    Windows 10 Access 2013 32bit
    Join Date
    Mar 2007
    Location
    8300' in the Colorado Rocky Mountains
    Posts
    12,922
    After putting a filter on the "EditTask" form you then proceed to Dirty a record with:
    Code:
    Private Sub Form_Load()
       Me.TSerialNumber = Forms![Main Switchboard]!cmbDSerialNumber
       Me.Caption = "Serial Number: " & Me!TSerialNumber.Value
    End Sub

  5. #5
    Join Date
    Feb 2009
    Posts
    6
    I have commented out the form load statements. I have taken away the filter so the statement appears as
    DoCmd.OpenForm "EditTask", , , , acFormEdit

    When it gets to the following code:

    Private Sub CmbTSerialNumber_AfterUpdate()
    Me.RecordsetClone.FindFirst Me!CmbTSerialNumber.Column(1) = [No]
    Me.Bookmark = Me.RecordsetClone.Bookmark
    End Sub

    I still have the following problem:

    'I put a breakpoint by
    Me.RecordsetClone.FindFirst "[no] = " & Me!CmbTSerialNumber.Column(1)

    'then I press F8 to step into the next 2 statements

    Me.Bookmark = Me.RecordsetClone.Bookmark
    End Sub

    In the immediate window Me!CmbTSerialNumber.Column(1) is the correct number but ? no is the correct task number is always = to 1. If I add a watch to both those variables they are empty. After the sub is finished ? no is empty and ? Me!CmbTSerialNumber.Column(1) is an error message variable not yet created in this context.

  6. #6
    RuralGuy's Avatar
    RuralGuy is offline Administrator
    Windows 10 Access 2013 32bit
    Join Date
    Mar 2007
    Location
    8300' in the Colorado Rocky Mountains
    Posts
    12,922
    Ant chance you are using the dredded Lookup fields?

Please reply to this thread with any new information or opinions.

Similar Threads

  1. Replies: 1
    Last Post: 03-02-2009, 11:54 AM
  2. Updating Table field from Form
    By Kunuk in forum Access
    Replies: 0
    Last Post: 02-26-2009, 11:41 PM
  3. Updating SQL server form Access form?
    By slash75 in forum Forms
    Replies: 1
    Last Post: 09-06-2008, 02:39 PM
  4. Replies: 0
    Last Post: 08-17-2008, 12:19 PM
  5. Replies: 0
    Last Post: 03-19-2006, 11:52 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Other Forums: Microsoft Office Forums