Привет всем, я пытаюсь этот код ниже, чтобы поместить в мой собственный HTML-макет для экспорта в PDF.
SELECT
DISTINCT i.InvoiceNumber as 'Invoice',
'$' + CONVERT(varchar(50),round((CONVERT(int,Points) * .1),0)) AS 'Amount',
'$' + CONVERT(varchar(50), 1.50) AS 'Fee'
FROM tblHGP HGP, OrderDetails OD, tblInvoices i
JOIN tblCS cs ON i.InvoiceNumber = cs.InvoiceNumber
JOIN tblEC ac ON i.InvoiceNumber = ac.InvoiceNumber
WHERE cs.SoldTo = HGP.ECardInd
AND issued BETWEEN '2010-09-01' AND '2010-09-30 23:59:59'
AND CountryCode = 'US'
AND HGP.invoiceNumber = OD.orderdetailsid
Order by i.InvoiceNumber
Сейчас он возвращает 6 записей, и мне нужно иметь возможность создать HTML для КАЖДОЙ найденной записи (и в этом примере 6)
Это мой HTML-код:
SET @theHTML= '<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style type="text/css"><!--
span.cls_002{font-family:Arial,serif;font-size:15.6px;color:rgb(0,0,0);font-weight:bold;font-style:normal}
div.cls_002{font-family:Arial,serif;font-size:13.6px;color:rgb(0,0,0);font-weight:bold;font-style:normal}
....
<div style="position:absolute; left:90.00px; top:313.08px; width: 249px" class="cls_004">' + @whatReportFees + '</div>
<div style="position:absolute; left:347px; top:313.32px" class="cls_004">' + @FeesQty + '</div>
<div style="position:absolute; left:424.44px; top:313.32px" class="cls_004">$1.50</div>
<div style="position:absolute; left:482.89px; top:313.32px" class="cls_004">$' + convert(varchar(30), CONVERT(MONEY, @FeesTotal, 3), 3) + '</div>
<div style="position:absolute; left:90px; top:329px; width: 249px" class="cls_004">' + @whatReportRed + '</div>
etc...
Я действительно не знаю, как включить HTML-код в запрос, чтобы он создавал новый каждый раз, когда находит новый номер счета. whatReportRed , FeesQty будет в том месте, куда нужно будет отправлять данные.
Тогда я бы запустил это, чтобы создать ящик PDF
exec clrPdfFromHTML '\\reports\report.pdf', @theHTML
Любой вклад был бы великолепен! : О)
ИСПЫТАНИЯ
DECLARE @HtmlHead varchar(4000); SET @HtmlHead = '<html><head></head><body>'
DECLARE @HtmlTail varchar(4000); SET @HtmlTail = '</body></html>'
DECLARE @theHTML varchar(4000)
DECLARE CreatePdf_Cursor CURSOR FOR
SELECT @HtmlHead
+ '<div>' + i.InvoiceNumber + '</div>'
+ @HtmlTail AS theHTML
FROM
(SELECT
DISTINCT i.InvoiceNumber as 'Invoice',
'$' + CONVERT(varchar(50),round((CONVERT(int,Points) * .1),0)) AS 'Amount',
'$' + CONVERT(varchar(50), 1.50) AS 'Fee'
FROM tblHGP HGP, OrderDetails OD, tblInvoices i
JOIN tblCS cs ON i.InvoiceNumber = cs.InvoiceNumber
JOIN tblEC ac ON i.InvoiceNumber = ac.InvoiceNumber
WHERE cs.SoldTo = HGP.ECardInd
AND issued BETWEEN '2010-09-01' AND '2010-09-30 23:59:59'
AND CountryCode = 'US'
AND HGP.invoiceNumber = OD.orderdetailsid)
OPEN CreatePdf_Cursor
WHILE 1=1
BEGIN
FETCH NEXT FROM CreatePdf_Cursor INTO @theHTML
IF @@FETCH_STATUS <> 0 BREAK
--exec clrPdfFromHTML '\\reports\report.pdf', @theHTML
END
CLOSE CreatePdf_Cursor
DEALLOCATE CreatePdf_Cursor
ERROR
Msg 156, Level 15, State 1, Line 21
Неверный синтаксис рядом с ключевым словом «OPEN».
David