sbrocks
10-24-2008, 07:43 AM
I'm at my wits end. I think there is something wrong with my code because I'm connecting with the database ok. But when I run this I get an 'Object Required' error. I have option explicit and compile fine... :( Can anybody see where I've gone wrong here?
Dim db As ADODB.Connection
Dim rs As ADODB.Recordset
Dim strStudent As String
Dim strRel As String
Dim strSQL As String
Dim OldDat(0 To 9)
'Database is SQL, linked to the mdb with password saved.
Set db = New ADODB.Connection
db.Open CurrentProject.Connection
strStudent = Forms!frmstudents.lstStudents.Value
strRel = Forms!frmstudents.lstRelatives.Value
Set rs = New ADODB.Recordset
rs.Open "SELECT * from dbo_ADDRRELA WHERE dbo_ADDRRELA.iid = '" & strStudent & "' AND dbo_ADDRRELA.riid = '" & strRel & "'", db, 1, 3
'load an array with current values from the form so you can tell if one has been updated
'doing this because the dirty property doesn't work on unbound forms
OldDat(0) = rs.Fields.Item("hphone")
OldDat(1) = rs.Fields.Item("hpager")
OldDat(2) = rs.Fields.Item("hemail")
OldDat(3) = rs.Fields.Item("hmobile")
OldDat(4) = rs.Fields.Item("bphone")
OldDat(5) = rs.Fields.Item("bemail")
OldDat(6) = rs.Fields.Item("address")
OldDat(7) = rs.Fields.Item("city")
OldDat(8) = rs.Fields.Item("state")
OldDat(9) = rs.Fields.Item("zip")
rs.MoveFirst
'update primary info
If Me.txthphone <> OldDat(0) Then
Set rs.Fields("hphone").Value = Me.txthphone.Value ---ERROR HERE 'Object Required'
End If
If Me.txthpager <> OldDat(1) Then
Set rs.Fields("hpager").Value = Me.txthpager
End If
close rs and db...
Thank you in advance to anyone who can see the error of my ways. Meantime I'll try DAO..?..?
Dim db As ADODB.Connection
Dim rs As ADODB.Recordset
Dim strStudent As String
Dim strRel As String
Dim strSQL As String
Dim OldDat(0 To 9)
'Database is SQL, linked to the mdb with password saved.
Set db = New ADODB.Connection
db.Open CurrentProject.Connection
strStudent = Forms!frmstudents.lstStudents.Value
strRel = Forms!frmstudents.lstRelatives.Value
Set rs = New ADODB.Recordset
rs.Open "SELECT * from dbo_ADDRRELA WHERE dbo_ADDRRELA.iid = '" & strStudent & "' AND dbo_ADDRRELA.riid = '" & strRel & "'", db, 1, 3
'load an array with current values from the form so you can tell if one has been updated
'doing this because the dirty property doesn't work on unbound forms
OldDat(0) = rs.Fields.Item("hphone")
OldDat(1) = rs.Fields.Item("hpager")
OldDat(2) = rs.Fields.Item("hemail")
OldDat(3) = rs.Fields.Item("hmobile")
OldDat(4) = rs.Fields.Item("bphone")
OldDat(5) = rs.Fields.Item("bemail")
OldDat(6) = rs.Fields.Item("address")
OldDat(7) = rs.Fields.Item("city")
OldDat(8) = rs.Fields.Item("state")
OldDat(9) = rs.Fields.Item("zip")
rs.MoveFirst
'update primary info
If Me.txthphone <> OldDat(0) Then
Set rs.Fields("hphone").Value = Me.txthphone.Value ---ERROR HERE 'Object Required'
End If
If Me.txthpager <> OldDat(1) Then
Set rs.Fields("hpager").Value = Me.txthpager
End If
close rs and db...
Thank you in advance to anyone who can see the error of my ways. Meantime I'll try DAO..?..?