terpsichore
asked on
form - fields don't refresh
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 -
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 -
ASKER
that doesn't work for some reason
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
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 -
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
ASKER
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!
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!
ASKER
sorry - i meant to choose Jim's response here. This ended up being the solution.
Jim.