View Single Post
Old 05-18-2004, 08:24 AM   #1 (permalink)
John Henry
Addict
 
Join Date: Apr 2003
Location: Grey Britain
[Visual Basic][Access] Referring to an arbitrary field

A few days ago I asked about some code to loop through controls on a form. Stompy gave me a snippet for that and it's been very useful several times already. However, I'm now trying to use it as a lazy (plus efficient and futureproof) way of uploading data from TextBoxes and ComboBoxes, but I'm having trouble.

I have associated each of the relevant Controls with a field in the database, which is associated with a Data Control on the same form.

The code I'm using to try to add a new record is shown below.


Private Sub cmdAdd_Click()

cmdAdd.Enabled = False

Dim strDbName As String
Dim dbDatabase As Database, rsProperty As Recordset

strDbName = App.Path & "\EstateAgent.mdb"
Set dbDatabase = DBEngine.Workspaces(0).OpenDatabase(strDbName)
Set rsProperty = dbDatabase.OpenRecordset("properties")

rsProperty.AddNew

Dim e As Control

For Each e In Me.Controls
MsgBox e.Name
If (e.DataSource = Data1) Then
rsProperty!e.DataField = e
End If
Next

rsProperty.Close
dbDatabase.Close
Me.Refresh
cmdAdd.Enabled = True

End Sub

It doesn't like the line 'rsProperty!e.DataField = e' and returns an error 'Method or Data Object not found.'

I presume this is because it's trying to find a field called 'e.DataField', rather than the field that it holds. Is there any way I can make it look for whatever field e.DataField holds?
__________________
"No one was behaving from very Buddhist motives. Then, thought Pigsy, he was hardly a Buddha, nor was he a monkey. Presently, he was a pig spirit changed into a little girl pretending to be a little boy to be offered to a water monster. It was all very simple to a pig spirit."
John Henry is offline   Reply With Quote