G
Guest
I get the wonderful task of 'fixing' a database where the original author is
no longer available.
Among other things, this database prints out one of several form letters and
is then supposed to update a field "DateLetterSent" with the current date.
The letters print just fine, but the date doesn't get updated, and I cannot
see what is missing or in error here.
This is the code used for this procedure:
Private Sub cmdFormLetters_Click()
On Error Resume Next
DoCmd.OpenReport "rptLetter1", acViewNormal
DoCmd.OpenReport "rptLetter2", acViewNormal
DoCmd.OpenReport "rptLetter3", acViewNormal
DoCmd.OpenReport "rptLetter4", acViewNormal
DoCmd.OpenReport "rptLetter5", acViewNormal
DoCmd.OpenReport "rptLetter6", acViewNormal
DoCmd.OpenReport "rptLetter7", acViewNormal
Dim dbs As Database
Dim sSql1 As String
Dim sSql2 As String
Dim sSql3 As String
Dim sSql4 As String
Dim sSql5 As String
Dim sSql6 As String
Dim sSql7 As String
Dim MyDate As Date
Set dbs = CurrentDb
DoCmd.RunCommand acCmdSaveRecord
sSql1 = "UPDATE tblPIR SET DateLetterSent = DATE() WHERE [FormLetter#] =
1 AND IsNull(DateLetterSent)"
sSql2 = "UPDATE tblPIR SET DateLetterSent = DATE() WHERE [FormLetter#] =
2 AND IsNull(DateLetterSent)"
sSql3 = "UPDATE tblPIR SET DateLetterSent = DATE() WHERE [FormLetter#] =
3 AND IsNull(DateLetterSent)"
sSql4 = "UPDATE tblPIR SET DateLetterSent = DATE() WHERE [FormLetter#] =
4 AND IsNull(DateLetterSent)"
sSql5 = "UPDATE tblPIR SET DateLetterSent = DATE() WHERE [FormLetter#] =
5 AND IsNull(DateLetterSent)"
sSql6 = "UPDATE tblPIR SET DateLetterSent = DATE() WHERE [FormLetter#] =
6 AND IsNull(DateLetterSent)"
sSql7 = "UPDATE tblPIR SET DateLetterSent = DATE() WHERE [FormLetter#] =
7 AND IsNull(DateLetterSent)"
dbs.Execute sSql1
dbs.Execute sSql2
dbs.Execute sSql3
dbs.Execute sSql4
dbs.Execute sSql5
dbs.Execute sSql6
dbs.Execute sSql7
End Sub
As stated the correct letter(s) print, but the 'DateLetterSent' doesn't get
updated. Any help or suggestions?
no longer available.
Among other things, this database prints out one of several form letters and
is then supposed to update a field "DateLetterSent" with the current date.
The letters print just fine, but the date doesn't get updated, and I cannot
see what is missing or in error here.
This is the code used for this procedure:
Private Sub cmdFormLetters_Click()
On Error Resume Next
DoCmd.OpenReport "rptLetter1", acViewNormal
DoCmd.OpenReport "rptLetter2", acViewNormal
DoCmd.OpenReport "rptLetter3", acViewNormal
DoCmd.OpenReport "rptLetter4", acViewNormal
DoCmd.OpenReport "rptLetter5", acViewNormal
DoCmd.OpenReport "rptLetter6", acViewNormal
DoCmd.OpenReport "rptLetter7", acViewNormal
Dim dbs As Database
Dim sSql1 As String
Dim sSql2 As String
Dim sSql3 As String
Dim sSql4 As String
Dim sSql5 As String
Dim sSql6 As String
Dim sSql7 As String
Dim MyDate As Date
Set dbs = CurrentDb
DoCmd.RunCommand acCmdSaveRecord
sSql1 = "UPDATE tblPIR SET DateLetterSent = DATE() WHERE [FormLetter#] =
1 AND IsNull(DateLetterSent)"
sSql2 = "UPDATE tblPIR SET DateLetterSent = DATE() WHERE [FormLetter#] =
2 AND IsNull(DateLetterSent)"
sSql3 = "UPDATE tblPIR SET DateLetterSent = DATE() WHERE [FormLetter#] =
3 AND IsNull(DateLetterSent)"
sSql4 = "UPDATE tblPIR SET DateLetterSent = DATE() WHERE [FormLetter#] =
4 AND IsNull(DateLetterSent)"
sSql5 = "UPDATE tblPIR SET DateLetterSent = DATE() WHERE [FormLetter#] =
5 AND IsNull(DateLetterSent)"
sSql6 = "UPDATE tblPIR SET DateLetterSent = DATE() WHERE [FormLetter#] =
6 AND IsNull(DateLetterSent)"
sSql7 = "UPDATE tblPIR SET DateLetterSent = DATE() WHERE [FormLetter#] =
7 AND IsNull(DateLetterSent)"
dbs.Execute sSql1
dbs.Execute sSql2
dbs.Execute sSql3
dbs.Execute sSql4
dbs.Execute sSql5
dbs.Execute sSql6
dbs.Execute sSql7
End Sub
As stated the correct letter(s) print, but the 'DateLetterSent' doesn't get
updated. Any help or suggestions?