Solved

form - fields don't refresh

Posted on 2013-10-31
6
339 Views
Last Modified: 2013-10-31
Dear experts -
I have a button, when it's pressed it does a number of calculations and updates a number of fields on the form. These fields are all bound. (It updates them to allowable values, most of them are text fields.)
The button is not saving the record - the user still has to manually adjust the record.
However, after hitting the button, the fields don't visually refresh - however, the values are correctly updated, since when i put the cursor in any of the fields it then shows the correct, updated value.
I don't think I want to requery the form, since that would restore values to the last-saved condition; I tried form.refresh, but this is causing the record to save first, which I don't want.
any ideas?
Thanks -
0
Comment
Question by:terpsichore
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 2
6 Comments
 
LVL 57
ID: 39613810
Issue a Me.Repaint.

Jim.
0
 

Author Comment

by:terpsichore
ID: 39613833
that doesn't work for some reason
0
 
LVL 57

Accepted Solution

by:
Jim Dettman (Microsoft MVP/ EE MVE) earned 500 total points
ID: 39613848
Need more detail on the setup and what your doing.   You've covered all three possibilities already:

Repaint - Forces a repaint and re-calculate of all controls based on existing data.
Refresh - Gets fresh data for the existing records.
Requery - Dumps all records and gets a new recordset - This picks up new records where a refresh will not.

Jim.
0
Salesforce Made Easy to Use

On-screen guidance at the moment of need enables you & your employees to focus on the core, you can now boost your adoption rates swiftly and simply with one easy tool.

 

Author Comment

by:terpsichore
ID: 39613864
1. the form is a simple form based on a single table.
2. I have a 'populate' button, with the code pasted below which fires on the Click event of the button. This all executes correctly, and exits the procedure with the right values for each of those controls.
3. As I said above, when I click on an individual control, it appears with the new, updated value.

Thanks -

Private Sub cmdPopulate_Click()
'If Me.chkPTDifferentRemitAddress = True this button is disabled


If MsgBox("You are about to populate ALL PT fields based on the current data - are you sure?" & vbCrLf & vbCrLf & "(You will be able to manually edit data before saving; you can also re-edit the PT data at any time before an export)." & vbCrLf & vbCrLf & "NOTE: the program will SKIP any fields that exceed the target field length - you will need to edit these manually.", vbYesNo) = vbNo Then
    Exit Sub
End If


'populate PTvendorname
If Me.txtlen_companyname > 0 Then
    If Me.txtlen_companyname <= Me.txtLimit_PTVendorName Then
        Me.PTVendorName = Me.txtCompanyName
    End If
Else
    If Me.txtlen_fullname > 0 And Me.txtlen_fullname <= Me.txtLimit_PTVendorName Then
        Me.PTVendorName = Me.txtForename & " " & Me.txtSurname
    End If
End If

'populate PTcontact
If Me.txtlen_companyname = 0 Then
    'do not populate! name was already used to populate ptvendorname
Else
    If Me.txtlen_fullname > 0 And Me.txtlen_fullname <= Me.txtLimit_PTContact Then
        Me.PTContact = Me.txtForename & " " & Me.txtSurname
    End If
End If

'populate PTaddress1
If Me.txtlen_address1 > 0 And Me.txtlen_address1 <= Me.txtLimit_PTAddress1 Then
    Me.PTAddress1 = Me.txtAddress1
End If

'populate PTaddress2
If Me.txtlen_address2 > 0 And Me.txtlen_address2 <= Me.txtLimit_PTAddress2 Then
    Me.PTAddress2 = Me.txtAddress2
End If

'populate PTcity
If Me.txtlen_city > 0 And Me.txtlen_city <= Me.txtLimit_PTCity Then
    Me.PTCity = Me.txtCity
End If

'populate PTstate
If Me.txtlen_state > 0 And Me.txtlen_state <= Me.txtLimit_PTSpecialState Then
    Me.PTSpecialState = Me.txtState
End If

'populate PTPostalCode
If Me.txtlen_postalcode > 0 And Me.txtlen_postalcode <= Me.txtLimit_PTPostalCode Then
    Me.PTPostalCode = Me.txtPostalCode
End If

'populate PTCountry_ID
Me.cboPTCountry_ID = Me.cboCountry_ID

Me.Form.Repaint


End Sub

Open in new window

0
 

Author Comment

by:terpsichore
ID: 39613919
I've requested that this question be closed as follows:

Accepted answer: 0 points for terpsichore's comment #a39613833

for the following reason:

actually - your repaint solution worked. I realize the problem was (stupidly) I was updated the field values and not the text fields. thank you!
0
 

Author Closing Comment

by:terpsichore
ID: 39613920
sorry - i meant to choose Jim's response here. This ended up being the solution.
0

Featured Post

Salesforce Has Never Been Easier

Improve and reinforce salesforce training & adoption using WalkMe's digital adoption platform. Start saving on costly employee training by creating fast intuitive Walk-Thrus for Salesforce. Claim your Free Account Now

Question has a verified solution.

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

A simple tool to export all objects of two Access files as text and compare it with Meld, a free diff tool.
Did you know that more than 4 billion data records have been recorded as lost or stolen since 2013? It was a staggering number brought to our attention during last week’s ManageEngine webinar, where attendees received a comprehensive look at the ma…
Learn how to number pages in an Access report over each group. Activate two pass printing by referencing the pages property: Add code to the Page Footers OnFormat event to capture the pages as there occur for each group. Use the pages property to …
With Microsoft Access, learn how to specify relationships between tables and set various options on the relationship. Add the tables: Create the relationship: Decide if you’re going to set referential integrity: Decide if you want cascade upda…

730 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