depends if you want to do it field by field , or run an update query using the keys....
Code:
Public Sub FillBlankRecs()
Dim rst
Dim vVal, vKey, vPrevKey
Dim vName, vAddr, vCity, vSt
DoCmd.SetWarnings False
Set rst = CurrentDb.OpenRecordset("qsMyQuery")
With rst
While Not .EOF
vKey = .Fields("Key").Value
vName = .Fields("Name").Value
'either copy the previous record to this record
If IsNull(vName ) Then
sSql = "UPDATE tData, tData AS tData_1 SET tData.Mo = [tData_1].[mo], tData.MoName = [tData_1].[MoName], tData.FiscalOrder = [tData_1].[FiscalOrder] WHERE (((tData.MoNum)=" & vKey & ") AND ((tData_1.MoNum)=" & vPrevKey & "));"
DoCmd.RunSQL sSql
End If
'or do it FIELD by FIELD
If IsNull(vVal) Then
.Fields("Name").Value = vName
.Fields("Addr").Value = vAddr
.Fields("City").Value = vCity
.Fields("ST").Value = vSt
.Update
End If
vName = .Fields("Name").Value
vAddr = .Fields("Addr").Value
vCity = .Fields("City").Value
vSt = .Fields("ST").Value
vPrevKey = vKey
.MoveNext
Wend
End With
Set rst = Nothing
DoCmd.SetWarnings True
MsgBox "done"
End Sub