Solved

form - fields don't refresh

Posted on 2013-10-31
6
309 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
  • 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
Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

 

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

Free Gift Card with Acronis Backup Purchase!

Backup any data in any location: local and remote systems, physical and virtual servers, private and public clouds, Macs and PCs, tablets and mobile devices, & more! For limited time only, buy any Acronis backup products and get a FREE Amazon/Best Buy gift card worth up to $200!

Join & Write a Comment

Suggested Solutions

This article is a continuation or rather an extension from Cascading Combos (http://www.experts-exchange.com/A_5949.html) and builds on examples developed in detail there. It should be understandable alone, but I recommend reading the previous artic…
Experts-Exchange is a great place to come for help with solutions for your database issues, and many problems are resolved within minutes of being posted.  Others take a little more time and effort and often providing a sample database is very helpf…
In Microsoft Access, learn the trick to repeating sub-report headings at the top of each page. The problem with sub-reports and headings: Add a dummy group to the sub report using the expression =1: Set the “Repeat Section” property of the dummy…
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…

744 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

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now