BenjaminLim
IS-IT--Management
I encountered the above run-time error : 3251 with the following codes.
Please advice what I have done wrongly & how to correct the codes. The linw is at specifically :
rst1.FindFirst "rst1!Date1 = rstd1!Date1"
Code Listing
==================
Sub Forecast()
Dim SeqA As String, SeqB As String, NumA As String, NumB As String
Dim DateA As Date, DateB As Date, OrigA As String, OrigB As String
Dim PriceA As Integer, PriceB As Integer
Dim db As Database, rstd1 As Recordset, rstd2 As Recordset, rstd3 As Recordset
Dim rst As Recordset, rst1 As Recordset, rst2 As Recordset, rst3 As Recordset
Dim varBookmark As Variant
Dim varBookmark1 As Variant
Dim varBookmark2 As Variant
Dim DDate1 As Date
Dim Str1 As String
Set db = CurrentDb
Set rst = db.OpenRecordset("Forecast"![Wink ;) ;)](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Set rstd1 = db.OpenRecordset("First Date Set"![Wink ;) ;)](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Set rstd2 = db.OpenRecordset("Second Date Set"![Wink ;) ;)](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Set rstd3 = db.OpenRecordset("Third Date Set"![Wink ;) ;)](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Set rst1 = db.OpenRecordset("4d"![Wink ;) ;)](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Set rst2 = db.OpenRecordset("4d"![Wink ;) ;)](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Set rst3 = db.OpenRecordset("4d"![Wink ;) ;)](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
With rstd1
.MoveFirst
Do Until .EOF
With rst1
DDate1 = rstd1!Date1
varBookmark = .Bookmark
.MoveLast
rst1.FindFirst "rst1!Date1 = rstd1!Date1"
Do While True
SeqA = rst1!Seq
NumA = rst1!Num1
DateA = rst1!Date1
OrigA = rst1!OrigNo
PriceA = rst1!Price
If .NoMatch Then
.Bookmark = varBookmark
Exit Do
End If
With rstd2
.MoveFirst
Do Until .EOF
With rst2
.MoveLast
varBookmark1 = .Bookmark
.FindFirst rst2!Date1 = rstd2!Date1
Do While True
SeqB = rst2!Seq
NumB = rst2!Num1
DateB = rst2!Date1
OrigB = rst2!OrigNo
PriceB = rst2!Price
If .NoMatch Then
.Bookmark = varBookmark1
Exit Do
End If
With rstd3
.MoveFirst
Do Until .EOF
With rst3
.MoveLast
varBookmark2 = .Bookmark
.FindFirst rst3!Date1 = rstd3!Date1
Do While True
rst.AddNew
rst!SeqA = SeqA
rst!SeqB = SeqB
rst!SeqC = rst3!Seq
rst!NumA = NumA
rst!NumB = NumB
rst!NumC = rst3!Num1
rst!DateA = DateA
rst!DateB = DateB
rst!DateC = rst3!Date1
rst!OrigA = OrigA
rst!OrigB = OrigB
rst!OrigC = rst3!OrigNo
rst!PriceA = PriceA
rst!PriceB = PriceB
rst!PriceC = rst3!Price
rst.Update
If .NoMatch Then
.Bookmark = varBookmark2
Exit Do
End If
.FindNext rst3!Date1 = rstd3!Date1
Loop
End With
.MoveNext
Loop
End With
.FindNext rst2!Date1 = rstd2!Date1
Loop
End With
.MoveNext
Loop
End With
.FindNext rst1!Date1 = rstd1!Date1
Loop
End With
.MoveNext
Loop
End With
rst.Close
rst1.Close
rst2.Close
rst3.Close
rstd1.Close
rstd2.Close
rstd3.Close
End Sub
'=====================
Regards
Benjamin
Please advice what I have done wrongly & how to correct the codes. The linw is at specifically :
rst1.FindFirst "rst1!Date1 = rstd1!Date1"
Code Listing
==================
Sub Forecast()
Dim SeqA As String, SeqB As String, NumA As String, NumB As String
Dim DateA As Date, DateB As Date, OrigA As String, OrigB As String
Dim PriceA As Integer, PriceB As Integer
Dim db As Database, rstd1 As Recordset, rstd2 As Recordset, rstd3 As Recordset
Dim rst As Recordset, rst1 As Recordset, rst2 As Recordset, rst3 As Recordset
Dim varBookmark As Variant
Dim varBookmark1 As Variant
Dim varBookmark2 As Variant
Dim DDate1 As Date
Dim Str1 As String
Set db = CurrentDb
Set rst = db.OpenRecordset("Forecast"
Set rstd1 = db.OpenRecordset("First Date Set"
Set rstd2 = db.OpenRecordset("Second Date Set"
Set rstd3 = db.OpenRecordset("Third Date Set"
Set rst1 = db.OpenRecordset("4d"
Set rst2 = db.OpenRecordset("4d"
Set rst3 = db.OpenRecordset("4d"
With rstd1
.MoveFirst
Do Until .EOF
With rst1
DDate1 = rstd1!Date1
varBookmark = .Bookmark
.MoveLast
rst1.FindFirst "rst1!Date1 = rstd1!Date1"
Do While True
SeqA = rst1!Seq
NumA = rst1!Num1
DateA = rst1!Date1
OrigA = rst1!OrigNo
PriceA = rst1!Price
If .NoMatch Then
.Bookmark = varBookmark
Exit Do
End If
With rstd2
.MoveFirst
Do Until .EOF
With rst2
.MoveLast
varBookmark1 = .Bookmark
.FindFirst rst2!Date1 = rstd2!Date1
Do While True
SeqB = rst2!Seq
NumB = rst2!Num1
DateB = rst2!Date1
OrigB = rst2!OrigNo
PriceB = rst2!Price
If .NoMatch Then
.Bookmark = varBookmark1
Exit Do
End If
With rstd3
.MoveFirst
Do Until .EOF
With rst3
.MoveLast
varBookmark2 = .Bookmark
.FindFirst rst3!Date1 = rstd3!Date1
Do While True
rst.AddNew
rst!SeqA = SeqA
rst!SeqB = SeqB
rst!SeqC = rst3!Seq
rst!NumA = NumA
rst!NumB = NumB
rst!NumC = rst3!Num1
rst!DateA = DateA
rst!DateB = DateB
rst!DateC = rst3!Date1
rst!OrigA = OrigA
rst!OrigB = OrigB
rst!OrigC = rst3!OrigNo
rst!PriceA = PriceA
rst!PriceB = PriceB
rst!PriceC = rst3!Price
rst.Update
If .NoMatch Then
.Bookmark = varBookmark2
Exit Do
End If
.FindNext rst3!Date1 = rstd3!Date1
Loop
End With
.MoveNext
Loop
End With
.FindNext rst2!Date1 = rstd2!Date1
Loop
End With
.MoveNext
Loop
End With
.FindNext rst1!Date1 = rstd1!Date1
Loop
End With
.MoveNext
Loop
End With
rst.Close
rst1.Close
rst2.Close
rst3.Close
rstd1.Close
rstd2.Close
rstd3.Close
End Sub
'=====================
Regards
Benjamin