Solved

Refresh subform on different tab control

Posted on 2004-08-24
4
982 Views
Last Modified: 2007-12-19
Greetings, Experts...can somebody please help me resolve this? I have a form with 23 tabs, each with a subform linked to its own SQL table. Let's just deal with two for now (subfrm_00_MAIN and subfrm_01_TopDogHouse). Using the following code, I'm trying to refresh the Record_Number of the subform on the second tab, and see it when I click on that tab. This works great if I close the form and reopen, but I get Run-time error '3021': no current record when clicking the 2nd tab. I've tried for a day to resolve this, but can't seem to dial it in. Here's the code:

Private Sub cmdNew_Click()
On Error GoTo Err_cmdNew_Click
    Dim strSQL As String

    DoCmd.GoToRecord , , acNewRec
           
    DoCmd.SetWarnings False
   
       Me.Record_Number.Value = Format(Now(), "mmddhhnnss")
        strSQL = "INSERT INTO dbo_T_01TopDogHouse (Record_Number) VALUES ('" & Me.Record_Number.Value & "');"
        DoCmd.RunSQL strSQL
       
    DoCmd.SetWarnings True
    Me.Record_Date.SetFocus

Exit_cmdNew_Click:
    Exit Sub

Err_cmdNew_Click:
    MsgBox Err.Description
    Resume Exit_cmdNew_Click
   
End Sub
----------------------------------------------
Private Sub TabCtl0_Change()
     
     Select Case Me.TabCtl0.Value
        Case 0
            Me.subfrm_00_MAIN.Form.RecordsetClone.FindFirst "Record_Number =" & Me.Record_Number
            Me.subfrm_00_MAIN.Form.Recordset.Bookmark = Me.subfrm_00_MAIN.Form.RecordsetClone.Bookmark
        Case 1
            Me.subfrm_01_TopDogHouse.Form.RecordsetClone.FindFirst "Record_Number =" & Me.Record_Number
            Me.subfrm_01_TopDogHouse.Form.RecordsetClone.Bookmark = Me.subfrm_01_TopDogHouse.Form.RecordsetClone.Bookmark
     End Select
   
End Sub
0
Comment
Question by:rsanglim
  • 2
4 Comments
 
LVL 3

Expert Comment

by:gemost
ID: 11883340
DId you try putting  the code in the change event in the subforms current event?
When I use subforms on tabs I have found that to get any recordsourse information the code needs to be either in the subform or I use code in the main form such as:

   intAns = Me.subformName.Form.Recordset.RecordCount
   If intAns = 0 Then
     What I want if there is no recordecount
   Else
      What I want if their is a recordcount
   End If

I also used an if statement in the change event instead of  a select case.

      If TabCtlPO = (1 or 2) Then
         What you want to do if the tab you are on equals this number
      End If

hope this helps
gemost :)
0
 

Author Comment

by:rsanglim
ID: 11884204
I tried the subforms current event, without success :(
My current code works great if I close and reopen, but I don't want to have to do that each time when inserting a new record.
0
 
LVL 39

Accepted Solution

by:
stevbe earned 500 total points
ID: 11885312
one way around this without any code is to put a hidden textbox on your main form that holds the current record_number and then use the control as the Master Linking field for all of your subforms, assuming they are all related to the same key. If you have many relationships then you could use m,ultiple hidden textboxes to let Access take care of sync'ng for you.

Steve
0
 

Author Comment

by:rsanglim
ID: 11886674
Steve...EXCELLENT! Simple and quick...don't know why I didn't see that earlier (what a knucklehead!).

...Thanks...Scott
0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Introduction The Visual Basic for Applications (VBA) language is at the heart of every application that you write. It is your key to taking Access beyond the world of wizards into a world where anything is possible. This article introduces you to…
Access developers frequently have requirements to interact with Excel (import from or output to) in their applications.  You might be able to accomplish this with the TransferSpreadsheet and OutputTo methods, but in this series of articles I will di…
Using Microsoft Access, learn some simple rules for how to construct tables in a relational database. Split up all multi-value fields into single values: Split up fields that belong to other things into separate tables: Make sure that all record…
In Microsoft Access, learn different ways of passing a string value within a string argument. Also learn what a “Type Mis-match” error is about.

713 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question