I have problems with the following sql statement: I am opening it in a recordset, and get the message too few parameters. missing 4.
I can not then open the recordset. I originally tried "select * from queryname", but this produced the same message, so I then copied the sql from the query into code.
sql1 = "SELECT DISTINCTROW tblAdverts.AdvertID, tblAdverts.SectionID, tblAdverts.CategoryID, tblPublSectionCategory.PublClass, [txtmsg] & IIf(tblAdverts!PublID=37,' Call ',' Call me now on ') & Format([ResponseNo],'0000 000 0000') & ' Voicebox ' & Format(tblAdverts!AdvertID,'00000') & IIf(tblAdverts!responsetypeid=2,IIf(tblPublications!Rptname='rptMAC',' <@TxtStyle>Txt ',' Txt ') & [SMScode] & Format(tblAdverts!AdvertID,'00000')) AS [Text], [txtmsg] & ' Call me now on 1570 600720 Voicebox ' & Format(tblAdverts!AdvertID,'00000') AS TextIoS, tblAdverts.AdInputDate, tblMembers.DateOfBirth, tblStatus.Status, tblPublAreas.PublAreaRpt, tblMembers.Name, tblMembers.Surname, tblMembers.Postcode, tblMembers.Address1, tblMembers.Address2, tblMembers.Address3, tblMembers.TelNo, tblAdvPublDates.AdvProdID, tblCreditCardTypes.CreditCardType, tblPayments.CreditCardNo, tblPayments.ExpiryDate, tblAreas.Area, tblPublications.SMScode, tblAdverts.ResponseTypeID, tblAdverts.TxtMsg" & _
" FROM (((tblAreas RIGHT JOIN ((((((tblAdverts LEFT JOIN tblPublSectionCategory ON (tblAdverts.PublID = tblPublSectionCategory.PublID) AND (tblAdverts.SectionID = tblPublSectionCategory.SectionID) AND (tblAdverts.CategoryID = tblPublSectionCategory.CategoryID)) INNER JOIN tblAdvPublDates ON tblAdverts.AdvertID = tblAdvPublDates.AdvertID) INNER JOIN tblPublications ON tblAdverts.PublID = tblPublications.PublID) INNER JOIN tblMembers ON tblAdverts.MemberID = tblMembers.MemberID) INNER JOIN tblStatus ON tblAdvPublDates.StatusID = tblStatus.StatusID) LEFT JOIN tblPublAreas ON (tblAdverts.AreaID = tblPublAreas.AreaID) AND (tblAdverts.PublID = tblPublAreas.PublID)) ON tblAreas.AreaID = tblAdverts.AreaID) LEFT JOIN tblAdvProducts ON tblAdvPublDates.AdvProdID = tblAdvProducts.AdvProdID) LEFT JOIN tblPayments ON tblAdvProducts.PaymentID = tblPayments.PaymentID) LEFT JOIN tblCreditCardTypes ON tblPayments.CreditCardTypeID = tblCreditCardTypes.CreditCardTypeID" & _
" WHERE (((tblAdvPublDates.AdSentDate) Is Null) AND ((tblAdvPublDates.LastAppear)>=[Forms]![frmReports]![PublDate]) AND ((tblAdverts.PublID)=[Forms]![frmReports]![Publication]) AND ((tblAdverts.AdStatusID)=12) AND (([Forms]![frmReports]![SentDate]) Is Not Null) AND (([Forms]![frmReports]![Publication])<>30 And ([Forms]![frmReports]![Publication])<>49)) OR (((tblAdvPublDates.AdSentDate)=[Forms]![frmReports]![OldReports]) AND ((tblAdverts.PublID)=[Forms]![frmReports]![Publication]) AND ((tblAdverts.AdStatusID)=12) AND (([Forms]![frmReports]![Publication])<>30 And ([Forms]![frmReports]![Publication])<>49) AND (([Forms]![frmReports]![OldReports]) Is Not Null)) OR (((tblAdvPublDates.AdSentDate) Is Null) AND ((tblAdvPublDates.LastAppear)>=[Forms]![frmReports]![PublDate]) AND ((tblAdverts.PublID)=27 Or (tblAdverts.PublID)=28 Or (tblAdverts.PublID)=29) AND ((tblAdverts.AdStatusID)=12) AND (([Forms]![frmReports]![SentDate]) Is Not Null) AND" & _
" (([Forms]![frmReports]![Publication])=30)) OR (((tblAdvPublDates.AdSentDate)=[Forms]![frmReports]![OldReports]) AND ((tblAdverts.PublID)=27 Or (tblAdverts.PublID)=28 Or (tblAdverts.PublID)=29) AND ((tblAdverts.AdStatusID)=12) AND (([Forms]![frmReports]![Publication])=30) AND (([Forms]![frmReports]![OldReports]) Is Not Null)) OR (((tblAdvPublDates.AdSentDate) Is Null) AND ((tblAdvPublDates.LastAppear)>=[Forms]![frmReports]![PublDate]) AND ((tblAdverts.PublID)>=42 And (tblAdverts.PublID)<=48) AND ((tblAdverts.AdStatusID)=12) AND (([Forms]![frmReports]![SentDate]) Is Not Null) AND (([Forms]![frmReports]![Publication])=49)) OR (((tblAdvPublDates.AdSentDate)=[Forms]![frmReports]![OldReports]) AND ((tblAdverts.PublID)>=42 And (tblAdverts.PublID)<=48) AND ((tblAdverts.AdStatusID)=12) AND (([Forms]![frmReports]![Publication])=49) AND (([Forms]![frmReports]![OldReports]) Is Not Null));"
I can not then open the recordset. I originally tried "select * from queryname", but this produced the same message, so I then copied the sql from the query into code.
sql1 = "SELECT DISTINCTROW tblAdverts.AdvertID, tblAdverts.SectionID, tblAdverts.CategoryID, tblPublSectionCategory.PublClass, [txtmsg] & IIf(tblAdverts!PublID=37,' Call ',' Call me now on ') & Format([ResponseNo],'0000 000 0000') & ' Voicebox ' & Format(tblAdverts!AdvertID,'00000') & IIf(tblAdverts!responsetypeid=2,IIf(tblPublications!Rptname='rptMAC',' <@TxtStyle>Txt ',' Txt ') & [SMScode] & Format(tblAdverts!AdvertID,'00000')) AS [Text], [txtmsg] & ' Call me now on 1570 600720 Voicebox ' & Format(tblAdverts!AdvertID,'00000') AS TextIoS, tblAdverts.AdInputDate, tblMembers.DateOfBirth, tblStatus.Status, tblPublAreas.PublAreaRpt, tblMembers.Name, tblMembers.Surname, tblMembers.Postcode, tblMembers.Address1, tblMembers.Address2, tblMembers.Address3, tblMembers.TelNo, tblAdvPublDates.AdvProdID, tblCreditCardTypes.CreditCardType, tblPayments.CreditCardNo, tblPayments.ExpiryDate, tblAreas.Area, tblPublications.SMScode, tblAdverts.ResponseTypeID, tblAdverts.TxtMsg" & _
" FROM (((tblAreas RIGHT JOIN ((((((tblAdverts LEFT JOIN tblPublSectionCategory ON (tblAdverts.PublID = tblPublSectionCategory.PublID) AND (tblAdverts.SectionID = tblPublSectionCategory.SectionID) AND (tblAdverts.CategoryID = tblPublSectionCategory.CategoryID)) INNER JOIN tblAdvPublDates ON tblAdverts.AdvertID = tblAdvPublDates.AdvertID) INNER JOIN tblPublications ON tblAdverts.PublID = tblPublications.PublID) INNER JOIN tblMembers ON tblAdverts.MemberID = tblMembers.MemberID) INNER JOIN tblStatus ON tblAdvPublDates.StatusID = tblStatus.StatusID) LEFT JOIN tblPublAreas ON (tblAdverts.AreaID = tblPublAreas.AreaID) AND (tblAdverts.PublID = tblPublAreas.PublID)) ON tblAreas.AreaID = tblAdverts.AreaID) LEFT JOIN tblAdvProducts ON tblAdvPublDates.AdvProdID = tblAdvProducts.AdvProdID) LEFT JOIN tblPayments ON tblAdvProducts.PaymentID = tblPayments.PaymentID) LEFT JOIN tblCreditCardTypes ON tblPayments.CreditCardTypeID = tblCreditCardTypes.CreditCardTypeID" & _
" WHERE (((tblAdvPublDates.AdSentDate) Is Null) AND ((tblAdvPublDates.LastAppear)>=[Forms]![frmReports]![PublDate]) AND ((tblAdverts.PublID)=[Forms]![frmReports]![Publication]) AND ((tblAdverts.AdStatusID)=12) AND (([Forms]![frmReports]![SentDate]) Is Not Null) AND (([Forms]![frmReports]![Publication])<>30 And ([Forms]![frmReports]![Publication])<>49)) OR (((tblAdvPublDates.AdSentDate)=[Forms]![frmReports]![OldReports]) AND ((tblAdverts.PublID)=[Forms]![frmReports]![Publication]) AND ((tblAdverts.AdStatusID)=12) AND (([Forms]![frmReports]![Publication])<>30 And ([Forms]![frmReports]![Publication])<>49) AND (([Forms]![frmReports]![OldReports]) Is Not Null)) OR (((tblAdvPublDates.AdSentDate) Is Null) AND ((tblAdvPublDates.LastAppear)>=[Forms]![frmReports]![PublDate]) AND ((tblAdverts.PublID)=27 Or (tblAdverts.PublID)=28 Or (tblAdverts.PublID)=29) AND ((tblAdverts.AdStatusID)=12) AND (([Forms]![frmReports]![SentDate]) Is Not Null) AND" & _
" (([Forms]![frmReports]![Publication])=30)) OR (((tblAdvPublDates.AdSentDate)=[Forms]![frmReports]![OldReports]) AND ((tblAdverts.PublID)=27 Or (tblAdverts.PublID)=28 Or (tblAdverts.PublID)=29) AND ((tblAdverts.AdStatusID)=12) AND (([Forms]![frmReports]![Publication])=30) AND (([Forms]![frmReports]![OldReports]) Is Not Null)) OR (((tblAdvPublDates.AdSentDate) Is Null) AND ((tblAdvPublDates.LastAppear)>=[Forms]![frmReports]![PublDate]) AND ((tblAdverts.PublID)>=42 And (tblAdverts.PublID)<=48) AND ((tblAdverts.AdStatusID)=12) AND (([Forms]![frmReports]![SentDate]) Is Not Null) AND (([Forms]![frmReports]![Publication])=49)) OR (((tblAdvPublDates.AdSentDate)=[Forms]![frmReports]![OldReports]) AND ((tblAdverts.PublID)>=42 And (tblAdverts.PublID)<=48) AND ((tblAdverts.AdStatusID)=12) AND (([Forms]![frmReports]![Publication])=49) AND (([Forms]![frmReports]![OldReports]) Is Not Null));"