martyuni
asked on
Access 2010 form question
I haven't used in Access in quite some time so I am a little rusty, and never used 2010 version. I have a form. On the form I have 2 drop downs and 2 text boxes. User picks a value from the first drop down, that runs a query and populates the second drop down. The second drop down the user selects a vendor. After that the ID value of the vendor is put into one of the text boxes that is hidden. What I need to do in addition to that is run a query using that value to populate the other text box. I have tried refreshes on the drop down change and on the hidden text box change but that other textbox just remains blank. Any help is appreciated.
Try the AfterUpdate event of the 2nd dropdown.
Which is the "other textbox"? The hidden one with the ID, or another?
Also, you may find it works better to store the ID value in a custom database property, from which it can be retrieved throughout the database. Here is some sample code:
Also, you may find it works better to store the ID value in a custom database property, from which it can be retrieved throughout the database. Here is some sample code:
Option Compare Database
Option Explicit
Private dbs As DAO.Database
Private prp As DAO.Property
Private prps As DAO.Properties
Private strPropertyName As String
Private strPropertyValue As String
Private lngDataType as Long
Private varPropertyValue As Variant
Public Sub SetProperty(strName As String, lngType As Long, _
varValue As Variant)
'Created by Helen Feddema 2-Oct-2006
'Modified by Helen Feddema 2-Oct-2006
'Called from various procedures
On Error GoTo ErrorHandler
'Attempt to set the specified property
Set dbs = CurrentDb
Set prps = dbs.Properties
prps(strName) = varValue
ErrorHandlerExit:
Exit Sub
ErrorHandler:
If Err.Number = 3270 Then
'The property was not found; create it
Set prp = dbs.CreateProperty(Name:=strName, _
Type:=lngType, Value:=varValue)
dbs.Properties.Append prp
Resume Next
Else
MsgBox "Error No: " & Err.Number _
& " in SetProperty procedure; " _
& "Description: " & Err.Description
Resume ErrorHandlerExit
End If
End Sub
Public Function GetProperty(strName As String, strDefault As String) _
As Variant
'Created by Helen Feddema 2-Oct-2006
'Modified by Helen Feddema 2-Oct-2006
'Called from various procedures
On Error GoTo ErrorHandler
'Attempt to get the value of the specified property
Set dbs = CurrentDb
GetProperty = dbs.Properties(strName).Value
ErrorHandlerExit:
Exit Function
ErrorHandler:
If Err.Number = 3270 Then
'The property was not found; use default value
GetProperty = strDefault
Resume Next
Else
MsgBox "Error No: " & Err.Number _
& " in GetProperty procedure; " _
& "Description: " & Err.Description
Resume ErrorHandlerExit
End If
End Function
Public Function ListCustomProps()
'Created by Helen Feddema 3-Oct-2006
'Modified by Helen Feddema 3-Oct-2006
'Lists DB properties created in code (as well as built-in properties)
On Error Resume Next
Set dbs = CurrentDb
Debug.Print "Database properties:"
For Each prp In dbs.Properties
Debug.Print vbTab & prp.Name & ": " & prp.Value
Next prp
End Function
==================================
Usage examples:
Private dbs As DAO.Database
Private prp As DAO.Property
Private prps As DAO.Properties
Private lngDataType As Long
Private strPropertyName As String
Private strPropertyValue as String
Private varPropertyValue As Variant
Date
====
strPropertyName = "PropName"
lngDataType = dbDate
Call SetProperty(strPropertyName, lngDataType, dteStart)
GetStartDate = CDate(GetProperty("PropName", ""))
Text
====
strPropertyName = "PropName"
strPropertyValue = CStr(cbo.Value)
lngDataType = dbText
Call SetProperty(strPropertyName, lngDataType, _
strPropertyValue )
strDocsPath = GetProperty("PropName", "")
Long
====
strPropertyName = "PropName"
lngDataType = dbLong
Call SetProperty(strPropertyName, lngDataType, lngID)
lngID = CLng(GetProperty("PropName", ""))
Integer
=======
strPropertyName = "PropName"
lngDataType = dbInteger
Call SetProperty(strPropertyName, lngDataType, intMonth)
intID = CInt(GetProperty("PropName", ""))
Saving to a custom property from a control's AfterUpdate event
==============================================================
Private Sub txtDate_AfterUpdate()
'Created by Helen Feddema 2-Sep-2009
'Last modified 2-Sep-2009
On Error GoTo ErrorHandler
If IsDate(Me![txtDate].Value) = True Then
dteSingle = CDate(Me![txtDate].Value)
strPropertyName = "SingleDate"
Call SetProperty(strName:=strPropertyName, _
lngType:=dbDate, varValue:=dteSingle)
End If
ErrorHandlerExit:
Exit Sub
ErrorHandler:
MsgBox "Error No: " & Err.Number & "; Description: " & _
Err.Description
Resume ErrorHandlerExit
End Sub
ASKER
On AfterUpdate I tied to embed a macro that does a requery on that control and it doesn't do anything. Should I be doing something else?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.