<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[Thủ Thuật Access - Report]]></title>
		<link>https://thuthuataccess.com/forum/</link>
		<description><![CDATA[Thủ Thuật Access - https://thuthuataccess.com/forum]]></description>
		<pubDate>Sat, 18 Apr 2026 15:19:41 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[Label không hiện dữ liệu khi xuất report sang PDF]]></title>
			<link>https://thuthuataccess.com/forum/thread-13419.html</link>
			<pubDate>Fri, 15 Nov 2024 06:37:14 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://thuthuataccess.com/forum/member.php?action=profile&uid=19824">AnNguyen</a>]]></dc:creator>
			<guid isPermaLink="false">https://thuthuataccess.com/forum/thread-13419.html</guid>
			<description><![CDATA[Khi xem report bình thường thì em có thấy dữ liệu được gán vào các label<br />
<img src="https://i.imgur.com/jRB4Z4e.png" loading="lazy"  alt="[Hình: jRB4Z4e.png]" class="mycode_img" /><br />
Nhưng khi xuất ra file pdf thì dữ liệu lại bị mất đi ở phần header và footer dù em có dùng label hay textbox, riêng phần detail thì vẫn còn chữ.<br />
Em có dùng cả sự kiện Report_Load() và  Report_Open() hay cả ReportHeader_Format() đều vẫn không hiển thị khi dữ liệu được đổ ra từ <br />
Label nào ghi nội dung cố định thì nó vẫn được hiện ra nguyên vẹn.<br />
<img src="https://i.imgur.com/b72SLwp.png" loading="lazy"  alt="[Hình: b72SLwp.png]" class="mycode_img" />]]></description>
			<content:encoded><![CDATA[Khi xem report bình thường thì em có thấy dữ liệu được gán vào các label<br />
<img src="https://i.imgur.com/jRB4Z4e.png" loading="lazy"  alt="[Hình: jRB4Z4e.png]" class="mycode_img" /><br />
Nhưng khi xuất ra file pdf thì dữ liệu lại bị mất đi ở phần header và footer dù em có dùng label hay textbox, riêng phần detail thì vẫn còn chữ.<br />
Em có dùng cả sự kiện Report_Load() và  Report_Open() hay cả ReportHeader_Format() đều vẫn không hiển thị khi dữ liệu được đổ ra từ <br />
Label nào ghi nội dung cố định thì nó vẫn được hiện ra nguyên vẹn.<br />
<img src="https://i.imgur.com/b72SLwp.png" loading="lazy"  alt="[Hình: b72SLwp.png]" class="mycode_img" />]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Canh giữa theo chiều cao của Textbox trên Form/Report]]></title>
			<link>https://thuthuataccess.com/forum/thread-13410.html</link>
			<pubDate>Mon, 04 Nov 2024 07:43:33 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://thuthuataccess.com/forum/member.php?action=profile&uid=16696">ongke0711</a>]]></dc:creator>
			<guid isPermaLink="false">https://thuthuataccess.com/forum/thread-13410.html</guid>
			<description><![CDATA[Do có nhiều nhu cầu về việc canh giữa text theo chiều cao của TextBox/Label nên tôi chỉnh sửa cái hàm của Leban để các bạn dễ sử dụng.<br />
- Áp dụng được trên Form và Report.<br />
- Tương thích với phiên bản Office, Windows 64 bit.<br />
- Thêm một hàm canh giữa khác đơn giản hơn nhưng chỉ áp dụng cho Report và hàm này không bị lỗi (Error 2100) của Leban khi font size lớn hơn sức chứa của Textbox. <br />
<br />
Link demo: <a href="https://www.mediafire.com/file/6xj7lm95s6kqxhv/VerticallyCenter.accdb/file" target="_blank" rel="noopener" class="mycode_url">https://www.mediafire.com/file/6xj7lm95s...accdb/file</a><br />
(mượn file của bạn Mr.ToaBin)<br />
<br />
<img src="https://i.imgur.com/OkmSjVd.png" loading="lazy"  alt="[Hình: OkmSjVd.png]" class="mycode_img" /><br />
<br />
<img src="https://i.imgur.com/GSpX43r.png" loading="lazy"  alt="[Hình: GSpX43r.png]" class="mycode_img" /><br />
<br />
<br />
* Copy đoạn code này dán vào Module: <span style="color: #005dc2;" class="mycode_color">modTextWidthHeight_VerticallyCenter</span><br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Mã PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">Option&nbsp;Compare&nbsp;Database<br />Option&nbsp;Explicit<br /><br /></span><span style="color: #DD0000">'***********************************<br />'</span><span style="color: #007700">***&nbsp;</span><span style="color: #0000BB">Code&nbsp;cua&nbsp;leban</span><span style="color: #007700">.</span><span style="color: #0000BB">com<br /></span><span style="color: #DD0000">'***********************************<br /><br />Private&nbsp;Type&nbsp;RECT<br /> &nbsp; &nbsp;Left&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Top&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Right&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Bottom&nbsp;As&nbsp;Long<br />End&nbsp;Type<br /><br />Private&nbsp;Const&nbsp;LF_FACESIZE&nbsp;=&nbsp;32<br /><br />Private&nbsp;Type&nbsp;LOGFONT<br /> &nbsp; &nbsp;lfHeight&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;lfWidth&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;lfEscapement&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;lfOrientation&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;lfWeight&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;lfItalic&nbsp;As&nbsp;Byte<br /> &nbsp; &nbsp;lfUnderline&nbsp;As&nbsp;Byte<br /> &nbsp; &nbsp;lfStrikeOut&nbsp;As&nbsp;Byte<br /> &nbsp; &nbsp;lfCharSet&nbsp;As&nbsp;Byte<br /> &nbsp; &nbsp;lfOutPrecision&nbsp;As&nbsp;Byte<br /> &nbsp; &nbsp;lfClipPrecision&nbsp;As&nbsp;Byte<br /> &nbsp; &nbsp;lfQuality&nbsp;As&nbsp;Byte<br /> &nbsp; &nbsp;lfPitchAndFamily&nbsp;As&nbsp;Byte<br /> &nbsp; &nbsp;lfFaceName&nbsp;As&nbsp;String&nbsp;*&nbsp;LF_FACESIZE<br />End&nbsp;Type<br /><br />Private&nbsp;Type&nbsp;TEXTMETRIC<br /> &nbsp; &nbsp;tmHeight&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;tmAscent&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;tmDescent&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;tmInternalLeading&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;tmExternalLeading&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;tmAveCharWidth&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;tmMaxCharWidth&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;tmWeight&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;tmOverhang&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;tmDigitizedAspectX&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;tmDigitizedAspectY&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;tmFirstChar&nbsp;As&nbsp;Byte<br /> &nbsp; &nbsp;tmLastChar&nbsp;As&nbsp;Byte<br /> &nbsp; &nbsp;tmDefaultChar&nbsp;As&nbsp;Byte<br /> &nbsp; &nbsp;tmBreakChar&nbsp;As&nbsp;Byte<br /> &nbsp; &nbsp;tmItalic&nbsp;As&nbsp;Byte<br /> &nbsp; &nbsp;tmUnderlined&nbsp;As&nbsp;Byte<br /> &nbsp; &nbsp;tmStruckOut&nbsp;As&nbsp;Byte<br /> &nbsp; &nbsp;tmPitchAndFamily&nbsp;As&nbsp;Byte<br /> &nbsp; &nbsp;tmCharSet&nbsp;As&nbsp;Byte<br />End&nbsp;Type<br /><br />#If&nbsp;VBA7&nbsp;Or&nbsp;Win64&nbsp;Then<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;PtrSafe&nbsp;Function&nbsp;GetTextMetrics&nbsp;Lib&nbsp;"gdi32"&nbsp;Alias&nbsp;"GetTextMetricsA"&nbsp;(ByVal&nbsp;hdc&nbsp;As&nbsp;LongPtr,&nbsp;lpMetrics&nbsp;As&nbsp;TEXTMETRIC)&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;PtrSafe&nbsp;Function&nbsp;apiCreateFontIndirect&nbsp;Lib&nbsp;"gdi32"&nbsp;Alias&nbsp;"CreateFontIndirectA"&nbsp;(lpLogFont&nbsp;As&nbsp;LOGFONT)&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;PtrSafe&nbsp;Function&nbsp;apiSelectObject&nbsp;Lib&nbsp;"gdi32"&nbsp;Alias&nbsp;"SelectObject"&nbsp;(ByVal&nbsp;hdc&nbsp;As&nbsp;LongPtr,&nbsp;ByVal&nbsp;hObject&nbsp;As&nbsp;LongPtr)&nbsp;As&nbsp;LongPtr<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;PtrSafe&nbsp;Function&nbsp;apiDeleteObject&nbsp;Lib&nbsp;"gdi32"&nbsp;Alias&nbsp;"DeleteObject"&nbsp;(ByVal&nbsp;hObject&nbsp;As&nbsp;LongPtr)&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;PtrSafe&nbsp;Function&nbsp;apiGetDeviceCaps&nbsp;Lib&nbsp;"gdi32"&nbsp;Alias&nbsp;"GetDeviceCaps"&nbsp;(ByVal&nbsp;hdc&nbsp;As&nbsp;LongPtr,&nbsp;ByVal&nbsp;nIndex&nbsp;As&nbsp;Long)&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;PtrSafe&nbsp;Function&nbsp;apiMulDiv&nbsp;Lib&nbsp;"kernel32"&nbsp;Alias&nbsp;"MulDiv"&nbsp;(ByVal&nbsp;nNumber&nbsp;As&nbsp;Long,&nbsp;ByVal&nbsp;nNumerator&nbsp;As&nbsp;Long,&nbsp;ByVal&nbsp;nDenominator&nbsp;As&nbsp;Long)&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;PtrSafe&nbsp;Function&nbsp;apiGetDC&nbsp;Lib&nbsp;"user32"&nbsp;Alias&nbsp;"GetDC"&nbsp;(ByVal&nbsp;hwnd&nbsp;As&nbsp;LongPtr)&nbsp;As&nbsp;LongPtr<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;PtrSafe&nbsp;Function&nbsp;apiReleaseDC&nbsp;Lib&nbsp;"user32"&nbsp;Alias&nbsp;"ReleaseDC"&nbsp;(ByVal&nbsp;hwnd&nbsp;As&nbsp;LongPtr,&nbsp;ByVal&nbsp;hdc&nbsp;As&nbsp;LongPtr)&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;PtrSafe&nbsp;Function&nbsp;apiDrawText&nbsp;Lib&nbsp;"user32"&nbsp;Alias&nbsp;"DrawTextA"&nbsp;(ByVal&nbsp;hdc&nbsp;As&nbsp;LongPtr,&nbsp;ByVal&nbsp;lpStr&nbsp;As&nbsp;String,&nbsp;ByVal&nbsp;nCount&nbsp;As&nbsp;Long,&nbsp;lpRect&nbsp;As&nbsp;RECT,&nbsp;ByVal&nbsp;wFormat&nbsp;As&nbsp;Long)&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;PtrSafe&nbsp;Function&nbsp;CreateDCbyNum&nbsp;Lib&nbsp;"gdi32"&nbsp;Alias&nbsp;"CreateDCA"&nbsp;(ByVal&nbsp;lpDriverName&nbsp;As&nbsp;String,&nbsp;ByVal&nbsp;lpDeviceName&nbsp;As&nbsp;String,&nbsp;ByVal&nbsp;lpOutput&nbsp;As&nbsp;String,&nbsp;lpInitData&nbsp;As&nbsp;Long)&nbsp;As&nbsp;LongPtr<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;PtrSafe&nbsp;Function&nbsp;apiDeleteDC&nbsp;Lib&nbsp;"gdi32"&nbsp;Alias&nbsp;"DeleteDC"&nbsp;(ByVal&nbsp;hdc&nbsp;As&nbsp;LongPtr)&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;PtrSafe&nbsp;Function&nbsp;GetProfileString&nbsp;Lib&nbsp;"kernel32"&nbsp;Alias&nbsp;"GetProfileStringA"&nbsp;(ByVal&nbsp;lpAppName&nbsp;As&nbsp;String,&nbsp;ByVal&nbsp;lpKeyName&nbsp;As&nbsp;String,&nbsp;ByVal&nbsp;lpDefault&nbsp;As&nbsp;String,&nbsp;ByVal&nbsp;lpReturnedString&nbsp;As&nbsp;String,&nbsp;ByVal&nbsp;nSize&nbsp;As&nbsp;Long)&nbsp;As&nbsp;Long<br />#Else<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;Function&nbsp;GetTextMetrics&nbsp;Lib&nbsp;"gdi32"&nbsp;Alias&nbsp;"GetTextMetricsA"&nbsp;(ByVal&nbsp;hDC&nbsp;As&nbsp;Long,&nbsp;lpMetrics&nbsp;As&nbsp;TEXTMETRIC)&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;Function&nbsp;apiCreateFontIndirect&nbsp;Lib&nbsp;"gdi32"&nbsp;Alias&nbsp;"CreateFontIndirectA"&nbsp;(lpLogFont&nbsp;As&nbsp;LOGFONT)&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;Function&nbsp;apiSelectObject&nbsp;Lib&nbsp;"gdi32"&nbsp;Alias&nbsp;"SelectObject"&nbsp;(ByVal&nbsp;hDC&nbsp;As&nbsp;Long,&nbsp;ByVal&nbsp;hObject&nbsp;As&nbsp;Long)&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;Function&nbsp;apiDeleteObject&nbsp;Lib&nbsp;"gdi32"&nbsp;Alias&nbsp;"DeleteObject"&nbsp;(ByVal&nbsp;hObject&nbsp;As&nbsp;Long)&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;Function&nbsp;apiGetDeviceCaps&nbsp;Lib&nbsp;"gdi32"&nbsp;Alias&nbsp;"GetDeviceCaps"&nbsp;(ByVal&nbsp;hDC&nbsp;As&nbsp;Long,&nbsp;ByVal&nbsp;nIndex&nbsp;As&nbsp;Long)&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;Function&nbsp;apiMulDiv&nbsp;Lib&nbsp;"kernel32"&nbsp;Alias&nbsp;"MulDiv"&nbsp;(ByVal&nbsp;nNumber&nbsp;As&nbsp;Long, &nbsp;ByVal&nbsp;nNumerator&nbsp;As&nbsp;Long,&nbsp;ByVal&nbsp;nDenominator&nbsp;As&nbsp;Long)&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;Function&nbsp;apiGetDC&nbsp;Lib&nbsp;"user32"&nbsp;Alias&nbsp;"GetDC"&nbsp;(ByVal&nbsp;hwnd&nbsp;As&nbsp;Long)&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;Function&nbsp;apiReleaseDC&nbsp;Lib&nbsp;"user32"&nbsp;Alias&nbsp;"ReleaseDC"&nbsp;(ByVal&nbsp;hwnd&nbsp;As&nbsp;Long,&nbsp;ByVal&nbsp;hDC&nbsp;As&nbsp;Long)&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;Function&nbsp;apiDrawText&nbsp;Lib&nbsp;"user32"&nbsp;Alias&nbsp;"DrawTextA"&nbsp;(ByVal&nbsp;hDC&nbsp;As&nbsp;Long,&nbsp;ByVal&nbsp;lpStr&nbsp;As&nbsp;String,&nbsp;ByVal&nbsp;nCount&nbsp;As&nbsp;Long,&nbsp;lpRect&nbsp;As&nbsp;RECT,&nbsp;ByVal&nbsp;wFormat&nbsp;As&nbsp;Long)&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;Function&nbsp;CreateDCbyNum&nbsp;Lib&nbsp;"gdi32"&nbsp;Alias&nbsp;"CreateDCA"&nbsp;(ByVal&nbsp;lpDriverName&nbsp;As&nbsp;String,&nbsp;ByVal&nbsp;lpDeviceName&nbsp;As&nbsp;String,&nbsp;ByVal&nbsp;lpOutput&nbsp;As&nbsp;Long,&nbsp;ByVal&nbsp;lpInitData&nbsp;As&nbsp;Long)&nbsp;As&nbsp;Long &nbsp;'</span><span style="color: #0000BB">DEVMODE</span><span style="color: #007700">)&nbsp;As&nbsp;</span><span style="color: #0000BB">Long<br /> &nbsp; &nbsp;</span><span style="color: #007700">Private&nbsp;Declare&nbsp;Function&nbsp;</span><span style="color: #0000BB">apiDeleteDC&nbsp;Lib&nbsp;</span><span style="color: #DD0000">"gdi32"&nbsp;</span><span style="color: #0000BB">Alias&nbsp;</span><span style="color: #DD0000">"DeleteDC"&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">ByVal&nbsp;hDC&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">Long</span><span style="color: #007700">)&nbsp;As&nbsp;</span><span style="color: #0000BB">Long<br /> &nbsp; &nbsp;</span><span style="color: #007700">Declare&nbsp;Function&nbsp;</span><span style="color: #0000BB">GetProfileString&nbsp;Lib&nbsp;</span><span style="color: #DD0000">"kernel32"&nbsp;</span><span style="color: #0000BB">Alias&nbsp;</span><span style="color: #DD0000">"GetProfileStringA"&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">ByVal&nbsp;lpAppName&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">String</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ByVal&nbsp;lpKeyName&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">String</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ByVal&nbsp;lpDefault&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">String</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ByVal&nbsp;lpReturnedString&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">String</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ByVal&nbsp;nSize&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">Long</span><span style="color: #007700">)&nbsp;As&nbsp;</span><span style="color: #0000BB">Long<br /></span><span style="color: #FF8000">#End&nbsp;If<br /><br /><br /></span><span style="color: #DD0000">'&nbsp;CONSTANTS<br />Private&nbsp;Const&nbsp;TWIPSPERINCH&nbsp;=&nbsp;1440<br />'&nbsp;</span><span style="color: #0000BB">Used&nbsp;to&nbsp;ask&nbsp;System&nbsp;</span><span style="color: #007700">for&nbsp;</span><span style="color: #0000BB">the&nbsp;Logical&nbsp;pixels</span><span style="color: #007700">/</span><span style="color: #0000BB">inch&nbsp;in&nbsp;X&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">Y&nbsp;axis<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">LOGPIXELSY&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">90<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">LOGPIXELSX&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">88<br /><br /></span><span style="color: #DD0000">'&nbsp;DrawText()&nbsp;Format&nbsp;Flags<br />Private&nbsp;Const&nbsp;DT_TOP&nbsp;=&nbsp;&amp;H0<br />Private&nbsp;Const&nbsp;DT_LEFT&nbsp;=&nbsp;&amp;H0<br />Private&nbsp;Const&nbsp;DT_CALCRECT&nbsp;=&nbsp;&amp;H400<br />Private&nbsp;Const&nbsp;DT_WORDBREAK&nbsp;=&nbsp;&amp;H10<br />Private&nbsp;Const&nbsp;DT_EXTERNALLEADING&nbsp;=&nbsp;&amp;H200<br />Private&nbsp;Const&nbsp;DT_EDITCONTROL&nbsp;=&nbsp;&amp;H2000&amp;<br />Private&nbsp;Const&nbsp;DT_NOCLIP&nbsp;=&nbsp;&amp;H100<br /><br /><br /><br />'&nbsp;</span><span style="color: #0000BB">Font&nbsp;stuff<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">OUT_DEFAULT_PRECIS&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">OUT_STRING_PRECIS&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">1<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">OUT_CHARACTER_PRECIS&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">2<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">OUT_STROKE_PRECIS&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">3<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">OUT_TT_PRECIS&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">4<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">OUT_DEVICE_PRECIS&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">5<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">OUT_RASTER_PRECIS&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">6<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">OUT_TT_ONLY_PRECIS&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">7<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">OUT_OUTLINE_PRECIS&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">8<br /><br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">CLIP_DEFAULT_PRECIS&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">CLIP_CHARACTER_PRECIS&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">1<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">CLIP_STROKE_PRECIS&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">2<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">CLIP_MASK&nbsp;</span><span style="color: #007700">=&nbsp;&amp;</span><span style="color: #0000BB">HF<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">CLIP_LH_ANGLES&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">16<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">CLIP_TT_ALWAYS&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">32<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">CLIP_EMBEDDED&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">128<br /><br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">DEFAULT_QUALITY&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">DRAFT_QUALITY&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">1<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">PROOF_QUALITY&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">2<br /><br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">DEFAULT_PITCH&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">FIXED_PITCH&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">1<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">VARIABLE_PITCH&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">2<br /><br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">ANSI_CHARSET&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">DEFAULT_CHARSET&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">1<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">SYMBOL_CHARSET&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">2<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">SHIFTJIS_CHARSET&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">128<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">HANGEUL_CHARSET&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">129<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">CHINESEBIG5_CHARSET&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">136<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">OEM_CHARSET&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">255<br /></span><span style="color: #DD0000">'<br /><br />Public&nbsp;Function&nbsp;fTextHeight(ctl&nbsp;As&nbsp;Control,&nbsp;_<br /> &nbsp; &nbsp; &nbsp; &nbsp;Optional&nbsp;ByVal&nbsp;sText&nbsp;As&nbsp;String&nbsp;=&nbsp;"",&nbsp;_<br /> &nbsp; &nbsp; &nbsp; &nbsp;Optional&nbsp;HeightTwips&nbsp;As&nbsp;Long&nbsp;=&nbsp;0,&nbsp;Optional&nbsp;WidthTwips&nbsp;As&nbsp;Long&nbsp;=&nbsp;0,&nbsp;_<br /> &nbsp; &nbsp; &nbsp; &nbsp;Optional&nbsp;TotalLines&nbsp;As&nbsp;Long&nbsp;=&nbsp;0,&nbsp;_<br /> &nbsp; &nbsp; &nbsp; &nbsp;Optional&nbsp;TwipsPerPixel&nbsp;As&nbsp;Long&nbsp;=&nbsp;0)&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;On&nbsp;Error&nbsp;Resume&nbsp;Next<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">Call&nbsp;our&nbsp;</span><span style="color: #007700">function&nbsp;</span><span style="color: #0000BB">to&nbsp;calculate&nbsp;TextHeight<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;If&nbsp;blWH=TRUE&nbsp;then&nbsp;we&nbsp;are&nbsp;TextHeight<br /> &nbsp; &nbsp;fTextHeight&nbsp;=&nbsp;fTextWidthOrHeight(ctl,&nbsp;True,&nbsp;_<br /> &nbsp; &nbsp; &nbsp; &nbsp;sText,&nbsp;HeightTwips,&nbsp;WidthTwips,&nbsp;TotalLines,&nbsp;TwipsPerPixel)<br /> &nbsp; &nbsp;<br />End&nbsp;Function<br /><br /><br />Public&nbsp;Function&nbsp;fTextWidth(ctl&nbsp;As&nbsp;Control,&nbsp;_<br /> &nbsp; &nbsp; &nbsp; &nbsp;Optional&nbsp;ByVal&nbsp;sText&nbsp;As&nbsp;String&nbsp;=&nbsp;"",&nbsp;_<br /> &nbsp; &nbsp; &nbsp; &nbsp;Optional&nbsp;HeightTwips&nbsp;As&nbsp;Long&nbsp;=&nbsp;0,&nbsp;Optional&nbsp;WidthTwips&nbsp;As&nbsp;Long&nbsp;=&nbsp;0,&nbsp;_<br /> &nbsp; &nbsp; &nbsp; &nbsp;Optional&nbsp;TotalLines&nbsp;As&nbsp;Long&nbsp;=&nbsp;0,&nbsp;_<br /> &nbsp; &nbsp; &nbsp; &nbsp;Optional&nbsp;TwipsPerPixel&nbsp;As&nbsp;Long&nbsp;=&nbsp;0)&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;On&nbsp;Error&nbsp;Resume&nbsp;Next<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;'&nbsp;</span><span style="color: #007700">If&nbsp;</span><span style="color: #0000BB">blWH</span><span style="color: #007700">=</span><span style="color: #0000BB">FALSE&nbsp;then&nbsp;we&nbsp;are&nbsp;TextWidth<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Call&nbsp;our&nbsp;function&nbsp;to&nbsp;calculate&nbsp;TextWidth<br /> &nbsp; &nbsp;fTextWidth&nbsp;=&nbsp;fTextWidthOrHeight(ctl,&nbsp;False,&nbsp;_<br /> &nbsp; &nbsp; &nbsp; &nbsp;sText,&nbsp;HeightTwips,&nbsp;WidthTwips,&nbsp;TotalLines,&nbsp;TwipsPerPixel)<br /> &nbsp; &nbsp;<br />End&nbsp;Function<br /><br /><br />Public&nbsp;Function&nbsp;fTextWidthOrHeight(ctl&nbsp;As&nbsp;Control,&nbsp;ByVal&nbsp;blWH&nbsp;As&nbsp;Boolean,&nbsp;_<br /> &nbsp; &nbsp; &nbsp; &nbsp;Optional&nbsp;ByVal&nbsp;sText&nbsp;As&nbsp;String&nbsp;=&nbsp;"",&nbsp;_<br /> &nbsp; &nbsp; &nbsp; &nbsp;Optional&nbsp;HeightTwips&nbsp;As&nbsp;Long&nbsp;=&nbsp;0,&nbsp;Optional&nbsp;WidthTwips&nbsp;As&nbsp;Long&nbsp;=&nbsp;0,&nbsp;_<br /> &nbsp; &nbsp; &nbsp; &nbsp;Optional&nbsp;TotalLines&nbsp;As&nbsp;Long&nbsp;=&nbsp;0,&nbsp;_<br /> &nbsp; &nbsp; &nbsp; &nbsp;Optional&nbsp;TwipsPerPixel&nbsp;As&nbsp;Long&nbsp;=&nbsp;0)&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;'</span><span style="color: #0000BB">Name &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">FUNCTION()&nbsp;</span><span style="color: #0000BB">fTextWidthOrHeight<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">'<br /> &nbsp; &nbsp;'</span><span style="color: #0000BB">Purpose</span><span style="color: #007700">:</span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Returns&nbsp;the&nbsp;Height&nbsp;</span><span style="color: #007700">or&nbsp;</span><span style="color: #0000BB">Width&nbsp;needed&nbsp;to<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;display&nbsp;the&nbsp;contents&nbsp;of&nbsp;the&nbsp;Control&nbsp;passed<br /> &nbsp; &nbsp;'</span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;to&nbsp;this&nbsp;</span><span style="color: #007700">function.&nbsp;</span><span style="color: #0000BB">This&nbsp;</span><span style="color: #007700">function<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;uses&nbsp;the&nbsp;Control'</span><span style="color: #0000BB">s&nbsp;font&nbsp;attributes&nbsp;to&nbsp;build<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;a&nbsp;Font&nbsp;for&nbsp;the&nbsp;required&nbsp;calculations.<br /> &nbsp; &nbsp;'<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;This&nbsp;function&nbsp;replaces&nbsp;the&nbsp;Report&nbsp;object'</span><span style="color: #0000BB">s&nbsp;TextHeight<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;and&nbsp;TextWidth&nbsp;methods&nbsp;which&nbsp;only&nbsp;work&nbsp;for&nbsp;a&nbsp;single&nbsp;line&nbsp;of&nbsp;text.<br /> &nbsp; &nbsp;'</span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;This&nbsp;</span><span style="color: #007700">function&nbsp;</span><span style="color: #0000BB">works&nbsp;with&nbsp;multiple&nbsp;lines&nbsp;of&nbsp;text&nbsp;</span><span style="color: #007700">and<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;also&nbsp;with&nbsp;both&nbsp;Forms&nbsp;and&nbsp;Reports.<br /> &nbsp; &nbsp;'<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">'Version: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;4.1<br /> &nbsp; &nbsp;'<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">'Calls: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Text&nbsp;API&nbsp;stuff.&nbsp;DrawText&nbsp;performs&nbsp;the&nbsp;actual<br /> &nbsp; &nbsp;'</span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;calculation&nbsp;to&nbsp;determine&nbsp;Control&nbsp;Height</span><span style="color: #007700">.<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">'<br /> &nbsp; &nbsp;'</span><span style="color: #0000BB">Returns</span><span style="color: #007700">:</span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Height&nbsp;</span><span style="color: #007700">or&nbsp;</span><span style="color: #0000BB">width&nbsp;of&nbsp;Control&nbsp;in&nbsp;TWIPS&nbsp;required<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;to&nbsp;display&nbsp;current&nbsp;contents.<br /> &nbsp; &nbsp;'<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">'Created&nbsp;by: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Stephen&nbsp;Lebans<br /> &nbsp; &nbsp;'<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">'Credits: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;If&nbsp;you&nbsp;want&nbsp;some...take&nbsp;some.<br /> &nbsp; &nbsp;'<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">'Date: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;May&nbsp;22,&nbsp;2001<br /> &nbsp; &nbsp;'<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">'Time: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;10:10:10pm<br /> &nbsp; &nbsp;'<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">'Feedback: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Stephen@lebans.com<br /> &nbsp; &nbsp;'<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">'My&nbsp;Web&nbsp;Page: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;www.lebans.com<br /> &nbsp; &nbsp;'<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">'Copyright: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Lebans&nbsp;Holdings&nbsp;Ltd.<br /> &nbsp; &nbsp;'</span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Please&nbsp;feel&nbsp;free&nbsp;to&nbsp;</span><span style="color: #007700">use&nbsp;</span><span style="color: #0000BB">this&nbsp;code<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;without&nbsp;restriction&nbsp;in&nbsp;any&nbsp;application&nbsp;you&nbsp;develop.<br /> &nbsp; &nbsp;'</span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;This&nbsp;code&nbsp;may&nbsp;not&nbsp;be&nbsp;resold&nbsp;by&nbsp;itself&nbsp;</span><span style="color: #007700">or&nbsp;as<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;part&nbsp;of&nbsp;a&nbsp;collection.<br /> &nbsp; &nbsp;'<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">'What'</span><span style="color: #0000BB">s&nbsp;Missing</span><span style="color: #007700">:</span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;Let&nbsp;me&nbsp;know</span><span style="color: #007700">!<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">'<br /> &nbsp; &nbsp;'<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">'<br /> &nbsp; &nbsp;'</span><span style="color: #0000BB">Bugs</span><span style="color: #007700">:<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">'None&nbsp;at&nbsp;this&nbsp;point.<br /> &nbsp; &nbsp;'<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">'Enjoy<br /> &nbsp; &nbsp;'</span><span style="color: #0000BB">Stephen&nbsp;Lebans<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">'***************Code&nbsp;Start***************<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">Structure&nbsp;</span><span style="color: #007700">for&nbsp;</span><span style="color: #0000BB">DrawText&nbsp;calc<br /> &nbsp; &nbsp;Dim&nbsp;sRect&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">RECT<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Reports&nbsp;Device&nbsp;Context<br /> &nbsp; &nbsp;Dim&nbsp;hdc&nbsp;As&nbsp;LongPtr<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">Holds&nbsp;the&nbsp;current&nbsp;screen&nbsp;resolution<br /> &nbsp; &nbsp;Dim&nbsp;lngDPI&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">Long<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;Dim&nbsp;newfont&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">Long<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Handle&nbsp;to&nbsp;our&nbsp;Font&nbsp;Object&nbsp;we&nbsp;created.<br /> &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">We&nbsp;must&nbsp;destroy&nbsp;it&nbsp;before&nbsp;exiting&nbsp;main&nbsp;</span><span style="color: #007700">function<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;<br /> &nbsp; &nbsp;Dim&nbsp;oldfont&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">LongPtr<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Device&nbsp;COntext'</span><span style="color: #0000BB">s&nbsp;Font&nbsp;we&nbsp;must&nbsp;Select&nbsp;back&nbsp;into&nbsp;the&nbsp;DC<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;before&nbsp;we&nbsp;exit&nbsp;this&nbsp;function.<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">Temporary&nbsp;holder&nbsp;</span><span style="color: #007700">for&nbsp;</span><span style="color: #0000BB">returns&nbsp;from&nbsp;API&nbsp;calls<br /> &nbsp; &nbsp;Dim&nbsp;lngRet&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">LongPtr<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Logfont&nbsp;struct<br /> &nbsp; &nbsp;Dim&nbsp;myfont&nbsp;As&nbsp;LOGFONT<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">TextMetric&nbsp;struct<br /> &nbsp; &nbsp;Dim&nbsp;tm&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">TEXTMETRIC<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;LineSpacing&nbsp;Amount<br /> &nbsp; &nbsp;Dim&nbsp;lngLineSpacing&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">Ttemp&nbsp;</span><span style="color: #007700">var<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;Dim&nbsp;numLines&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">Long<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Temp&nbsp;string&nbsp;var&nbsp;for&nbsp;current&nbsp;printer&nbsp;name<br /> &nbsp; &nbsp;Dim&nbsp;strName&nbsp;As&nbsp;String<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">Temp&nbsp;vars<br /> &nbsp; &nbsp;Dim&nbsp;sngTemp1&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">Single<br /> &nbsp; &nbsp;Dim&nbsp;sngTemp2&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">Single<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;On&nbsp;Error&nbsp;</span><span style="color: #007700">GoTo&nbsp;</span><span style="color: #0000BB">Err_Handler<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;If&nbsp;we&nbsp;are&nbsp;being&nbsp;called&nbsp;from&nbsp;a&nbsp;Form&nbsp;then&nbsp;SKIP<br /> &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">the&nbsp;logic&nbsp;to&nbsp;Create&nbsp;a&nbsp;Printer&nbsp;DC&nbsp;</span><span style="color: #007700">and&nbsp;</span><span style="color: #0000BB">simply&nbsp;</span><span style="color: #007700">use<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;the&nbsp;Screen'</span><span style="color: #0000BB">s&nbsp;DC<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;</span><span style="color: #007700">If&nbsp;</span><span style="color: #0000BB">TypeOf&nbsp;ctl</span><span style="color: #007700">.</span><span style="color: #0000BB">Parent&nbsp;Is&nbsp;Access</span><span style="color: #007700">.</span><span style="color: #0000BB">Report&nbsp;Then<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;***************************************************<br /> &nbsp; &nbsp; &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">Warning</span><span style="color: #007700">!&nbsp;Do&nbsp;</span><span style="color: #0000BB">not&nbsp;</span><span style="color: #007700">use&nbsp;</span><span style="color: #0000BB">Printer</span><span style="color: #DD0000">'s&nbsp;Device&nbsp;Context&nbsp;for&nbsp;Forms.<br /> &nbsp; &nbsp; &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">This&nbsp;alternative&nbsp;is&nbsp;meant&nbsp;</span><span style="color: #007700">for&nbsp;</span><span style="color: #0000BB">Report</span><span style="color: #DD0000">'s&nbsp;only!!!!!<br /> &nbsp; &nbsp; &nbsp; &nbsp;'&nbsp;</span><span style="color: #007700">For&nbsp;</span><span style="color: #0000BB">a&nbsp;Report&nbsp;the&nbsp;best&nbsp;accuracy&nbsp;is&nbsp;obtained&nbsp;</span><span style="color: #007700">if&nbsp;</span><span style="color: #0000BB">you&nbsp;get&nbsp;a&nbsp;handle&nbsp;to<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;the&nbsp;printer'</span><span style="color: #0000BB">s&nbsp;Device&nbsp;Context&nbsp;instead&nbsp;of&nbsp;the&nbsp;Screen</span><span style="color: #DD0000">'s.<br /> &nbsp; &nbsp; &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">You&nbsp;can&nbsp;uncomment&nbsp;his&nbsp;code&nbsp;</span><span style="color: #007700">and&nbsp;</span><span style="color: #0000BB">comment&nbsp;out&nbsp;the<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;apiGetDc&nbsp;line&nbsp;of&nbsp;code.<br /> &nbsp; &nbsp; &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">We&nbsp;need&nbsp;to&nbsp;</span><span style="color: #007700">use&nbsp;</span><span style="color: #0000BB">the&nbsp;Printer</span><span style="color: #DD0000">'s&nbsp;Device&nbsp;Context<br /> &nbsp; &nbsp; &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">in&nbsp;order&nbsp;to&nbsp;more&nbsp;closely&nbsp;match&nbsp;Font&nbsp;height&nbsp;calcs<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;with&nbsp;actual&nbsp;ouptut.&nbsp;This&nbsp;example&nbsp;simply&nbsp;uses&nbsp;the<br /> &nbsp; &nbsp; &nbsp; &nbsp;'&nbsp;</span><span style="color: #007700">default&nbsp;</span><span style="color: #0000BB">printer&nbsp;</span><span style="color: #007700">for&nbsp;</span><span style="color: #0000BB">the&nbsp;system</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">You&nbsp;could&nbsp;also<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;add&nbsp;logic&nbsp;to&nbsp;use&nbsp;the&nbsp;Devnames&nbsp;property&nbsp;if&nbsp;this<br /> &nbsp; &nbsp; &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">report&nbsp;prints&nbsp;to&nbsp;a&nbsp;specific&nbsp;printer</span><span style="color: #007700">.<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;strName&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">GetDefaultPrintersName<br /> &nbsp; &nbsp; &nbsp; &nbsp;hdc&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">CreateDCbyNum</span><span style="color: #007700">(</span><span style="color: #DD0000">"WINSPOOL"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">strName</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">&amp;,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">&amp;)<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">If&nbsp;</span><span style="color: #0000BB">hdc&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0&nbsp;Then<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Error&nbsp;cannot&nbsp;get&nbsp;handle&nbsp;to&nbsp;printer&nbsp;Device&nbsp;Context<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Err.Raise&nbsp;vbObjectError&nbsp;+&nbsp;255,&nbsp;"fTextWidthOrHeight",&nbsp;"Cannot&nbsp;Create&nbsp;Printer&nbsp;DC"<br /> &nbsp; &nbsp; &nbsp; &nbsp;End&nbsp;If<br /> &nbsp; &nbsp; &nbsp; &nbsp;'&nbsp;</span><span style="color: #007700">***************************************************<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #007700">Else<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Get&nbsp;handle&nbsp;to&nbsp;screen&nbsp;Device&nbsp;Context<br /> &nbsp; &nbsp; &nbsp; &nbsp;hdc&nbsp;=&nbsp;apiGetDC(0&amp;)<br /> &nbsp; &nbsp;End&nbsp;If<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">Were&nbsp;we&nbsp;passed&nbsp;a&nbsp;valid&nbsp;string<br /> &nbsp; &nbsp;</span><span style="color: #007700">If&nbsp;</span><span style="color: #0000BB">Len</span><span style="color: #007700">(</span><span style="color: #0000BB">sText&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">vbNullString</span><span style="color: #007700">)&nbsp;=&nbsp;</span><span style="color: #0000BB">0&nbsp;Then<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Did&nbsp;we&nbsp;get&nbsp;a&nbsp;valid&nbsp;control&nbsp;passed&nbsp;to&nbsp;us?<br /> &nbsp; &nbsp; &nbsp; &nbsp;'</span><span style="color: #0000BB">select&nbsp;</span><span style="color: #007700">case&nbsp;</span><span style="color: #0000BB">typeof&nbsp;ctl&nbsp;is<br /> &nbsp; &nbsp; &nbsp; &nbsp;Select&nbsp;</span><span style="color: #007700">Case&nbsp;</span><span style="color: #0000BB">ctl</span><span style="color: #007700">.</span><span style="color: #0000BB">ControlType<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">Case&nbsp;</span><span style="color: #0000BB">acTextBox<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sText&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">Nz</span><span style="color: #007700">(</span><span style="color: #0000BB">ctl</span><span style="color: #007700">.</span><span style="color: #0000BB">Value</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">vbNullString</span><span style="color: #007700">)<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">Case&nbsp;</span><span style="color: #0000BB">acLabel</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">acCommandButton<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sText&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">Nz</span><span style="color: #007700">(</span><span style="color: #0000BB">ctl</span><span style="color: #007700">.</span><span style="color: #0000BB">Caption</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">vbNullString</span><span style="color: #007700">)<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">Case&nbsp;</span><span style="color: #0000BB">acListBox<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sText&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">Nz</span><span style="color: #007700">(</span><span style="color: #0000BB">ctl</span><span style="color: #007700">.</span><span style="color: #0000BB">ItemData</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">),&nbsp;</span><span style="color: #0000BB">vbNullString</span><span style="color: #007700">)<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">Case&nbsp;Else<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Fail&nbsp;-&nbsp;not&nbsp;a&nbsp;control&nbsp;we&nbsp;can&nbsp;work&nbsp;with<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fTextWidthOrHeight&nbsp;=&nbsp;0<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Exit&nbsp;Function<br /> &nbsp; &nbsp; &nbsp; &nbsp;End&nbsp;Select<br /> &nbsp; &nbsp;End&nbsp;If<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">Get&nbsp;current&nbsp;device&nbsp;resolution<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;blWH=TRUE&nbsp;then&nbsp;we&nbsp;are&nbsp;TextHeight<br /> &nbsp; &nbsp;If&nbsp;blWH&nbsp;Then<br /> &nbsp; &nbsp; &nbsp; &nbsp;lngDPI&nbsp;=&nbsp;apiGetDeviceCaps(hdc,&nbsp;LOGPIXELSY)<br /> &nbsp; &nbsp;Else<br /> &nbsp; &nbsp; &nbsp; &nbsp;lngDPI&nbsp;=&nbsp;apiGetDeviceCaps(hdc,&nbsp;LOGPIXELSX)<br /> &nbsp; &nbsp;End&nbsp;If<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">Calculate&nbsp;TwipsPerPixel<br /> &nbsp; &nbsp;TwipsPerPixel&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">TWIPSPERINCH&nbsp;</span><span style="color: #007700">/&nbsp;</span><span style="color: #0000BB">lngDPI<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;We&nbsp;use&nbsp;a&nbsp;negative&nbsp;value&nbsp;to&nbsp;signify<br /> &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">to&nbsp;the&nbsp;CreateFont&nbsp;</span><span style="color: #007700">function&nbsp;</span><span style="color: #0000BB">that&nbsp;we&nbsp;want&nbsp;a&nbsp;Glyph<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;outline&nbsp;of&nbsp;this&nbsp;size&nbsp;not&nbsp;a&nbsp;bounding&nbsp;box.<br /> &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">Copy&nbsp;font&nbsp;stuff&nbsp;from&nbsp;Text&nbsp;Control</span><span style="color: #DD0000">'s&nbsp;property&nbsp;sheet<br /> &nbsp; &nbsp;With&nbsp;ctl<br /> &nbsp; &nbsp; &nbsp; &nbsp;myfont.lfClipPrecision&nbsp;=&nbsp;CLIP_LH_ANGLES<br /> &nbsp; &nbsp; &nbsp; &nbsp;myfont.lfOutPrecision&nbsp;=&nbsp;0&nbsp;'&nbsp;</span><span style="color: #0000BB">sl&nbsp;APRIL&nbsp;08</span><span style="color: #007700">/</span><span style="color: #0000BB">2002OUT_TT_ONLY_PRECIS<br /> &nbsp; &nbsp; &nbsp; &nbsp;myfont</span><span style="color: #007700">.</span><span style="color: #0000BB">lfEscapement&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0<br /> &nbsp; &nbsp; &nbsp; &nbsp;myfont</span><span style="color: #007700">.</span><span style="color: #0000BB">lfFaceName&nbsp;</span><span style="color: #007700">=&nbsp;.</span><span style="color: #0000BB">FontName&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">Chr</span><span style="color: #007700">&#36;(</span><span style="color: #0000BB">0</span><span style="color: #007700">)<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;myfont</span><span style="color: #007700">.</span><span style="color: #0000BB">lfWeight&nbsp;</span><span style="color: #007700">=&nbsp;.</span><span style="color: #0000BB">FontWeight<br /> &nbsp; &nbsp; &nbsp; &nbsp;myfont</span><span style="color: #007700">.</span><span style="color: #0000BB">lfItalic&nbsp;</span><span style="color: #007700">=&nbsp;.</span><span style="color: #0000BB">FontItalic<br /> &nbsp; &nbsp; &nbsp; &nbsp;myfont</span><span style="color: #007700">.</span><span style="color: #0000BB">lfUnderline&nbsp;</span><span style="color: #007700">=&nbsp;.</span><span style="color: #0000BB">FontUnderline<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'Must&nbsp;be&nbsp;a&nbsp;negative&nbsp;figure&nbsp;for&nbsp;height&nbsp;or&nbsp;system&nbsp;will&nbsp;return<br /> &nbsp; &nbsp; &nbsp; &nbsp;'</span><span style="color: #0000BB">closest&nbsp;match&nbsp;on&nbsp;character&nbsp;cell&nbsp;not&nbsp;glyph<br /> &nbsp; &nbsp; &nbsp; &nbsp;myfont</span><span style="color: #007700">.</span><span style="color: #0000BB">lfHeight&nbsp;</span><span style="color: #007700">=&nbsp;(.</span><span style="color: #0000BB">FontSize&nbsp;</span><span style="color: #007700">/&nbsp;</span><span style="color: #0000BB">72</span><span style="color: #007700">)&nbsp;*&nbsp;-</span><span style="color: #0000BB">lngDPI<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Create&nbsp;our&nbsp;temp&nbsp;font<br /> &nbsp; &nbsp; &nbsp; &nbsp;newfont&nbsp;=&nbsp;apiCreateFontIndirect(myfont)<br /> &nbsp; &nbsp;End&nbsp;With<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;If&nbsp;newfont&nbsp;=&nbsp;0&nbsp;Then<br /> &nbsp; &nbsp; &nbsp; &nbsp;Err.Raise&nbsp;vbObjectError&nbsp;+&nbsp;256,&nbsp;"fTextWidthOrHeight",&nbsp;"Cannot&nbsp;Create&nbsp;Font"<br /> &nbsp; &nbsp;End&nbsp;If<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">Select&nbsp;the&nbsp;</span><span style="color: #007700">new&nbsp;</span><span style="color: #0000BB">font&nbsp;into&nbsp;our&nbsp;DC</span><span style="color: #007700">.<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;oldfont&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">apiSelectObject</span><span style="color: #007700">(</span><span style="color: #0000BB">hdc</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">newfont</span><span style="color: #007700">)<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Use&nbsp;DrawText&nbsp;to&nbsp;Calculate&nbsp;height&nbsp;of&nbsp;Rectangle&nbsp;required&nbsp;to&nbsp;hold<br /> &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">the&nbsp;current&nbsp;contents&nbsp;of&nbsp;the&nbsp;Control&nbsp;passed&nbsp;to&nbsp;this&nbsp;</span><span style="color: #007700">function.<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;With&nbsp;sRect<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">.</span><span style="color: #0000BB">Left&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">.</span><span style="color: #0000BB">Top&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">.</span><span style="color: #0000BB">Bottom&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;blWH=TRUE&nbsp;then&nbsp;we&nbsp;are&nbsp;TextHeight<br /> &nbsp; &nbsp; &nbsp; &nbsp;If&nbsp;blWH&nbsp;Then<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.Right&nbsp;=&nbsp;(ctl.Width&nbsp;/&nbsp;(TWIPSPERINCH&nbsp;/&nbsp;lngDPI))&nbsp;-&nbsp;10<br /> &nbsp; &nbsp; &nbsp; &nbsp;Else<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">Single&nbsp;line&nbsp;TextWidth<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">.</span><span style="color: #0000BB">Right&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">32000<br /> &nbsp; &nbsp; &nbsp; &nbsp;End&nbsp;</span><span style="color: #007700">If<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Calculate&nbsp;our&nbsp;bounding&nbsp;box&nbsp;based&nbsp;on&nbsp;the&nbsp;controls&nbsp;current&nbsp;width<br /> &nbsp; &nbsp; &nbsp; &nbsp;lngRet&nbsp;=&nbsp;apiDrawText(hdc,&nbsp;sText,&nbsp;-1,&nbsp;sRect,&nbsp;DT_CALCRECT&nbsp;Or&nbsp;DT_TOP&nbsp;Or&nbsp;_<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;DT_LEFT&nbsp;Or&nbsp;DT_WORDBREAK&nbsp;Or&nbsp;DT_NOCLIP) &nbsp;'&nbsp;</span><span style="color: #0000BB">not&nbsp;</span><span style="color: #007700">for&nbsp;</span><span style="color: #0000BB">this&nbsp;version</span><span style="color: #007700">!<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Get&nbsp;TextMetrics.&nbsp;This&nbsp;is&nbsp;required&nbsp;to&nbsp;determine<br /> &nbsp; &nbsp; &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">Text&nbsp;height&nbsp;</span><span style="color: #007700">and&nbsp;</span><span style="color: #0000BB">the&nbsp;amount&nbsp;of&nbsp;extra&nbsp;spacing&nbsp;between&nbsp;lines</span><span style="color: #007700">.<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;lngRet&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">GetTextMetrics</span><span style="color: #007700">(</span><span style="color: #0000BB">hdc</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">tm</span><span style="color: #007700">)<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Cleanup<br /> &nbsp; &nbsp; &nbsp; &nbsp;lngRet&nbsp;=&nbsp;apiSelectObject(hdc,&nbsp;oldfont)<br /> &nbsp; &nbsp; &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">Delete&nbsp;the&nbsp;Font&nbsp;we&nbsp;created<br /> &nbsp; &nbsp; &nbsp; &nbsp;apiDeleteObject&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">newfont</span><span style="color: #007700">)<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">If&nbsp;</span><span style="color: #0000BB">TypeOf&nbsp;ctl</span><span style="color: #007700">.</span><span style="color: #0000BB">Parent&nbsp;Is&nbsp;Access</span><span style="color: #007700">.</span><span style="color: #0000BB">Report&nbsp;Then<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;***************************************************<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'&nbsp;</span><span style="color: #007700">If&nbsp;</span><span style="color: #0000BB">you&nbsp;are&nbsp;using&nbsp;the&nbsp;Printers</span><span style="color: #DD0000">'&nbsp;DC&nbsp;then&nbsp;uncomment&nbsp;below<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'&nbsp;</span><span style="color: #007700">and&nbsp;</span><span style="color: #0000BB">comment&nbsp;out&nbsp;the&nbsp;apiReleaseDc&nbsp;line&nbsp;of&nbsp;code&nbsp;below<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Delete&nbsp;our&nbsp;handle&nbsp;to&nbsp;the&nbsp;Printer&nbsp;DC<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;lngRet&nbsp;=&nbsp;apiDeleteDC(hdc)<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'&nbsp;</span><span style="color: #007700">***************************************************<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">Else<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Release&nbsp;the&nbsp;handle&nbsp;to&nbsp;the&nbsp;Screen'</span><span style="color: #0000BB">s&nbsp;DC<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;lngRet&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">apiReleaseDC</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">&amp;,&nbsp;</span><span style="color: #0000BB">hdc</span><span style="color: #007700">)<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;End&nbsp;</span><span style="color: #007700">If<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Calculate&nbsp;how&nbsp;many&nbsp;lines&nbsp;we&nbsp;are&nbsp;displaying<br /> &nbsp; &nbsp; &nbsp; &nbsp;'&nbsp;</span><span style="color: #007700">return&nbsp;</span><span style="color: #0000BB">to&nbsp;calling&nbsp;</span><span style="color: #007700">function.&nbsp;</span><span style="color: #0000BB">The&nbsp;GDI&nbsp;incorrectly<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;calculates&nbsp;the&nbsp;bounding&nbsp;rectangle&nbsp;because<br /> &nbsp; &nbsp; &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">of&nbsp;rounding&nbsp;errors&nbsp;converting&nbsp;to&nbsp;Integers</span><span style="color: #007700">.<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;TotalLines&nbsp;</span><span style="color: #007700">=&nbsp;.</span><span style="color: #0000BB">Bottom&nbsp;</span><span style="color: #007700">/&nbsp;(</span><span style="color: #0000BB">tm</span><span style="color: #007700">.</span><span style="color: #0000BB">tmHeight&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">tm</span><span style="color: #007700">.</span><span style="color: #0000BB">tmExternalLeading</span><span style="color: #007700">)<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;numLines&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">TotalLines<br /> &nbsp; &nbsp; &nbsp; &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Convert&nbsp;RECT&nbsp;values&nbsp;to&nbsp;TWIPS<br /> &nbsp; &nbsp; &nbsp; &nbsp;.Bottom&nbsp;=&nbsp;(.Bottom)&nbsp;*&nbsp;(TWIPSPERINCH&nbsp;/&nbsp;lngDPI)&nbsp;'</span><span style="color: #0000BB">sngTemp2&nbsp;</span><span style="color: #DD0000">'&nbsp;+&nbsp;20<br /> &nbsp; &nbsp; &nbsp; &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;'&nbsp;</span><span style="color: #007700">Return&nbsp;</span><span style="color: #0000BB">values&nbsp;in&nbsp;optional&nbsp;vars<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Convert&nbsp;RECT&nbsp;Pixel&nbsp;values&nbsp;to&nbsp;TWIPS<br /> &nbsp; &nbsp; &nbsp; &nbsp;HeightTwips&nbsp;=&nbsp;.Bottom&nbsp;'</span><span style="color: #007700">*&nbsp;(</span><span style="color: #0000BB">TWIPSPERINCH&nbsp;</span><span style="color: #007700">/&nbsp;</span><span style="color: #0000BB">lngDPI</span><span style="color: #007700">)<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;WidthTwips&nbsp;</span><span style="color: #007700">=&nbsp;.</span><span style="color: #0000BB">Right&nbsp;</span><span style="color: #007700">*&nbsp;(</span><span style="color: #0000BB">TWIPSPERINCH&nbsp;</span><span style="color: #007700">/&nbsp;</span><span style="color: #0000BB">lngDPI</span><span style="color: #007700">)&nbsp;</span><span style="color: #DD0000">'(apiGetDeviceCaps(hDC,&nbsp;LOGPIXELSX)))<br /> &nbsp; &nbsp; &nbsp; &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">blWH</span><span style="color: #007700">=</span><span style="color: #0000BB">TRUE&nbsp;then&nbsp;we&nbsp;are&nbsp;TextHeight<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">If&nbsp;</span><span style="color: #0000BB">blWH&nbsp;Then<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fTextWidthOrHeight&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">HeightTwips<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">Else<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fTextWidthOrHeight&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">WidthTwips<br /> &nbsp; &nbsp; &nbsp; &nbsp;End&nbsp;</span><span style="color: #007700">If<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;End&nbsp;With<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Exit&nbsp;normally<br />Exit_OK:<br /> &nbsp; &nbsp;Exit&nbsp;Function<br /> &nbsp; &nbsp;<br />Err_Handler:<br /> &nbsp; &nbsp;Err.Raise&nbsp;Err.Source,&nbsp;Err.Number,&nbsp;Err.Description<br /> &nbsp; &nbsp;Resume&nbsp;Exit_OK<br />End&nbsp;Function<br /><br />Function&nbsp;GetDefaultPrintersName()&nbsp;As&nbsp;String<br /> &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">This&nbsp;</span><span style="color: #007700">function&nbsp;</span><span style="color: #0000BB">is&nbsp;from&nbsp;Peter&nbsp;Walker</span><span style="color: #007700">.<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Check&nbsp;out&nbsp;his&nbsp;web&nbsp;site&nbsp;at:<br /> &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">http</span><span style="color: #007700">:</span><span style="color: #FF8000">//www.users.bigpond.com/papwalker/<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;Dim&nbsp;success&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">Long<br /> &nbsp; &nbsp;Dim&nbsp;nSize&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">Long<br /> &nbsp; &nbsp;Dim&nbsp;lpKeyName&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">String<br /> &nbsp; &nbsp;Dim&nbsp;ret&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">String<br /> &nbsp; &nbsp;Dim&nbsp;posDriver<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">'call&nbsp;the&nbsp;API&nbsp;passing&nbsp;null&nbsp;as&nbsp;the&nbsp;parameter<br /> &nbsp; &nbsp;'</span><span style="color: #007700">for&nbsp;</span><span style="color: #0000BB">the&nbsp;lpKeyName&nbsp;parameter</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">This&nbsp;causes<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">'the&nbsp;API&nbsp;to&nbsp;return&nbsp;a&nbsp;list&nbsp;of&nbsp;all&nbsp;keys&nbsp;under<br /> &nbsp; &nbsp;'</span><span style="color: #0000BB">that&nbsp;section</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Pad&nbsp;the&nbsp;passed&nbsp;string&nbsp;large<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">'enough&nbsp;to&nbsp;hold&nbsp;the&nbsp;data.&nbsp;Adjust&nbsp;to&nbsp;suit.<br /> &nbsp; &nbsp;ret&nbsp;=&nbsp;Space&#36;(8102)<br /> &nbsp; &nbsp;nSize&nbsp;=&nbsp;Len(ret)<br /> &nbsp; &nbsp;success&nbsp;=&nbsp;GetProfileString("windows",&nbsp;"device",&nbsp;"",&nbsp;ret,&nbsp;nSize)<br /> &nbsp; &nbsp;posDriver&nbsp;=&nbsp;InStr(ret,&nbsp;",")<br /> &nbsp; &nbsp;GetDefaultPrintersName&nbsp;=&nbsp;Left&#36;(ret,&nbsp;posDriver&nbsp;-&nbsp;1)<br />End&nbsp;Function<br /><br />Public&nbsp;Function&nbsp;ScreenTwipsPerPixel()&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Dim&nbsp;hdc&nbsp;As&nbsp;LongPtr<br /> &nbsp; &nbsp;Dim&nbsp;lngRet&nbsp;As&nbsp;LongPtr<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">Get&nbsp;handle&nbsp;to&nbsp;screen&nbsp;Device&nbsp;Context<br /> &nbsp; &nbsp;hdc&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">apiGetDC</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">&amp;)<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;ScreenTwipsPerPixel&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">TWIPSPERINCH&nbsp;</span><span style="color: #007700">/&nbsp;</span><span style="color: #0000BB">apiGetDeviceCaps</span><span style="color: #007700">(</span><span style="color: #0000BB">hdc</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">LOGPIXELSY</span><span style="color: #007700">)<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Release&nbsp;the&nbsp;handle&nbsp;to&nbsp;the&nbsp;Screen'</span><span style="color: #0000BB">s&nbsp;DC<br /> &nbsp; &nbsp;lngRet&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">apiReleaseDC</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">&amp;,&nbsp;</span><span style="color: #0000BB">hdc</span><span style="color: #007700">)<br /></span><span style="color: #0000BB">End&nbsp;</span><span style="color: #007700">Function<br /><br /><br /></span><span style="color: #DD0000">'/Goi&nbsp;ham&nbsp;de&nbsp;canh&nbsp;giua&nbsp;hang&nbsp;doc<br />Public&nbsp;Sub&nbsp;VerticallyCenter(ByRef&nbsp;ctl&nbsp;As&nbsp;Control)<br /> &nbsp; &nbsp;Dim&nbsp;lngHeight&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;lngHeight&nbsp;=&nbsp;fTextHeight(ctl)<br /> &nbsp; &nbsp;ctl.TopMargin&nbsp;=&nbsp;((ctl.Height&nbsp;-&nbsp;lngHeight)&nbsp;/&nbsp;2)<br />End&nbsp;Sub&nbsp;<br /></span></code></div></div></div><br />
<br />
* Gọi hàm này trong Form và Report: thiết lập thuộc tính Tag cho các texbox hoặc label nào muốn áp dụng hàm<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Mã PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">Option&nbsp;Compare&nbsp;Database<br />Option&nbsp;Explicit<br /><br /></span><span style="color: #007700">Private&nbsp;</span><span style="color: #0000BB">Sub&nbsp;Form_Current</span><span style="color: #007700">()<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;thietLapCanhGiuDoc<br />End&nbsp;Sub<br /><br /></span><span style="color: #007700">Private&nbsp;</span><span style="color: #0000BB">Sub&nbsp;Form_Load</span><span style="color: #007700">()<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;thietLapCanhGiuDoc<br />End&nbsp;Sub<br /><br />Sub&nbsp;thietLapCanhGiuDoc</span><span style="color: #007700">()<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;Dim&nbsp;ctl&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">Control<br /> &nbsp; &nbsp;</span><span style="color: #007700">For&nbsp;</span><span style="color: #0000BB">Each&nbsp;ctl&nbsp;In&nbsp;Me</span><span style="color: #007700">.</span><span style="color: #0000BB">Controls<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'Chi&nbsp;ap&nbsp;dung&nbsp;cho&nbsp;Textbox&nbsp;va&nbsp;Label&nbsp;va&nbsp;Tag&nbsp;phai&nbsp;có&nbsp;chuoi&nbsp;"verAlg"&nbsp;moi&nbsp;canh&nbsp;giua&nbsp;hang&nbsp;doc<br /> &nbsp; &nbsp; &nbsp; &nbsp;If&nbsp;(ctl.ControlType&nbsp;=&nbsp;acTextBox&nbsp;Or&nbsp;ctl.ControlType&nbsp;=&nbsp;acLabel)&nbsp;And&nbsp;(ctl.Tag&nbsp;Like&nbsp;"verAlg")&nbsp;Then<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;VerticallyCenter&nbsp;ctl &nbsp; &nbsp;'</span><span style="color: #0000BB">LEBAN<br /> &nbsp; &nbsp; &nbsp; &nbsp;End&nbsp;</span><span style="color: #007700">If<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;Next<br />End&nbsp;Sub&nbsp;<br /></span></code></div></div></div><br />
<div class="codeblock phpcodeblock"><div class="title">Mã PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">Option&nbsp;Compare&nbsp;Database<br />Option&nbsp;Explicit<br /><br /></span><span style="color: #007700">Private&nbsp;</span><span style="color: #0000BB">Sub&nbsp;Report_Load</span><span style="color: #007700">()<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;Dim&nbsp;ctl&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">Control<br /> &nbsp; &nbsp;</span><span style="color: #007700">For&nbsp;</span><span style="color: #0000BB">Each&nbsp;ctl&nbsp;In&nbsp;Me</span><span style="color: #007700">.</span><span style="color: #0000BB">Controls<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">If&nbsp;</span><span style="color: #0000BB">ctl</span><span style="color: #007700">.</span><span style="color: #0000BB">ControlType&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">acTextBox&nbsp;</span><span style="color: #007700">Or&nbsp;</span><span style="color: #0000BB">ctl</span><span style="color: #007700">.</span><span style="color: #0000BB">ControlType&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">acLabel&nbsp;Then<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;On&nbsp;Error&nbsp;Resume&nbsp;Next &nbsp; &nbsp;</span><span style="color: #DD0000">'bo&nbsp;qua&nbsp;loi&nbsp;2100:&nbsp;khi&nbsp;lay&nbsp;chieu&nbsp;cao&nbsp;text&nbsp;&gt;&nbsp;chieu&nbsp;cao&nbsp;control&nbsp;=&gt;&nbsp;giam&nbsp;font&nbsp;size.<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;VerticallyCenter&nbsp;ctl<br /> &nbsp; &nbsp; &nbsp; &nbsp;End&nbsp;If<br /> &nbsp; &nbsp;Next<br />End&nbsp;Sub&nbsp;<br /></span></code></div></div></div>]]></description>
			<content:encoded><![CDATA[Do có nhiều nhu cầu về việc canh giữa text theo chiều cao của TextBox/Label nên tôi chỉnh sửa cái hàm của Leban để các bạn dễ sử dụng.<br />
- Áp dụng được trên Form và Report.<br />
- Tương thích với phiên bản Office, Windows 64 bit.<br />
- Thêm một hàm canh giữa khác đơn giản hơn nhưng chỉ áp dụng cho Report và hàm này không bị lỗi (Error 2100) của Leban khi font size lớn hơn sức chứa của Textbox. <br />
<br />
Link demo: <a href="https://www.mediafire.com/file/6xj7lm95s6kqxhv/VerticallyCenter.accdb/file" target="_blank" rel="noopener" class="mycode_url">https://www.mediafire.com/file/6xj7lm95s...accdb/file</a><br />
(mượn file của bạn Mr.ToaBin)<br />
<br />
<img src="https://i.imgur.com/OkmSjVd.png" loading="lazy"  alt="[Hình: OkmSjVd.png]" class="mycode_img" /><br />
<br />
<img src="https://i.imgur.com/GSpX43r.png" loading="lazy"  alt="[Hình: GSpX43r.png]" class="mycode_img" /><br />
<br />
<br />
* Copy đoạn code này dán vào Module: <span style="color: #005dc2;" class="mycode_color">modTextWidthHeight_VerticallyCenter</span><br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Mã PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">Option&nbsp;Compare&nbsp;Database<br />Option&nbsp;Explicit<br /><br /></span><span style="color: #DD0000">'***********************************<br />'</span><span style="color: #007700">***&nbsp;</span><span style="color: #0000BB">Code&nbsp;cua&nbsp;leban</span><span style="color: #007700">.</span><span style="color: #0000BB">com<br /></span><span style="color: #DD0000">'***********************************<br /><br />Private&nbsp;Type&nbsp;RECT<br /> &nbsp; &nbsp;Left&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Top&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Right&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Bottom&nbsp;As&nbsp;Long<br />End&nbsp;Type<br /><br />Private&nbsp;Const&nbsp;LF_FACESIZE&nbsp;=&nbsp;32<br /><br />Private&nbsp;Type&nbsp;LOGFONT<br /> &nbsp; &nbsp;lfHeight&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;lfWidth&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;lfEscapement&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;lfOrientation&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;lfWeight&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;lfItalic&nbsp;As&nbsp;Byte<br /> &nbsp; &nbsp;lfUnderline&nbsp;As&nbsp;Byte<br /> &nbsp; &nbsp;lfStrikeOut&nbsp;As&nbsp;Byte<br /> &nbsp; &nbsp;lfCharSet&nbsp;As&nbsp;Byte<br /> &nbsp; &nbsp;lfOutPrecision&nbsp;As&nbsp;Byte<br /> &nbsp; &nbsp;lfClipPrecision&nbsp;As&nbsp;Byte<br /> &nbsp; &nbsp;lfQuality&nbsp;As&nbsp;Byte<br /> &nbsp; &nbsp;lfPitchAndFamily&nbsp;As&nbsp;Byte<br /> &nbsp; &nbsp;lfFaceName&nbsp;As&nbsp;String&nbsp;*&nbsp;LF_FACESIZE<br />End&nbsp;Type<br /><br />Private&nbsp;Type&nbsp;TEXTMETRIC<br /> &nbsp; &nbsp;tmHeight&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;tmAscent&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;tmDescent&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;tmInternalLeading&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;tmExternalLeading&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;tmAveCharWidth&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;tmMaxCharWidth&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;tmWeight&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;tmOverhang&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;tmDigitizedAspectX&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;tmDigitizedAspectY&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;tmFirstChar&nbsp;As&nbsp;Byte<br /> &nbsp; &nbsp;tmLastChar&nbsp;As&nbsp;Byte<br /> &nbsp; &nbsp;tmDefaultChar&nbsp;As&nbsp;Byte<br /> &nbsp; &nbsp;tmBreakChar&nbsp;As&nbsp;Byte<br /> &nbsp; &nbsp;tmItalic&nbsp;As&nbsp;Byte<br /> &nbsp; &nbsp;tmUnderlined&nbsp;As&nbsp;Byte<br /> &nbsp; &nbsp;tmStruckOut&nbsp;As&nbsp;Byte<br /> &nbsp; &nbsp;tmPitchAndFamily&nbsp;As&nbsp;Byte<br /> &nbsp; &nbsp;tmCharSet&nbsp;As&nbsp;Byte<br />End&nbsp;Type<br /><br />#If&nbsp;VBA7&nbsp;Or&nbsp;Win64&nbsp;Then<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;PtrSafe&nbsp;Function&nbsp;GetTextMetrics&nbsp;Lib&nbsp;"gdi32"&nbsp;Alias&nbsp;"GetTextMetricsA"&nbsp;(ByVal&nbsp;hdc&nbsp;As&nbsp;LongPtr,&nbsp;lpMetrics&nbsp;As&nbsp;TEXTMETRIC)&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;PtrSafe&nbsp;Function&nbsp;apiCreateFontIndirect&nbsp;Lib&nbsp;"gdi32"&nbsp;Alias&nbsp;"CreateFontIndirectA"&nbsp;(lpLogFont&nbsp;As&nbsp;LOGFONT)&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;PtrSafe&nbsp;Function&nbsp;apiSelectObject&nbsp;Lib&nbsp;"gdi32"&nbsp;Alias&nbsp;"SelectObject"&nbsp;(ByVal&nbsp;hdc&nbsp;As&nbsp;LongPtr,&nbsp;ByVal&nbsp;hObject&nbsp;As&nbsp;LongPtr)&nbsp;As&nbsp;LongPtr<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;PtrSafe&nbsp;Function&nbsp;apiDeleteObject&nbsp;Lib&nbsp;"gdi32"&nbsp;Alias&nbsp;"DeleteObject"&nbsp;(ByVal&nbsp;hObject&nbsp;As&nbsp;LongPtr)&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;PtrSafe&nbsp;Function&nbsp;apiGetDeviceCaps&nbsp;Lib&nbsp;"gdi32"&nbsp;Alias&nbsp;"GetDeviceCaps"&nbsp;(ByVal&nbsp;hdc&nbsp;As&nbsp;LongPtr,&nbsp;ByVal&nbsp;nIndex&nbsp;As&nbsp;Long)&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;PtrSafe&nbsp;Function&nbsp;apiMulDiv&nbsp;Lib&nbsp;"kernel32"&nbsp;Alias&nbsp;"MulDiv"&nbsp;(ByVal&nbsp;nNumber&nbsp;As&nbsp;Long,&nbsp;ByVal&nbsp;nNumerator&nbsp;As&nbsp;Long,&nbsp;ByVal&nbsp;nDenominator&nbsp;As&nbsp;Long)&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;PtrSafe&nbsp;Function&nbsp;apiGetDC&nbsp;Lib&nbsp;"user32"&nbsp;Alias&nbsp;"GetDC"&nbsp;(ByVal&nbsp;hwnd&nbsp;As&nbsp;LongPtr)&nbsp;As&nbsp;LongPtr<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;PtrSafe&nbsp;Function&nbsp;apiReleaseDC&nbsp;Lib&nbsp;"user32"&nbsp;Alias&nbsp;"ReleaseDC"&nbsp;(ByVal&nbsp;hwnd&nbsp;As&nbsp;LongPtr,&nbsp;ByVal&nbsp;hdc&nbsp;As&nbsp;LongPtr)&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;PtrSafe&nbsp;Function&nbsp;apiDrawText&nbsp;Lib&nbsp;"user32"&nbsp;Alias&nbsp;"DrawTextA"&nbsp;(ByVal&nbsp;hdc&nbsp;As&nbsp;LongPtr,&nbsp;ByVal&nbsp;lpStr&nbsp;As&nbsp;String,&nbsp;ByVal&nbsp;nCount&nbsp;As&nbsp;Long,&nbsp;lpRect&nbsp;As&nbsp;RECT,&nbsp;ByVal&nbsp;wFormat&nbsp;As&nbsp;Long)&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;PtrSafe&nbsp;Function&nbsp;CreateDCbyNum&nbsp;Lib&nbsp;"gdi32"&nbsp;Alias&nbsp;"CreateDCA"&nbsp;(ByVal&nbsp;lpDriverName&nbsp;As&nbsp;String,&nbsp;ByVal&nbsp;lpDeviceName&nbsp;As&nbsp;String,&nbsp;ByVal&nbsp;lpOutput&nbsp;As&nbsp;String,&nbsp;lpInitData&nbsp;As&nbsp;Long)&nbsp;As&nbsp;LongPtr<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;PtrSafe&nbsp;Function&nbsp;apiDeleteDC&nbsp;Lib&nbsp;"gdi32"&nbsp;Alias&nbsp;"DeleteDC"&nbsp;(ByVal&nbsp;hdc&nbsp;As&nbsp;LongPtr)&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;PtrSafe&nbsp;Function&nbsp;GetProfileString&nbsp;Lib&nbsp;"kernel32"&nbsp;Alias&nbsp;"GetProfileStringA"&nbsp;(ByVal&nbsp;lpAppName&nbsp;As&nbsp;String,&nbsp;ByVal&nbsp;lpKeyName&nbsp;As&nbsp;String,&nbsp;ByVal&nbsp;lpDefault&nbsp;As&nbsp;String,&nbsp;ByVal&nbsp;lpReturnedString&nbsp;As&nbsp;String,&nbsp;ByVal&nbsp;nSize&nbsp;As&nbsp;Long)&nbsp;As&nbsp;Long<br />#Else<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;Function&nbsp;GetTextMetrics&nbsp;Lib&nbsp;"gdi32"&nbsp;Alias&nbsp;"GetTextMetricsA"&nbsp;(ByVal&nbsp;hDC&nbsp;As&nbsp;Long,&nbsp;lpMetrics&nbsp;As&nbsp;TEXTMETRIC)&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;Function&nbsp;apiCreateFontIndirect&nbsp;Lib&nbsp;"gdi32"&nbsp;Alias&nbsp;"CreateFontIndirectA"&nbsp;(lpLogFont&nbsp;As&nbsp;LOGFONT)&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;Function&nbsp;apiSelectObject&nbsp;Lib&nbsp;"gdi32"&nbsp;Alias&nbsp;"SelectObject"&nbsp;(ByVal&nbsp;hDC&nbsp;As&nbsp;Long,&nbsp;ByVal&nbsp;hObject&nbsp;As&nbsp;Long)&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;Function&nbsp;apiDeleteObject&nbsp;Lib&nbsp;"gdi32"&nbsp;Alias&nbsp;"DeleteObject"&nbsp;(ByVal&nbsp;hObject&nbsp;As&nbsp;Long)&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;Function&nbsp;apiGetDeviceCaps&nbsp;Lib&nbsp;"gdi32"&nbsp;Alias&nbsp;"GetDeviceCaps"&nbsp;(ByVal&nbsp;hDC&nbsp;As&nbsp;Long,&nbsp;ByVal&nbsp;nIndex&nbsp;As&nbsp;Long)&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;Function&nbsp;apiMulDiv&nbsp;Lib&nbsp;"kernel32"&nbsp;Alias&nbsp;"MulDiv"&nbsp;(ByVal&nbsp;nNumber&nbsp;As&nbsp;Long, &nbsp;ByVal&nbsp;nNumerator&nbsp;As&nbsp;Long,&nbsp;ByVal&nbsp;nDenominator&nbsp;As&nbsp;Long)&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;Function&nbsp;apiGetDC&nbsp;Lib&nbsp;"user32"&nbsp;Alias&nbsp;"GetDC"&nbsp;(ByVal&nbsp;hwnd&nbsp;As&nbsp;Long)&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;Function&nbsp;apiReleaseDC&nbsp;Lib&nbsp;"user32"&nbsp;Alias&nbsp;"ReleaseDC"&nbsp;(ByVal&nbsp;hwnd&nbsp;As&nbsp;Long,&nbsp;ByVal&nbsp;hDC&nbsp;As&nbsp;Long)&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;Function&nbsp;apiDrawText&nbsp;Lib&nbsp;"user32"&nbsp;Alias&nbsp;"DrawTextA"&nbsp;(ByVal&nbsp;hDC&nbsp;As&nbsp;Long,&nbsp;ByVal&nbsp;lpStr&nbsp;As&nbsp;String,&nbsp;ByVal&nbsp;nCount&nbsp;As&nbsp;Long,&nbsp;lpRect&nbsp;As&nbsp;RECT,&nbsp;ByVal&nbsp;wFormat&nbsp;As&nbsp;Long)&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Private&nbsp;Declare&nbsp;Function&nbsp;CreateDCbyNum&nbsp;Lib&nbsp;"gdi32"&nbsp;Alias&nbsp;"CreateDCA"&nbsp;(ByVal&nbsp;lpDriverName&nbsp;As&nbsp;String,&nbsp;ByVal&nbsp;lpDeviceName&nbsp;As&nbsp;String,&nbsp;ByVal&nbsp;lpOutput&nbsp;As&nbsp;Long,&nbsp;ByVal&nbsp;lpInitData&nbsp;As&nbsp;Long)&nbsp;As&nbsp;Long &nbsp;'</span><span style="color: #0000BB">DEVMODE</span><span style="color: #007700">)&nbsp;As&nbsp;</span><span style="color: #0000BB">Long<br /> &nbsp; &nbsp;</span><span style="color: #007700">Private&nbsp;Declare&nbsp;Function&nbsp;</span><span style="color: #0000BB">apiDeleteDC&nbsp;Lib&nbsp;</span><span style="color: #DD0000">"gdi32"&nbsp;</span><span style="color: #0000BB">Alias&nbsp;</span><span style="color: #DD0000">"DeleteDC"&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">ByVal&nbsp;hDC&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">Long</span><span style="color: #007700">)&nbsp;As&nbsp;</span><span style="color: #0000BB">Long<br /> &nbsp; &nbsp;</span><span style="color: #007700">Declare&nbsp;Function&nbsp;</span><span style="color: #0000BB">GetProfileString&nbsp;Lib&nbsp;</span><span style="color: #DD0000">"kernel32"&nbsp;</span><span style="color: #0000BB">Alias&nbsp;</span><span style="color: #DD0000">"GetProfileStringA"&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">ByVal&nbsp;lpAppName&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">String</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ByVal&nbsp;lpKeyName&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">String</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ByVal&nbsp;lpDefault&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">String</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ByVal&nbsp;lpReturnedString&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">String</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">ByVal&nbsp;nSize&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">Long</span><span style="color: #007700">)&nbsp;As&nbsp;</span><span style="color: #0000BB">Long<br /></span><span style="color: #FF8000">#End&nbsp;If<br /><br /><br /></span><span style="color: #DD0000">'&nbsp;CONSTANTS<br />Private&nbsp;Const&nbsp;TWIPSPERINCH&nbsp;=&nbsp;1440<br />'&nbsp;</span><span style="color: #0000BB">Used&nbsp;to&nbsp;ask&nbsp;System&nbsp;</span><span style="color: #007700">for&nbsp;</span><span style="color: #0000BB">the&nbsp;Logical&nbsp;pixels</span><span style="color: #007700">/</span><span style="color: #0000BB">inch&nbsp;in&nbsp;X&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">Y&nbsp;axis<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">LOGPIXELSY&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">90<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">LOGPIXELSX&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">88<br /><br /></span><span style="color: #DD0000">'&nbsp;DrawText()&nbsp;Format&nbsp;Flags<br />Private&nbsp;Const&nbsp;DT_TOP&nbsp;=&nbsp;&amp;H0<br />Private&nbsp;Const&nbsp;DT_LEFT&nbsp;=&nbsp;&amp;H0<br />Private&nbsp;Const&nbsp;DT_CALCRECT&nbsp;=&nbsp;&amp;H400<br />Private&nbsp;Const&nbsp;DT_WORDBREAK&nbsp;=&nbsp;&amp;H10<br />Private&nbsp;Const&nbsp;DT_EXTERNALLEADING&nbsp;=&nbsp;&amp;H200<br />Private&nbsp;Const&nbsp;DT_EDITCONTROL&nbsp;=&nbsp;&amp;H2000&amp;<br />Private&nbsp;Const&nbsp;DT_NOCLIP&nbsp;=&nbsp;&amp;H100<br /><br /><br /><br />'&nbsp;</span><span style="color: #0000BB">Font&nbsp;stuff<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">OUT_DEFAULT_PRECIS&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">OUT_STRING_PRECIS&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">1<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">OUT_CHARACTER_PRECIS&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">2<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">OUT_STROKE_PRECIS&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">3<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">OUT_TT_PRECIS&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">4<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">OUT_DEVICE_PRECIS&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">5<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">OUT_RASTER_PRECIS&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">6<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">OUT_TT_ONLY_PRECIS&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">7<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">OUT_OUTLINE_PRECIS&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">8<br /><br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">CLIP_DEFAULT_PRECIS&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">CLIP_CHARACTER_PRECIS&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">1<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">CLIP_STROKE_PRECIS&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">2<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">CLIP_MASK&nbsp;</span><span style="color: #007700">=&nbsp;&amp;</span><span style="color: #0000BB">HF<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">CLIP_LH_ANGLES&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">16<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">CLIP_TT_ALWAYS&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">32<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">CLIP_EMBEDDED&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">128<br /><br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">DEFAULT_QUALITY&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">DRAFT_QUALITY&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">1<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">PROOF_QUALITY&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">2<br /><br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">DEFAULT_PITCH&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">FIXED_PITCH&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">1<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">VARIABLE_PITCH&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">2<br /><br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">ANSI_CHARSET&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">DEFAULT_CHARSET&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">1<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">SYMBOL_CHARSET&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">2<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">SHIFTJIS_CHARSET&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">128<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">HANGEUL_CHARSET&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">129<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">CHINESEBIG5_CHARSET&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">136<br /></span><span style="color: #007700">Private&nbsp;Const&nbsp;</span><span style="color: #0000BB">OEM_CHARSET&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">255<br /></span><span style="color: #DD0000">'<br /><br />Public&nbsp;Function&nbsp;fTextHeight(ctl&nbsp;As&nbsp;Control,&nbsp;_<br /> &nbsp; &nbsp; &nbsp; &nbsp;Optional&nbsp;ByVal&nbsp;sText&nbsp;As&nbsp;String&nbsp;=&nbsp;"",&nbsp;_<br /> &nbsp; &nbsp; &nbsp; &nbsp;Optional&nbsp;HeightTwips&nbsp;As&nbsp;Long&nbsp;=&nbsp;0,&nbsp;Optional&nbsp;WidthTwips&nbsp;As&nbsp;Long&nbsp;=&nbsp;0,&nbsp;_<br /> &nbsp; &nbsp; &nbsp; &nbsp;Optional&nbsp;TotalLines&nbsp;As&nbsp;Long&nbsp;=&nbsp;0,&nbsp;_<br /> &nbsp; &nbsp; &nbsp; &nbsp;Optional&nbsp;TwipsPerPixel&nbsp;As&nbsp;Long&nbsp;=&nbsp;0)&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;On&nbsp;Error&nbsp;Resume&nbsp;Next<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">Call&nbsp;our&nbsp;</span><span style="color: #007700">function&nbsp;</span><span style="color: #0000BB">to&nbsp;calculate&nbsp;TextHeight<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;If&nbsp;blWH=TRUE&nbsp;then&nbsp;we&nbsp;are&nbsp;TextHeight<br /> &nbsp; &nbsp;fTextHeight&nbsp;=&nbsp;fTextWidthOrHeight(ctl,&nbsp;True,&nbsp;_<br /> &nbsp; &nbsp; &nbsp; &nbsp;sText,&nbsp;HeightTwips,&nbsp;WidthTwips,&nbsp;TotalLines,&nbsp;TwipsPerPixel)<br /> &nbsp; &nbsp;<br />End&nbsp;Function<br /><br /><br />Public&nbsp;Function&nbsp;fTextWidth(ctl&nbsp;As&nbsp;Control,&nbsp;_<br /> &nbsp; &nbsp; &nbsp; &nbsp;Optional&nbsp;ByVal&nbsp;sText&nbsp;As&nbsp;String&nbsp;=&nbsp;"",&nbsp;_<br /> &nbsp; &nbsp; &nbsp; &nbsp;Optional&nbsp;HeightTwips&nbsp;As&nbsp;Long&nbsp;=&nbsp;0,&nbsp;Optional&nbsp;WidthTwips&nbsp;As&nbsp;Long&nbsp;=&nbsp;0,&nbsp;_<br /> &nbsp; &nbsp; &nbsp; &nbsp;Optional&nbsp;TotalLines&nbsp;As&nbsp;Long&nbsp;=&nbsp;0,&nbsp;_<br /> &nbsp; &nbsp; &nbsp; &nbsp;Optional&nbsp;TwipsPerPixel&nbsp;As&nbsp;Long&nbsp;=&nbsp;0)&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;On&nbsp;Error&nbsp;Resume&nbsp;Next<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;'&nbsp;</span><span style="color: #007700">If&nbsp;</span><span style="color: #0000BB">blWH</span><span style="color: #007700">=</span><span style="color: #0000BB">FALSE&nbsp;then&nbsp;we&nbsp;are&nbsp;TextWidth<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Call&nbsp;our&nbsp;function&nbsp;to&nbsp;calculate&nbsp;TextWidth<br /> &nbsp; &nbsp;fTextWidth&nbsp;=&nbsp;fTextWidthOrHeight(ctl,&nbsp;False,&nbsp;_<br /> &nbsp; &nbsp; &nbsp; &nbsp;sText,&nbsp;HeightTwips,&nbsp;WidthTwips,&nbsp;TotalLines,&nbsp;TwipsPerPixel)<br /> &nbsp; &nbsp;<br />End&nbsp;Function<br /><br /><br />Public&nbsp;Function&nbsp;fTextWidthOrHeight(ctl&nbsp;As&nbsp;Control,&nbsp;ByVal&nbsp;blWH&nbsp;As&nbsp;Boolean,&nbsp;_<br /> &nbsp; &nbsp; &nbsp; &nbsp;Optional&nbsp;ByVal&nbsp;sText&nbsp;As&nbsp;String&nbsp;=&nbsp;"",&nbsp;_<br /> &nbsp; &nbsp; &nbsp; &nbsp;Optional&nbsp;HeightTwips&nbsp;As&nbsp;Long&nbsp;=&nbsp;0,&nbsp;Optional&nbsp;WidthTwips&nbsp;As&nbsp;Long&nbsp;=&nbsp;0,&nbsp;_<br /> &nbsp; &nbsp; &nbsp; &nbsp;Optional&nbsp;TotalLines&nbsp;As&nbsp;Long&nbsp;=&nbsp;0,&nbsp;_<br /> &nbsp; &nbsp; &nbsp; &nbsp;Optional&nbsp;TwipsPerPixel&nbsp;As&nbsp;Long&nbsp;=&nbsp;0)&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;'</span><span style="color: #0000BB">Name &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">FUNCTION()&nbsp;</span><span style="color: #0000BB">fTextWidthOrHeight<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">'<br /> &nbsp; &nbsp;'</span><span style="color: #0000BB">Purpose</span><span style="color: #007700">:</span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Returns&nbsp;the&nbsp;Height&nbsp;</span><span style="color: #007700">or&nbsp;</span><span style="color: #0000BB">Width&nbsp;needed&nbsp;to<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;display&nbsp;the&nbsp;contents&nbsp;of&nbsp;the&nbsp;Control&nbsp;passed<br /> &nbsp; &nbsp;'</span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;to&nbsp;this&nbsp;</span><span style="color: #007700">function.&nbsp;</span><span style="color: #0000BB">This&nbsp;</span><span style="color: #007700">function<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;uses&nbsp;the&nbsp;Control'</span><span style="color: #0000BB">s&nbsp;font&nbsp;attributes&nbsp;to&nbsp;build<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;a&nbsp;Font&nbsp;for&nbsp;the&nbsp;required&nbsp;calculations.<br /> &nbsp; &nbsp;'<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;This&nbsp;function&nbsp;replaces&nbsp;the&nbsp;Report&nbsp;object'</span><span style="color: #0000BB">s&nbsp;TextHeight<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;and&nbsp;TextWidth&nbsp;methods&nbsp;which&nbsp;only&nbsp;work&nbsp;for&nbsp;a&nbsp;single&nbsp;line&nbsp;of&nbsp;text.<br /> &nbsp; &nbsp;'</span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;This&nbsp;</span><span style="color: #007700">function&nbsp;</span><span style="color: #0000BB">works&nbsp;with&nbsp;multiple&nbsp;lines&nbsp;of&nbsp;text&nbsp;</span><span style="color: #007700">and<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;also&nbsp;with&nbsp;both&nbsp;Forms&nbsp;and&nbsp;Reports.<br /> &nbsp; &nbsp;'<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">'Version: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;4.1<br /> &nbsp; &nbsp;'<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">'Calls: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Text&nbsp;API&nbsp;stuff.&nbsp;DrawText&nbsp;performs&nbsp;the&nbsp;actual<br /> &nbsp; &nbsp;'</span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;calculation&nbsp;to&nbsp;determine&nbsp;Control&nbsp;Height</span><span style="color: #007700">.<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">'<br /> &nbsp; &nbsp;'</span><span style="color: #0000BB">Returns</span><span style="color: #007700">:</span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Height&nbsp;</span><span style="color: #007700">or&nbsp;</span><span style="color: #0000BB">width&nbsp;of&nbsp;Control&nbsp;in&nbsp;TWIPS&nbsp;required<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;to&nbsp;display&nbsp;current&nbsp;contents.<br /> &nbsp; &nbsp;'<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">'Created&nbsp;by: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Stephen&nbsp;Lebans<br /> &nbsp; &nbsp;'<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">'Credits: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;If&nbsp;you&nbsp;want&nbsp;some...take&nbsp;some.<br /> &nbsp; &nbsp;'<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">'Date: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;May&nbsp;22,&nbsp;2001<br /> &nbsp; &nbsp;'<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">'Time: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;10:10:10pm<br /> &nbsp; &nbsp;'<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">'Feedback: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Stephen@lebans.com<br /> &nbsp; &nbsp;'<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">'My&nbsp;Web&nbsp;Page: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;www.lebans.com<br /> &nbsp; &nbsp;'<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">'Copyright: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Lebans&nbsp;Holdings&nbsp;Ltd.<br /> &nbsp; &nbsp;'</span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Please&nbsp;feel&nbsp;free&nbsp;to&nbsp;</span><span style="color: #007700">use&nbsp;</span><span style="color: #0000BB">this&nbsp;code<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;without&nbsp;restriction&nbsp;in&nbsp;any&nbsp;application&nbsp;you&nbsp;develop.<br /> &nbsp; &nbsp;'</span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;This&nbsp;code&nbsp;may&nbsp;not&nbsp;be&nbsp;resold&nbsp;by&nbsp;itself&nbsp;</span><span style="color: #007700">or&nbsp;as<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">' &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;part&nbsp;of&nbsp;a&nbsp;collection.<br /> &nbsp; &nbsp;'<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">'What'</span><span style="color: #0000BB">s&nbsp;Missing</span><span style="color: #007700">:</span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;Let&nbsp;me&nbsp;know</span><span style="color: #007700">!<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">'<br /> &nbsp; &nbsp;'<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">'<br /> &nbsp; &nbsp;'</span><span style="color: #0000BB">Bugs</span><span style="color: #007700">:<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">'None&nbsp;at&nbsp;this&nbsp;point.<br /> &nbsp; &nbsp;'<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">'Enjoy<br /> &nbsp; &nbsp;'</span><span style="color: #0000BB">Stephen&nbsp;Lebans<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">'***************Code&nbsp;Start***************<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">Structure&nbsp;</span><span style="color: #007700">for&nbsp;</span><span style="color: #0000BB">DrawText&nbsp;calc<br /> &nbsp; &nbsp;Dim&nbsp;sRect&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">RECT<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Reports&nbsp;Device&nbsp;Context<br /> &nbsp; &nbsp;Dim&nbsp;hdc&nbsp;As&nbsp;LongPtr<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">Holds&nbsp;the&nbsp;current&nbsp;screen&nbsp;resolution<br /> &nbsp; &nbsp;Dim&nbsp;lngDPI&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">Long<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;Dim&nbsp;newfont&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">Long<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Handle&nbsp;to&nbsp;our&nbsp;Font&nbsp;Object&nbsp;we&nbsp;created.<br /> &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">We&nbsp;must&nbsp;destroy&nbsp;it&nbsp;before&nbsp;exiting&nbsp;main&nbsp;</span><span style="color: #007700">function<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;<br /> &nbsp; &nbsp;Dim&nbsp;oldfont&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">LongPtr<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Device&nbsp;COntext'</span><span style="color: #0000BB">s&nbsp;Font&nbsp;we&nbsp;must&nbsp;Select&nbsp;back&nbsp;into&nbsp;the&nbsp;DC<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;before&nbsp;we&nbsp;exit&nbsp;this&nbsp;function.<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">Temporary&nbsp;holder&nbsp;</span><span style="color: #007700">for&nbsp;</span><span style="color: #0000BB">returns&nbsp;from&nbsp;API&nbsp;calls<br /> &nbsp; &nbsp;Dim&nbsp;lngRet&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">LongPtr<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Logfont&nbsp;struct<br /> &nbsp; &nbsp;Dim&nbsp;myfont&nbsp;As&nbsp;LOGFONT<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">TextMetric&nbsp;struct<br /> &nbsp; &nbsp;Dim&nbsp;tm&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">TEXTMETRIC<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;LineSpacing&nbsp;Amount<br /> &nbsp; &nbsp;Dim&nbsp;lngLineSpacing&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">Ttemp&nbsp;</span><span style="color: #007700">var<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;Dim&nbsp;numLines&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">Long<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Temp&nbsp;string&nbsp;var&nbsp;for&nbsp;current&nbsp;printer&nbsp;name<br /> &nbsp; &nbsp;Dim&nbsp;strName&nbsp;As&nbsp;String<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">Temp&nbsp;vars<br /> &nbsp; &nbsp;Dim&nbsp;sngTemp1&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">Single<br /> &nbsp; &nbsp;Dim&nbsp;sngTemp2&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">Single<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;On&nbsp;Error&nbsp;</span><span style="color: #007700">GoTo&nbsp;</span><span style="color: #0000BB">Err_Handler<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;If&nbsp;we&nbsp;are&nbsp;being&nbsp;called&nbsp;from&nbsp;a&nbsp;Form&nbsp;then&nbsp;SKIP<br /> &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">the&nbsp;logic&nbsp;to&nbsp;Create&nbsp;a&nbsp;Printer&nbsp;DC&nbsp;</span><span style="color: #007700">and&nbsp;</span><span style="color: #0000BB">simply&nbsp;</span><span style="color: #007700">use<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;the&nbsp;Screen'</span><span style="color: #0000BB">s&nbsp;DC<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;</span><span style="color: #007700">If&nbsp;</span><span style="color: #0000BB">TypeOf&nbsp;ctl</span><span style="color: #007700">.</span><span style="color: #0000BB">Parent&nbsp;Is&nbsp;Access</span><span style="color: #007700">.</span><span style="color: #0000BB">Report&nbsp;Then<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;***************************************************<br /> &nbsp; &nbsp; &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">Warning</span><span style="color: #007700">!&nbsp;Do&nbsp;</span><span style="color: #0000BB">not&nbsp;</span><span style="color: #007700">use&nbsp;</span><span style="color: #0000BB">Printer</span><span style="color: #DD0000">'s&nbsp;Device&nbsp;Context&nbsp;for&nbsp;Forms.<br /> &nbsp; &nbsp; &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">This&nbsp;alternative&nbsp;is&nbsp;meant&nbsp;</span><span style="color: #007700">for&nbsp;</span><span style="color: #0000BB">Report</span><span style="color: #DD0000">'s&nbsp;only!!!!!<br /> &nbsp; &nbsp; &nbsp; &nbsp;'&nbsp;</span><span style="color: #007700">For&nbsp;</span><span style="color: #0000BB">a&nbsp;Report&nbsp;the&nbsp;best&nbsp;accuracy&nbsp;is&nbsp;obtained&nbsp;</span><span style="color: #007700">if&nbsp;</span><span style="color: #0000BB">you&nbsp;get&nbsp;a&nbsp;handle&nbsp;to<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;the&nbsp;printer'</span><span style="color: #0000BB">s&nbsp;Device&nbsp;Context&nbsp;instead&nbsp;of&nbsp;the&nbsp;Screen</span><span style="color: #DD0000">'s.<br /> &nbsp; &nbsp; &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">You&nbsp;can&nbsp;uncomment&nbsp;his&nbsp;code&nbsp;</span><span style="color: #007700">and&nbsp;</span><span style="color: #0000BB">comment&nbsp;out&nbsp;the<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;apiGetDc&nbsp;line&nbsp;of&nbsp;code.<br /> &nbsp; &nbsp; &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">We&nbsp;need&nbsp;to&nbsp;</span><span style="color: #007700">use&nbsp;</span><span style="color: #0000BB">the&nbsp;Printer</span><span style="color: #DD0000">'s&nbsp;Device&nbsp;Context<br /> &nbsp; &nbsp; &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">in&nbsp;order&nbsp;to&nbsp;more&nbsp;closely&nbsp;match&nbsp;Font&nbsp;height&nbsp;calcs<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;with&nbsp;actual&nbsp;ouptut.&nbsp;This&nbsp;example&nbsp;simply&nbsp;uses&nbsp;the<br /> &nbsp; &nbsp; &nbsp; &nbsp;'&nbsp;</span><span style="color: #007700">default&nbsp;</span><span style="color: #0000BB">printer&nbsp;</span><span style="color: #007700">for&nbsp;</span><span style="color: #0000BB">the&nbsp;system</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">You&nbsp;could&nbsp;also<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;add&nbsp;logic&nbsp;to&nbsp;use&nbsp;the&nbsp;Devnames&nbsp;property&nbsp;if&nbsp;this<br /> &nbsp; &nbsp; &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">report&nbsp;prints&nbsp;to&nbsp;a&nbsp;specific&nbsp;printer</span><span style="color: #007700">.<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;strName&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">GetDefaultPrintersName<br /> &nbsp; &nbsp; &nbsp; &nbsp;hdc&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">CreateDCbyNum</span><span style="color: #007700">(</span><span style="color: #DD0000">"WINSPOOL"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">strName</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">&amp;,&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">&amp;)<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">If&nbsp;</span><span style="color: #0000BB">hdc&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0&nbsp;Then<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Error&nbsp;cannot&nbsp;get&nbsp;handle&nbsp;to&nbsp;printer&nbsp;Device&nbsp;Context<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Err.Raise&nbsp;vbObjectError&nbsp;+&nbsp;255,&nbsp;"fTextWidthOrHeight",&nbsp;"Cannot&nbsp;Create&nbsp;Printer&nbsp;DC"<br /> &nbsp; &nbsp; &nbsp; &nbsp;End&nbsp;If<br /> &nbsp; &nbsp; &nbsp; &nbsp;'&nbsp;</span><span style="color: #007700">***************************************************<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #007700">Else<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Get&nbsp;handle&nbsp;to&nbsp;screen&nbsp;Device&nbsp;Context<br /> &nbsp; &nbsp; &nbsp; &nbsp;hdc&nbsp;=&nbsp;apiGetDC(0&amp;)<br /> &nbsp; &nbsp;End&nbsp;If<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">Were&nbsp;we&nbsp;passed&nbsp;a&nbsp;valid&nbsp;string<br /> &nbsp; &nbsp;</span><span style="color: #007700">If&nbsp;</span><span style="color: #0000BB">Len</span><span style="color: #007700">(</span><span style="color: #0000BB">sText&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">vbNullString</span><span style="color: #007700">)&nbsp;=&nbsp;</span><span style="color: #0000BB">0&nbsp;Then<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Did&nbsp;we&nbsp;get&nbsp;a&nbsp;valid&nbsp;control&nbsp;passed&nbsp;to&nbsp;us?<br /> &nbsp; &nbsp; &nbsp; &nbsp;'</span><span style="color: #0000BB">select&nbsp;</span><span style="color: #007700">case&nbsp;</span><span style="color: #0000BB">typeof&nbsp;ctl&nbsp;is<br /> &nbsp; &nbsp; &nbsp; &nbsp;Select&nbsp;</span><span style="color: #007700">Case&nbsp;</span><span style="color: #0000BB">ctl</span><span style="color: #007700">.</span><span style="color: #0000BB">ControlType<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">Case&nbsp;</span><span style="color: #0000BB">acTextBox<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sText&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">Nz</span><span style="color: #007700">(</span><span style="color: #0000BB">ctl</span><span style="color: #007700">.</span><span style="color: #0000BB">Value</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">vbNullString</span><span style="color: #007700">)<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">Case&nbsp;</span><span style="color: #0000BB">acLabel</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">acCommandButton<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sText&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">Nz</span><span style="color: #007700">(</span><span style="color: #0000BB">ctl</span><span style="color: #007700">.</span><span style="color: #0000BB">Caption</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">vbNullString</span><span style="color: #007700">)<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">Case&nbsp;</span><span style="color: #0000BB">acListBox<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sText&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">Nz</span><span style="color: #007700">(</span><span style="color: #0000BB">ctl</span><span style="color: #007700">.</span><span style="color: #0000BB">ItemData</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">),&nbsp;</span><span style="color: #0000BB">vbNullString</span><span style="color: #007700">)<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">Case&nbsp;Else<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Fail&nbsp;-&nbsp;not&nbsp;a&nbsp;control&nbsp;we&nbsp;can&nbsp;work&nbsp;with<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fTextWidthOrHeight&nbsp;=&nbsp;0<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Exit&nbsp;Function<br /> &nbsp; &nbsp; &nbsp; &nbsp;End&nbsp;Select<br /> &nbsp; &nbsp;End&nbsp;If<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">Get&nbsp;current&nbsp;device&nbsp;resolution<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;blWH=TRUE&nbsp;then&nbsp;we&nbsp;are&nbsp;TextHeight<br /> &nbsp; &nbsp;If&nbsp;blWH&nbsp;Then<br /> &nbsp; &nbsp; &nbsp; &nbsp;lngDPI&nbsp;=&nbsp;apiGetDeviceCaps(hdc,&nbsp;LOGPIXELSY)<br /> &nbsp; &nbsp;Else<br /> &nbsp; &nbsp; &nbsp; &nbsp;lngDPI&nbsp;=&nbsp;apiGetDeviceCaps(hdc,&nbsp;LOGPIXELSX)<br /> &nbsp; &nbsp;End&nbsp;If<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">Calculate&nbsp;TwipsPerPixel<br /> &nbsp; &nbsp;TwipsPerPixel&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">TWIPSPERINCH&nbsp;</span><span style="color: #007700">/&nbsp;</span><span style="color: #0000BB">lngDPI<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;We&nbsp;use&nbsp;a&nbsp;negative&nbsp;value&nbsp;to&nbsp;signify<br /> &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">to&nbsp;the&nbsp;CreateFont&nbsp;</span><span style="color: #007700">function&nbsp;</span><span style="color: #0000BB">that&nbsp;we&nbsp;want&nbsp;a&nbsp;Glyph<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;outline&nbsp;of&nbsp;this&nbsp;size&nbsp;not&nbsp;a&nbsp;bounding&nbsp;box.<br /> &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">Copy&nbsp;font&nbsp;stuff&nbsp;from&nbsp;Text&nbsp;Control</span><span style="color: #DD0000">'s&nbsp;property&nbsp;sheet<br /> &nbsp; &nbsp;With&nbsp;ctl<br /> &nbsp; &nbsp; &nbsp; &nbsp;myfont.lfClipPrecision&nbsp;=&nbsp;CLIP_LH_ANGLES<br /> &nbsp; &nbsp; &nbsp; &nbsp;myfont.lfOutPrecision&nbsp;=&nbsp;0&nbsp;'&nbsp;</span><span style="color: #0000BB">sl&nbsp;APRIL&nbsp;08</span><span style="color: #007700">/</span><span style="color: #0000BB">2002OUT_TT_ONLY_PRECIS<br /> &nbsp; &nbsp; &nbsp; &nbsp;myfont</span><span style="color: #007700">.</span><span style="color: #0000BB">lfEscapement&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0<br /> &nbsp; &nbsp; &nbsp; &nbsp;myfont</span><span style="color: #007700">.</span><span style="color: #0000BB">lfFaceName&nbsp;</span><span style="color: #007700">=&nbsp;.</span><span style="color: #0000BB">FontName&nbsp;</span><span style="color: #007700">&amp;&nbsp;</span><span style="color: #0000BB">Chr</span><span style="color: #007700">&#36;(</span><span style="color: #0000BB">0</span><span style="color: #007700">)<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;myfont</span><span style="color: #007700">.</span><span style="color: #0000BB">lfWeight&nbsp;</span><span style="color: #007700">=&nbsp;.</span><span style="color: #0000BB">FontWeight<br /> &nbsp; &nbsp; &nbsp; &nbsp;myfont</span><span style="color: #007700">.</span><span style="color: #0000BB">lfItalic&nbsp;</span><span style="color: #007700">=&nbsp;.</span><span style="color: #0000BB">FontItalic<br /> &nbsp; &nbsp; &nbsp; &nbsp;myfont</span><span style="color: #007700">.</span><span style="color: #0000BB">lfUnderline&nbsp;</span><span style="color: #007700">=&nbsp;.</span><span style="color: #0000BB">FontUnderline<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'Must&nbsp;be&nbsp;a&nbsp;negative&nbsp;figure&nbsp;for&nbsp;height&nbsp;or&nbsp;system&nbsp;will&nbsp;return<br /> &nbsp; &nbsp; &nbsp; &nbsp;'</span><span style="color: #0000BB">closest&nbsp;match&nbsp;on&nbsp;character&nbsp;cell&nbsp;not&nbsp;glyph<br /> &nbsp; &nbsp; &nbsp; &nbsp;myfont</span><span style="color: #007700">.</span><span style="color: #0000BB">lfHeight&nbsp;</span><span style="color: #007700">=&nbsp;(.</span><span style="color: #0000BB">FontSize&nbsp;</span><span style="color: #007700">/&nbsp;</span><span style="color: #0000BB">72</span><span style="color: #007700">)&nbsp;*&nbsp;-</span><span style="color: #0000BB">lngDPI<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Create&nbsp;our&nbsp;temp&nbsp;font<br /> &nbsp; &nbsp; &nbsp; &nbsp;newfont&nbsp;=&nbsp;apiCreateFontIndirect(myfont)<br /> &nbsp; &nbsp;End&nbsp;With<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;If&nbsp;newfont&nbsp;=&nbsp;0&nbsp;Then<br /> &nbsp; &nbsp; &nbsp; &nbsp;Err.Raise&nbsp;vbObjectError&nbsp;+&nbsp;256,&nbsp;"fTextWidthOrHeight",&nbsp;"Cannot&nbsp;Create&nbsp;Font"<br /> &nbsp; &nbsp;End&nbsp;If<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">Select&nbsp;the&nbsp;</span><span style="color: #007700">new&nbsp;</span><span style="color: #0000BB">font&nbsp;into&nbsp;our&nbsp;DC</span><span style="color: #007700">.<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;oldfont&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">apiSelectObject</span><span style="color: #007700">(</span><span style="color: #0000BB">hdc</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">newfont</span><span style="color: #007700">)<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Use&nbsp;DrawText&nbsp;to&nbsp;Calculate&nbsp;height&nbsp;of&nbsp;Rectangle&nbsp;required&nbsp;to&nbsp;hold<br /> &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">the&nbsp;current&nbsp;contents&nbsp;of&nbsp;the&nbsp;Control&nbsp;passed&nbsp;to&nbsp;this&nbsp;</span><span style="color: #007700">function.<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;With&nbsp;sRect<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">.</span><span style="color: #0000BB">Left&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">.</span><span style="color: #0000BB">Top&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">.</span><span style="color: #0000BB">Bottom&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;blWH=TRUE&nbsp;then&nbsp;we&nbsp;are&nbsp;TextHeight<br /> &nbsp; &nbsp; &nbsp; &nbsp;If&nbsp;blWH&nbsp;Then<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;.Right&nbsp;=&nbsp;(ctl.Width&nbsp;/&nbsp;(TWIPSPERINCH&nbsp;/&nbsp;lngDPI))&nbsp;-&nbsp;10<br /> &nbsp; &nbsp; &nbsp; &nbsp;Else<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">Single&nbsp;line&nbsp;TextWidth<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">.</span><span style="color: #0000BB">Right&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">32000<br /> &nbsp; &nbsp; &nbsp; &nbsp;End&nbsp;</span><span style="color: #007700">If<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Calculate&nbsp;our&nbsp;bounding&nbsp;box&nbsp;based&nbsp;on&nbsp;the&nbsp;controls&nbsp;current&nbsp;width<br /> &nbsp; &nbsp; &nbsp; &nbsp;lngRet&nbsp;=&nbsp;apiDrawText(hdc,&nbsp;sText,&nbsp;-1,&nbsp;sRect,&nbsp;DT_CALCRECT&nbsp;Or&nbsp;DT_TOP&nbsp;Or&nbsp;_<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;DT_LEFT&nbsp;Or&nbsp;DT_WORDBREAK&nbsp;Or&nbsp;DT_NOCLIP) &nbsp;'&nbsp;</span><span style="color: #0000BB">not&nbsp;</span><span style="color: #007700">for&nbsp;</span><span style="color: #0000BB">this&nbsp;version</span><span style="color: #007700">!<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Get&nbsp;TextMetrics.&nbsp;This&nbsp;is&nbsp;required&nbsp;to&nbsp;determine<br /> &nbsp; &nbsp; &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">Text&nbsp;height&nbsp;</span><span style="color: #007700">and&nbsp;</span><span style="color: #0000BB">the&nbsp;amount&nbsp;of&nbsp;extra&nbsp;spacing&nbsp;between&nbsp;lines</span><span style="color: #007700">.<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;lngRet&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">GetTextMetrics</span><span style="color: #007700">(</span><span style="color: #0000BB">hdc</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">tm</span><span style="color: #007700">)<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Cleanup<br /> &nbsp; &nbsp; &nbsp; &nbsp;lngRet&nbsp;=&nbsp;apiSelectObject(hdc,&nbsp;oldfont)<br /> &nbsp; &nbsp; &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">Delete&nbsp;the&nbsp;Font&nbsp;we&nbsp;created<br /> &nbsp; &nbsp; &nbsp; &nbsp;apiDeleteObject&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">newfont</span><span style="color: #007700">)<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">If&nbsp;</span><span style="color: #0000BB">TypeOf&nbsp;ctl</span><span style="color: #007700">.</span><span style="color: #0000BB">Parent&nbsp;Is&nbsp;Access</span><span style="color: #007700">.</span><span style="color: #0000BB">Report&nbsp;Then<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;***************************************************<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'&nbsp;</span><span style="color: #007700">If&nbsp;</span><span style="color: #0000BB">you&nbsp;are&nbsp;using&nbsp;the&nbsp;Printers</span><span style="color: #DD0000">'&nbsp;DC&nbsp;then&nbsp;uncomment&nbsp;below<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'&nbsp;</span><span style="color: #007700">and&nbsp;</span><span style="color: #0000BB">comment&nbsp;out&nbsp;the&nbsp;apiReleaseDc&nbsp;line&nbsp;of&nbsp;code&nbsp;below<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Delete&nbsp;our&nbsp;handle&nbsp;to&nbsp;the&nbsp;Printer&nbsp;DC<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;lngRet&nbsp;=&nbsp;apiDeleteDC(hdc)<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'&nbsp;</span><span style="color: #007700">***************************************************<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">Else<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Release&nbsp;the&nbsp;handle&nbsp;to&nbsp;the&nbsp;Screen'</span><span style="color: #0000BB">s&nbsp;DC<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;lngRet&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">apiReleaseDC</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">&amp;,&nbsp;</span><span style="color: #0000BB">hdc</span><span style="color: #007700">)<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;End&nbsp;</span><span style="color: #007700">If<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Calculate&nbsp;how&nbsp;many&nbsp;lines&nbsp;we&nbsp;are&nbsp;displaying<br /> &nbsp; &nbsp; &nbsp; &nbsp;'&nbsp;</span><span style="color: #007700">return&nbsp;</span><span style="color: #0000BB">to&nbsp;calling&nbsp;</span><span style="color: #007700">function.&nbsp;</span><span style="color: #0000BB">The&nbsp;GDI&nbsp;incorrectly<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;calculates&nbsp;the&nbsp;bounding&nbsp;rectangle&nbsp;because<br /> &nbsp; &nbsp; &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">of&nbsp;rounding&nbsp;errors&nbsp;converting&nbsp;to&nbsp;Integers</span><span style="color: #007700">.<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;TotalLines&nbsp;</span><span style="color: #007700">=&nbsp;.</span><span style="color: #0000BB">Bottom&nbsp;</span><span style="color: #007700">/&nbsp;(</span><span style="color: #0000BB">tm</span><span style="color: #007700">.</span><span style="color: #0000BB">tmHeight&nbsp;</span><span style="color: #007700">+&nbsp;</span><span style="color: #0000BB">tm</span><span style="color: #007700">.</span><span style="color: #0000BB">tmExternalLeading</span><span style="color: #007700">)<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;numLines&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">TotalLines<br /> &nbsp; &nbsp; &nbsp; &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Convert&nbsp;RECT&nbsp;values&nbsp;to&nbsp;TWIPS<br /> &nbsp; &nbsp; &nbsp; &nbsp;.Bottom&nbsp;=&nbsp;(.Bottom)&nbsp;*&nbsp;(TWIPSPERINCH&nbsp;/&nbsp;lngDPI)&nbsp;'</span><span style="color: #0000BB">sngTemp2&nbsp;</span><span style="color: #DD0000">'&nbsp;+&nbsp;20<br /> &nbsp; &nbsp; &nbsp; &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;'&nbsp;</span><span style="color: #007700">Return&nbsp;</span><span style="color: #0000BB">values&nbsp;in&nbsp;optional&nbsp;vars<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Convert&nbsp;RECT&nbsp;Pixel&nbsp;values&nbsp;to&nbsp;TWIPS<br /> &nbsp; &nbsp; &nbsp; &nbsp;HeightTwips&nbsp;=&nbsp;.Bottom&nbsp;'</span><span style="color: #007700">*&nbsp;(</span><span style="color: #0000BB">TWIPSPERINCH&nbsp;</span><span style="color: #007700">/&nbsp;</span><span style="color: #0000BB">lngDPI</span><span style="color: #007700">)<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp;WidthTwips&nbsp;</span><span style="color: #007700">=&nbsp;.</span><span style="color: #0000BB">Right&nbsp;</span><span style="color: #007700">*&nbsp;(</span><span style="color: #0000BB">TWIPSPERINCH&nbsp;</span><span style="color: #007700">/&nbsp;</span><span style="color: #0000BB">lngDPI</span><span style="color: #007700">)&nbsp;</span><span style="color: #DD0000">'(apiGetDeviceCaps(hDC,&nbsp;LOGPIXELSX)))<br /> &nbsp; &nbsp; &nbsp; &nbsp;<br /> &nbsp; &nbsp; &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">blWH</span><span style="color: #007700">=</span><span style="color: #0000BB">TRUE&nbsp;then&nbsp;we&nbsp;are&nbsp;TextHeight<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">If&nbsp;</span><span style="color: #0000BB">blWH&nbsp;Then<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fTextWidthOrHeight&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">HeightTwips<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">Else<br /></span><span style="color: #0000BB"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fTextWidthOrHeight&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">WidthTwips<br /> &nbsp; &nbsp; &nbsp; &nbsp;End&nbsp;</span><span style="color: #007700">If<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;End&nbsp;With<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Exit&nbsp;normally<br />Exit_OK:<br /> &nbsp; &nbsp;Exit&nbsp;Function<br /> &nbsp; &nbsp;<br />Err_Handler:<br /> &nbsp; &nbsp;Err.Raise&nbsp;Err.Source,&nbsp;Err.Number,&nbsp;Err.Description<br /> &nbsp; &nbsp;Resume&nbsp;Exit_OK<br />End&nbsp;Function<br /><br />Function&nbsp;GetDefaultPrintersName()&nbsp;As&nbsp;String<br /> &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">This&nbsp;</span><span style="color: #007700">function&nbsp;</span><span style="color: #0000BB">is&nbsp;from&nbsp;Peter&nbsp;Walker</span><span style="color: #007700">.<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Check&nbsp;out&nbsp;his&nbsp;web&nbsp;site&nbsp;at:<br /> &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">http</span><span style="color: #007700">:</span><span style="color: #FF8000">//www.users.bigpond.com/papwalker/<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;Dim&nbsp;success&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">Long<br /> &nbsp; &nbsp;Dim&nbsp;nSize&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">Long<br /> &nbsp; &nbsp;Dim&nbsp;lpKeyName&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">String<br /> &nbsp; &nbsp;Dim&nbsp;ret&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">String<br /> &nbsp; &nbsp;Dim&nbsp;posDriver<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">'call&nbsp;the&nbsp;API&nbsp;passing&nbsp;null&nbsp;as&nbsp;the&nbsp;parameter<br /> &nbsp; &nbsp;'</span><span style="color: #007700">for&nbsp;</span><span style="color: #0000BB">the&nbsp;lpKeyName&nbsp;parameter</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">This&nbsp;causes<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">'the&nbsp;API&nbsp;to&nbsp;return&nbsp;a&nbsp;list&nbsp;of&nbsp;all&nbsp;keys&nbsp;under<br /> &nbsp; &nbsp;'</span><span style="color: #0000BB">that&nbsp;section</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">Pad&nbsp;the&nbsp;passed&nbsp;string&nbsp;large<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">'enough&nbsp;to&nbsp;hold&nbsp;the&nbsp;data.&nbsp;Adjust&nbsp;to&nbsp;suit.<br /> &nbsp; &nbsp;ret&nbsp;=&nbsp;Space&#36;(8102)<br /> &nbsp; &nbsp;nSize&nbsp;=&nbsp;Len(ret)<br /> &nbsp; &nbsp;success&nbsp;=&nbsp;GetProfileString("windows",&nbsp;"device",&nbsp;"",&nbsp;ret,&nbsp;nSize)<br /> &nbsp; &nbsp;posDriver&nbsp;=&nbsp;InStr(ret,&nbsp;",")<br /> &nbsp; &nbsp;GetDefaultPrintersName&nbsp;=&nbsp;Left&#36;(ret,&nbsp;posDriver&nbsp;-&nbsp;1)<br />End&nbsp;Function<br /><br />Public&nbsp;Function&nbsp;ScreenTwipsPerPixel()&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;Dim&nbsp;hdc&nbsp;As&nbsp;LongPtr<br /> &nbsp; &nbsp;Dim&nbsp;lngRet&nbsp;As&nbsp;LongPtr<br /> &nbsp; &nbsp;<br /> &nbsp; &nbsp;'&nbsp;</span><span style="color: #0000BB">Get&nbsp;handle&nbsp;to&nbsp;screen&nbsp;Device&nbsp;Context<br /> &nbsp; &nbsp;hdc&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">apiGetDC</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">&amp;)<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;ScreenTwipsPerPixel&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">TWIPSPERINCH&nbsp;</span><span style="color: #007700">/&nbsp;</span><span style="color: #0000BB">apiGetDeviceCaps</span><span style="color: #007700">(</span><span style="color: #0000BB">hdc</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">LOGPIXELSY</span><span style="color: #007700">)<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;<br /> &nbsp; &nbsp;</span><span style="color: #DD0000">'&nbsp;Release&nbsp;the&nbsp;handle&nbsp;to&nbsp;the&nbsp;Screen'</span><span style="color: #0000BB">s&nbsp;DC<br /> &nbsp; &nbsp;lngRet&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">apiReleaseDC</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">&amp;,&nbsp;</span><span style="color: #0000BB">hdc</span><span style="color: #007700">)<br /></span><span style="color: #0000BB">End&nbsp;</span><span style="color: #007700">Function<br /><br /><br /></span><span style="color: #DD0000">'/Goi&nbsp;ham&nbsp;de&nbsp;canh&nbsp;giua&nbsp;hang&nbsp;doc<br />Public&nbsp;Sub&nbsp;VerticallyCenter(ByRef&nbsp;ctl&nbsp;As&nbsp;Control)<br /> &nbsp; &nbsp;Dim&nbsp;lngHeight&nbsp;As&nbsp;Long<br /> &nbsp; &nbsp;lngHeight&nbsp;=&nbsp;fTextHeight(ctl)<br /> &nbsp; &nbsp;ctl.TopMargin&nbsp;=&nbsp;((ctl.Height&nbsp;-&nbsp;lngHeight)&nbsp;/&nbsp;2)<br />End&nbsp;Sub&nbsp;<br /></span></code></div></div></div><br />
<br />
* Gọi hàm này trong Form và Report: thiết lập thuộc tính Tag cho các texbox hoặc label nào muốn áp dụng hàm<br />
<br />
<div class="codeblock phpcodeblock"><div class="title">Mã PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">Option&nbsp;Compare&nbsp;Database<br />Option&nbsp;Explicit<br /><br /></span><span style="color: #007700">Private&nbsp;</span><span style="color: #0000BB">Sub&nbsp;Form_Current</span><span style="color: #007700">()<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;thietLapCanhGiuDoc<br />End&nbsp;Sub<br /><br /></span><span style="color: #007700">Private&nbsp;</span><span style="color: #0000BB">Sub&nbsp;Form_Load</span><span style="color: #007700">()<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;thietLapCanhGiuDoc<br />End&nbsp;Sub<br /><br />Sub&nbsp;thietLapCanhGiuDoc</span><span style="color: #007700">()<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;Dim&nbsp;ctl&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">Control<br /> &nbsp; &nbsp;</span><span style="color: #007700">For&nbsp;</span><span style="color: #0000BB">Each&nbsp;ctl&nbsp;In&nbsp;Me</span><span style="color: #007700">.</span><span style="color: #0000BB">Controls<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #DD0000">'Chi&nbsp;ap&nbsp;dung&nbsp;cho&nbsp;Textbox&nbsp;va&nbsp;Label&nbsp;va&nbsp;Tag&nbsp;phai&nbsp;có&nbsp;chuoi&nbsp;"verAlg"&nbsp;moi&nbsp;canh&nbsp;giua&nbsp;hang&nbsp;doc<br /> &nbsp; &nbsp; &nbsp; &nbsp;If&nbsp;(ctl.ControlType&nbsp;=&nbsp;acTextBox&nbsp;Or&nbsp;ctl.ControlType&nbsp;=&nbsp;acLabel)&nbsp;And&nbsp;(ctl.Tag&nbsp;Like&nbsp;"verAlg")&nbsp;Then<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;VerticallyCenter&nbsp;ctl &nbsp; &nbsp;'</span><span style="color: #0000BB">LEBAN<br /> &nbsp; &nbsp; &nbsp; &nbsp;End&nbsp;</span><span style="color: #007700">If<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;Next<br />End&nbsp;Sub&nbsp;<br /></span></code></div></div></div><br />
<div class="codeblock phpcodeblock"><div class="title">Mã PHP:</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">Option&nbsp;Compare&nbsp;Database<br />Option&nbsp;Explicit<br /><br /></span><span style="color: #007700">Private&nbsp;</span><span style="color: #0000BB">Sub&nbsp;Report_Load</span><span style="color: #007700">()<br /></span><span style="color: #0000BB"> &nbsp; &nbsp;Dim&nbsp;ctl&nbsp;</span><span style="color: #007700">As&nbsp;</span><span style="color: #0000BB">Control<br /> &nbsp; &nbsp;</span><span style="color: #007700">For&nbsp;</span><span style="color: #0000BB">Each&nbsp;ctl&nbsp;In&nbsp;Me</span><span style="color: #007700">.</span><span style="color: #0000BB">Controls<br /> &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #007700">If&nbsp;</span><span style="color: #0000BB">ctl</span><span style="color: #007700">.</span><span style="color: #0000BB">ControlType&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">acTextBox&nbsp;</span><span style="color: #007700">Or&nbsp;</span><span style="color: #0000BB">ctl</span><span style="color: #007700">.</span><span style="color: #0000BB">ControlType&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">acLabel&nbsp;Then<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;On&nbsp;Error&nbsp;Resume&nbsp;Next &nbsp; &nbsp;</span><span style="color: #DD0000">'bo&nbsp;qua&nbsp;loi&nbsp;2100:&nbsp;khi&nbsp;lay&nbsp;chieu&nbsp;cao&nbsp;text&nbsp;&gt;&nbsp;chieu&nbsp;cao&nbsp;control&nbsp;=&gt;&nbsp;giam&nbsp;font&nbsp;size.<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;VerticallyCenter&nbsp;ctl<br /> &nbsp; &nbsp; &nbsp; &nbsp;End&nbsp;If<br /> &nbsp; &nbsp;Next<br />End&nbsp;Sub&nbsp;<br /></span></code></div></div></div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Tìm Control ID trên Report]]></title>
			<link>https://thuthuataccess.com/forum/thread-12710.html</link>
			<pubDate>Fri, 01 Dec 2023 01:04:52 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://thuthuataccess.com/forum/member.php?action=profile&uid=20584">tungthoi15</a>]]></dc:creator>
			<guid isPermaLink="false">https://thuthuataccess.com/forum/thread-12710.html</guid>
			<description><![CDATA[Tình hình là em sửa lại 1 Report để thiết kế cho nhanh, nhưng khi sửa xong và chạy thì Report báo lỗi đến 1 Control có tên là ID;<br />
Vậy cho em hỏi là làm cách nào để tìm cái ID kia mà chỉnh sửa cho hết báo lỗi<br />
<br />
<img src="https://i.imgur.com/GD2hW7a.jpg" loading="lazy"  alt="[Hình: GD2hW7a.jpg]" class="mycode_img" />]]></description>
			<content:encoded><![CDATA[Tình hình là em sửa lại 1 Report để thiết kế cho nhanh, nhưng khi sửa xong và chạy thì Report báo lỗi đến 1 Control có tên là ID;<br />
Vậy cho em hỏi là làm cách nào để tìm cái ID kia mà chỉnh sửa cho hết báo lỗi<br />
<br />
<img src="https://i.imgur.com/GD2hW7a.jpg" loading="lazy"  alt="[Hình: GD2hW7a.jpg]" class="mycode_img" />]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Justify text on textbox for access 2016 reports]]></title>
			<link>https://thuthuataccess.com/forum/thread-12682.html</link>
			<pubDate>Thu, 05 Oct 2023 07:06:19 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://thuthuataccess.com/forum/member.php?action=profile&uid=19765">dotrung</a>]]></dc:creator>
			<guid isPermaLink="false">https://thuthuataccess.com/forum/thread-12682.html</guid>
			<description><![CDATA[Dotrung có tìm hiểu trên web thì Justify text on textbox for access 2016 reports chỉ căn chỉnh textbox trên report không dùng được cho kí tự tiếng việt. Xin các bác trong diễn đàn hỗ trợ dùng cho tiếng việt ạ<br />
hình ảnh demo textbox trên report<br />
<img src="https://upanh.tv/image/jVAgQc" loading="lazy"  width="320" height="230" alt="[Hình: jVAgQc]" class="mycode_img" /><br />
<br />
file trên web <a href="http://www.lebans.com/DownloadFiles/ClassJustiDirect.zip" target="_blank" rel="noopener" class="mycode_url">http://www.lebans.com/DownloadFiles/Clas...Direct.zip</a>]]></description>
			<content:encoded><![CDATA[Dotrung có tìm hiểu trên web thì Justify text on textbox for access 2016 reports chỉ căn chỉnh textbox trên report không dùng được cho kí tự tiếng việt. Xin các bác trong diễn đàn hỗ trợ dùng cho tiếng việt ạ<br />
hình ảnh demo textbox trên report<br />
<img src="https://upanh.tv/image/jVAgQc" loading="lazy"  width="320" height="230" alt="[Hình: jVAgQc]" class="mycode_img" /><br />
<br />
file trên web <a href="http://www.lebans.com/DownloadFiles/ClassJustiDirect.zip" target="_blank" rel="noopener" class="mycode_url">http://www.lebans.com/DownloadFiles/Clas...Direct.zip</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Lỗi report không hiện chi tiết]]></title>
			<link>https://thuthuataccess.com/forum/thread-12680.html</link>
			<pubDate>Sat, 30 Sep 2023 16:10:59 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://thuthuataccess.com/forum/member.php?action=profile&uid=19765">dotrung</a>]]></dc:creator>
			<guid isPermaLink="false">https://thuthuataccess.com/forum/thread-12680.html</guid>
			<description><![CDATA[Nhờ các bác trong diễn đàn cho em hỏi lỗi này bị gì, xin cảm ơn ! (em dùng access 2016)  <img src="https://thuthuataccess.com/forum/../backlink/images/smilies/Zing/002.gif" alt="002" title="002" class="smilie smilie_224" /> <br />
<br />
<img src="https://img.upanh.tv/2023/09/30/Loi-report.jpg" loading="lazy"  width="420" height="320" alt="[Hình: Loi-report.jpg]" class="mycode_img" /><br />
<br />
Đây là file demo lỗi của dotrung :<br />
<a href="https://www.mediafire.com/file/h1r3jjm90egavum/Loi+report.accdb/file" target="_blank" rel="noopener" class="mycode_url">https://www.mediafire.com/file/h1r3jjm90...accdb/file</a>]]></description>
			<content:encoded><![CDATA[Nhờ các bác trong diễn đàn cho em hỏi lỗi này bị gì, xin cảm ơn ! (em dùng access 2016)  <img src="https://thuthuataccess.com/forum/../backlink/images/smilies/Zing/002.gif" alt="002" title="002" class="smilie smilie_224" /> <br />
<br />
<img src="https://img.upanh.tv/2023/09/30/Loi-report.jpg" loading="lazy"  width="420" height="320" alt="[Hình: Loi-report.jpg]" class="mycode_img" /><br />
<br />
Đây là file demo lỗi của dotrung :<br />
<a href="https://www.mediafire.com/file/h1r3jjm90egavum/Loi+report.accdb/file" target="_blank" rel="noopener" class="mycode_url">https://www.mediafire.com/file/h1r3jjm90...accdb/file</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Không co giãn dữ liệu trong ô và kẻ dòng ở report?]]></title>
			<link>https://thuthuataccess.com/forum/thread-12613.html</link>
			<pubDate>Tue, 16 May 2023 23:50:44 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://thuthuataccess.com/forum/member.php?action=profile&uid=18099">feeling</a>]]></dc:creator>
			<guid isPermaLink="false">https://thuthuataccess.com/forum/thread-12613.html</guid>
			<description><![CDATA[Em chào các anh chị!<br />
Em đang tạo report sổ quỹ tiền mặt (lâu rồi em không xài đến ạ) và có xài code co giãn dữ liệu và kẻ bảng của @maidinhdan. Nhưng hiện tại nó không thực hiện được việc co giãn dữ liệu và  kẻ dòng. Em loay hoay mãi từ hôm qua đến giờ vẫn không hiểu sai chỗ nào mà vẫn không chạy được như mình muốn. Em đưa bài lên đây nhờ các anh chị hoàn thiện giúp cho em với ạ!<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><a href="https://drive.google.com/file/d/1uhYwRzafTvpQ-zuVNEhy7MMWDylT4oYG/view?usp=share_link" target="_blank" rel="noopener" class="mycode_url"><span style="color: #ff4136;" class="mycode_color">Tải File</span></a></span><br />
<br />
Em cám ơn nhiều ạ!]]></description>
			<content:encoded><![CDATA[Em chào các anh chị!<br />
Em đang tạo report sổ quỹ tiền mặt (lâu rồi em không xài đến ạ) và có xài code co giãn dữ liệu và kẻ bảng của @maidinhdan. Nhưng hiện tại nó không thực hiện được việc co giãn dữ liệu và  kẻ dòng. Em loay hoay mãi từ hôm qua đến giờ vẫn không hiểu sai chỗ nào mà vẫn không chạy được như mình muốn. Em đưa bài lên đây nhờ các anh chị hoàn thiện giúp cho em với ạ!<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><a href="https://drive.google.com/file/d/1uhYwRzafTvpQ-zuVNEhy7MMWDylT4oYG/view?usp=share_link" target="_blank" rel="noopener" class="mycode_url"><span style="color: #ff4136;" class="mycode_color">Tải File</span></a></span><br />
<br />
Em cám ơn nhiều ạ!]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Chữ tự co giãn trong textbox | In thẻ nhân viên]]></title>
			<link>https://thuthuataccess.com/forum/thread-12607.html</link>
			<pubDate>Tue, 25 Apr 2023 03:26:41 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://thuthuataccess.com/forum/member.php?action=profile&uid=1363">cpucloi</a>]]></dc:creator>
			<guid isPermaLink="false">https://thuthuataccess.com/forum/thread-12607.html</guid>
			<description><![CDATA[Bạn huyhoang22 có hỏi lại về cách làm cho chữ tự co giãn vừa với textbox<br />
<br />
Bài này đã có hướng dẫn trên 4rum: <a href="https://thuthuataccess.com/forum/thread-10105.html" target="_blank" rel="noopener" class="mycode_url">tại đây #7</a><br />
<br />
<iframe width="560" height="315" src="//www.youtube-nocookie.com/embed/o7sy5wESQNo" frameborder="0" allowfullscreen="true"></iframe><br />
<br />
<a href="https://www.mediafire.com/file/wxfbal3xbczveka/inThe.accdb/file" target="_blank" rel="noopener" class="mycode_url">Demo đây!</a>]]></description>
			<content:encoded><![CDATA[Bạn huyhoang22 có hỏi lại về cách làm cho chữ tự co giãn vừa với textbox<br />
<br />
Bài này đã có hướng dẫn trên 4rum: <a href="https://thuthuataccess.com/forum/thread-10105.html" target="_blank" rel="noopener" class="mycode_url">tại đây #7</a><br />
<br />
<iframe width="560" height="315" src="//www.youtube-nocookie.com/embed/o7sy5wESQNo" frameborder="0" allowfullscreen="true"></iframe><br />
<br />
<a href="https://www.mediafire.com/file/wxfbal3xbczveka/inThe.accdb/file" target="_blank" rel="noopener" class="mycode_url">Demo đây!</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Tính tổng trong Report]]></title>
			<link>https://thuthuataccess.com/forum/thread-12574.html</link>
			<pubDate>Sat, 11 Mar 2023 08:18:00 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://thuthuataccess.com/forum/member.php?action=profile&uid=22246">Thanh Phat</a>]]></dc:creator>
			<guid isPermaLink="false">https://thuthuataccess.com/forum/thread-12574.html</guid>
			<description><![CDATA[Các anh chị cho hỏi, mình có tạo Query như sau:<br />
<br />
Xe           TiềnXe       ChiPhi      NDChi<br />
<br />
Xe1          1000         500         cầu đường<br />
<br />
Xe2          2000         200         cầu đường<br />
Xe2          2000         100         bốc xếp<br />
Xe2          2000         100         vá vỏ<br />
<br />
Khi tạo Report (có Group field "Xe") thì Sum(ChiPhi) = 900 đúng, nhưng Sum(TiênXe) = 7000 (sai)<br />
Anh chị giúp giùm làm cách nào để sum đúng ạ (có 2 chuyến xe thì cột TiênXe = 3000 thôi)<br />
<br />
Cám ơn]]></description>
			<content:encoded><![CDATA[Các anh chị cho hỏi, mình có tạo Query như sau:<br />
<br />
Xe           TiềnXe       ChiPhi      NDChi<br />
<br />
Xe1          1000         500         cầu đường<br />
<br />
Xe2          2000         200         cầu đường<br />
Xe2          2000         100         bốc xếp<br />
Xe2          2000         100         vá vỏ<br />
<br />
Khi tạo Report (có Group field "Xe") thì Sum(ChiPhi) = 900 đúng, nhưng Sum(TiênXe) = 7000 (sai)<br />
Anh chị giúp giùm làm cách nào để sum đúng ạ (có 2 chuyến xe thì cột TiênXe = 3000 thôi)<br />
<br />
Cám ơn]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Lỗi định dạng report khi chuyển sang máy khác]]></title>
			<link>https://thuthuataccess.com/forum/thread-12513.html</link>
			<pubDate>Tue, 25 Oct 2022 04:25:14 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://thuthuataccess.com/forum/member.php?action=profile&uid=19824">AnNguyen</a>]]></dc:creator>
			<guid isPermaLink="false">https://thuthuataccess.com/forum/thread-12513.html</guid>
			<description><![CDATA[Hiện tại em dùng trên nhiều máy thì vấn đề report không sao, nhưng chuyển sang 1 cái máy khác thì bị như hình bên dưới, nó không có size để chọn theo kiểu A4 hoặc điều chỉnh<br />
và cái size mặc định của nó hiện ra cũng lạ có cả chữ tàu, trong khi em thử cài lại cả office vẫn không được.<br />
Lỗi này của em là sao ạ?<br />
Em cảm ơn!<br />
<img src="https://i.imgur.com/G0DO34y.png" loading="lazy"  alt="[Hình: G0DO34y.png]" class="mycode_img" />]]></description>
			<content:encoded><![CDATA[Hiện tại em dùng trên nhiều máy thì vấn đề report không sao, nhưng chuyển sang 1 cái máy khác thì bị như hình bên dưới, nó không có size để chọn theo kiểu A4 hoặc điều chỉnh<br />
và cái size mặc định của nó hiện ra cũng lạ có cả chữ tàu, trong khi em thử cài lại cả office vẫn không được.<br />
Lỗi này của em là sao ạ?<br />
Em cảm ơn!<br />
<img src="https://i.imgur.com/G0DO34y.png" loading="lazy"  alt="[Hình: G0DO34y.png]" class="mycode_img" />]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Nhờ giúp đỡ tạo report tổng hợp dạng gộp dữ liệu]]></title>
			<link>https://thuthuataccess.com/forum/thread-12512.html</link>
			<pubDate>Tue, 25 Oct 2022 03:26:25 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://thuthuataccess.com/forum/member.php?action=profile&uid=14279">vietcnttit</a>]]></dc:creator>
			<guid isPermaLink="false">https://thuthuataccess.com/forum/thread-12512.html</guid>
			<description><![CDATA[Em đang quản lý dữ liệu hộ nghèo, hộ cận nghèo. Hiện tại do quy định mới cần xuất bảng tổng hợp dạng gộp dữ liệu như sau<br />
<br />
Ví dụ bảng đầu ra của hộ nghèo:<br />
TT Khu vực/Địa bàn   Phân tổ     Tổng số hộ nghèo    Số hộ thoát nghèo     Số hộ phát sinh    Tổng số hộ nghèo cuối năm<br />
<br />
1   TP Cao Lãnh           Hộ               566                                                             1                                 567<br />
                             Nhân khẩu       1.711                                                            2                                1.713<br />
2   TP Sa Đéc              Hộ                678                                                                                              679 <br />
                           Nhân khẩu         2.175                                                                                            2.185<br />
3   TP Hồng Ngự          Hộ              1.096                                                                                            1.098<br />
                           Nhân khẩu         3.667                                                                                             3.666 <br />
<br />
............<br />
Tổng cộng                Hộ <br />
                         Nhân khẩu <br />
<br />
Hiện tại cơ sở dữ liệu bảng hộ riêng và bảng nhân khẩu riêng ạ. Khi làm query thì cũng tổng hợp query hộ riêng, query nhân khẩu riêng. Giờ gộp chung 2 query vào report chung như thế này thì khó quá, mong các anh chị đã có kinh nghiệm hỗ trợ giúp em. XIn chân thành cảm ơn ạ !]]></description>
			<content:encoded><![CDATA[Em đang quản lý dữ liệu hộ nghèo, hộ cận nghèo. Hiện tại do quy định mới cần xuất bảng tổng hợp dạng gộp dữ liệu như sau<br />
<br />
Ví dụ bảng đầu ra của hộ nghèo:<br />
TT Khu vực/Địa bàn   Phân tổ     Tổng số hộ nghèo    Số hộ thoát nghèo     Số hộ phát sinh    Tổng số hộ nghèo cuối năm<br />
<br />
1   TP Cao Lãnh           Hộ               566                                                             1                                 567<br />
                             Nhân khẩu       1.711                                                            2                                1.713<br />
2   TP Sa Đéc              Hộ                678                                                                                              679 <br />
                           Nhân khẩu         2.175                                                                                            2.185<br />
3   TP Hồng Ngự          Hộ              1.096                                                                                            1.098<br />
                           Nhân khẩu         3.667                                                                                             3.666 <br />
<br />
............<br />
Tổng cộng                Hộ <br />
                         Nhân khẩu <br />
<br />
Hiện tại cơ sở dữ liệu bảng hộ riêng và bảng nhân khẩu riêng ạ. Khi làm query thì cũng tổng hợp query hộ riêng, query nhân khẩu riêng. Giờ gộp chung 2 query vào report chung như thế này thì khó quá, mong các anh chị đã có kinh nghiệm hỗ trợ giúp em. XIn chân thành cảm ơn ạ !]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Định dạng trường ngày tháng trong report access]]></title>
			<link>https://thuthuataccess.com/forum/thread-12511.html</link>
			<pubDate>Sun, 23 Oct 2022 02:49:55 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://thuthuataccess.com/forum/member.php?action=profile&uid=22035">tttu696</a>]]></dc:creator>
			<guid isPermaLink="false">https://thuthuataccess.com/forum/thread-12511.html</guid>
			<description><![CDATA[Trong Report Access.. em cố trường ngày tháng năm (22/10/2022).. em muốn hiện thị trên Report là " Ngày 22 tháng 10 năm 2022"... Nhưng em không biết làm như thế nào... mong các anh chị hướng dẫn em với ạ, em xin cám ơn!]]></description>
			<content:encoded><![CDATA[Trong Report Access.. em cố trường ngày tháng năm (22/10/2022).. em muốn hiện thị trên Report là " Ngày 22 tháng 10 năm 2022"... Nhưng em không biết làm như thế nào... mong các anh chị hướng dẫn em với ạ, em xin cám ơn!]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Xóa bỏ dòng trống trong file Text]]></title>
			<link>https://thuthuataccess.com/forum/thread-12496.html</link>
			<pubDate>Thu, 29 Sep 2022 00:09:43 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://thuthuataccess.com/forum/member.php?action=profile&uid=20957">lab30tnd</a>]]></dc:creator>
			<guid isPermaLink="false">https://thuthuataccess.com/forum/thread-12496.html</guid>
			<description><![CDATA[Chào quý anh chị,<br />
<br />
Em gặp 1 rắc rối khắc khi xuất Report ra file Txt thì xuất hiện những dòng trống không cần thiết (như file đính kèm) với câu lệnh xuất file như sau:<br />
<br />
<div class="codeblock"><div class="title">Mã:</div><div class="body" dir="ltr"><code>Private Sub btnSent2Host_Click()<br />
On Error GoTo btnSent2Host_Click_Err<br />
<br />
    DoCmd.OutputTo acOutputReport, "Rep_Sent2Host", "MS-DOSText(*.txt)", "", False, "", 1200, acExportQualityPrint<br />
<br />
<br />
btnSent2Host_Click_Exit:<br />
    Exit Sub<br />
<br />
btnSent2Host_Click_Err:<br />
    MsgBox Error&#36;<br />
    Resume btnSent2Host_Click_Exit<br />
<br />
End Sub</code></div></div><br />
<br />
Làm cách nào để e xóa được các dòng trống không cần thiết như vậy?<br />
Em đã thử dùng Trim, CLEAN, IIF(nz(),... các kiểu mà không được ạ.<br />
Em cảm ơn quý anh chị nhiều.<br />
<br />
File text: <a href="https://drive.google.com/file/d/1exh1RKhMOpzjWkpqhKMgLQFvYv71uzv1/view?usp=sharing" target="_blank" rel="noopener" class="mycode_url">https://drive.google.com/file/d/1exh1RKh...sp=sharing</a><br />
<br />
Em mong nhận được sự giúp đỡ của anh chị sớm ạ. Em cảm ơn nhiều.]]></description>
			<content:encoded><![CDATA[Chào quý anh chị,<br />
<br />
Em gặp 1 rắc rối khắc khi xuất Report ra file Txt thì xuất hiện những dòng trống không cần thiết (như file đính kèm) với câu lệnh xuất file như sau:<br />
<br />
<div class="codeblock"><div class="title">Mã:</div><div class="body" dir="ltr"><code>Private Sub btnSent2Host_Click()<br />
On Error GoTo btnSent2Host_Click_Err<br />
<br />
    DoCmd.OutputTo acOutputReport, "Rep_Sent2Host", "MS-DOSText(*.txt)", "", False, "", 1200, acExportQualityPrint<br />
<br />
<br />
btnSent2Host_Click_Exit:<br />
    Exit Sub<br />
<br />
btnSent2Host_Click_Err:<br />
    MsgBox Error&#36;<br />
    Resume btnSent2Host_Click_Exit<br />
<br />
End Sub</code></div></div><br />
<br />
Làm cách nào để e xóa được các dòng trống không cần thiết như vậy?<br />
Em đã thử dùng Trim, CLEAN, IIF(nz(),... các kiểu mà không được ạ.<br />
Em cảm ơn quý anh chị nhiều.<br />
<br />
File text: <a href="https://drive.google.com/file/d/1exh1RKhMOpzjWkpqhKMgLQFvYv71uzv1/view?usp=sharing" target="_blank" rel="noopener" class="mycode_url">https://drive.google.com/file/d/1exh1RKh...sp=sharing</a><br />
<br />
Em mong nhận được sự giúp đỡ của anh chị sớm ạ. Em cảm ơn nhiều.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Xuất query ra file Text theo từng ngày]]></title>
			<link>https://thuthuataccess.com/forum/thread-12494.html</link>
			<pubDate>Fri, 23 Sep 2022 01:53:57 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://thuthuataccess.com/forum/member.php?action=profile&uid=20957">lab30tnd</a>]]></dc:creator>
			<guid isPermaLink="false">https://thuthuataccess.com/forum/thread-12494.html</guid>
			<description><![CDATA[Chào quý anh chị, em có vấn đề cần sự trợ giúp của anh chị, mong anh chị giúp đỡ, cụ thể như sau:<br />
<br />
Em muốn xuất 1 dãy các kết quả từ query ra file Text thỏa điều kiện:<br />
1. Chỉ xuất dữ liệu của ngày hôm nay ra file text có tên Result.txt<br />
2. Chỉ khi click vào btnSent2Host, lệnh sẽ được thực thi và chỉ lấy những dữ liệu mới nhất chèn kế tiếp vào file text trên (hoặc thay vì chèn thêm vào, thì có thể xuất ra từng file dựa vào IDBN và IDNGAY ạ).<br />
3. Cấu trúc file text như trong file mô tả, và quy cách là:<br />
<br />
<div class="codeblock"><div class="title">Mã:</div><div class="body" dir="ltr"><code>H|&#92;^&amp;|||Analyzer|||||||||20220118100152 'Thời gian xuất phiếu (YYYYMMDDHHMMSS)<br />
P|1|1| 'Mã bệnh nhân [IDBN]<br />
O|1|1| 'Mã phiếu xét nghiệm [IDNGAY]<br />
<br />
'Results:<br />
'R (mặc định);<br />
'1,2,3... (thứ tự tự tăng dần);<br />
'AST, ASG,... (Tên trong list xét nghiệm);<br />
'24, 35, ÂM TÍNH,... (kết quả);<br />
'&lt;40, &lt;50,... (khoảng tham chiếu)<br />
R|1|AST|24|30^50|<br />
R|2|ASG|35|&lt;40|<br />
R|3|LPT|48|&lt;50|<br />
R|4|LPT|ÂM TÍNH||ÂM TÍNH|<br />
R|3|LPT|24.79||M: &lt; 50; F: 23-261 pg/mL|<br />
<br />
L|1|N 'Kết thúc 1 phiếu XN</code></div></div><br />
<br />
<br />
Hy vọng diễn giải trên có thể phần nào giúp anh chị hiểu được ý định của em.<br />
Rất mong anh chị giúp đỡ.<br />
Em chân thành cảm ơn quý anh chị.<br />
<br />
P/S: Link file<br />
1. accdb: <a href="https://drive.google.com/file/d/1u3aoDTj0zlG3Uxpm_aJ9A0w4CIN7Ktuh/view?usp=sharing" target="_blank" rel="noopener" class="mycode_url">https://drive.google.com/file/d/1u3aoDTj...sp=sharing</a><br />
2. Result.txt: <a href="https://drive.google.com/file/d/1TuC4V6V86UD7gzz41_uFVsPebg2RkYvG/view?usp=sharing" target="_blank" rel="noopener" class="mycode_url">https://drive.google.com/file/d/1TuC4V6V...sp=sharing</a>]]></description>
			<content:encoded><![CDATA[Chào quý anh chị, em có vấn đề cần sự trợ giúp của anh chị, mong anh chị giúp đỡ, cụ thể như sau:<br />
<br />
Em muốn xuất 1 dãy các kết quả từ query ra file Text thỏa điều kiện:<br />
1. Chỉ xuất dữ liệu của ngày hôm nay ra file text có tên Result.txt<br />
2. Chỉ khi click vào btnSent2Host, lệnh sẽ được thực thi và chỉ lấy những dữ liệu mới nhất chèn kế tiếp vào file text trên (hoặc thay vì chèn thêm vào, thì có thể xuất ra từng file dựa vào IDBN và IDNGAY ạ).<br />
3. Cấu trúc file text như trong file mô tả, và quy cách là:<br />
<br />
<div class="codeblock"><div class="title">Mã:</div><div class="body" dir="ltr"><code>H|&#92;^&amp;|||Analyzer|||||||||20220118100152 'Thời gian xuất phiếu (YYYYMMDDHHMMSS)<br />
P|1|1| 'Mã bệnh nhân [IDBN]<br />
O|1|1| 'Mã phiếu xét nghiệm [IDNGAY]<br />
<br />
'Results:<br />
'R (mặc định);<br />
'1,2,3... (thứ tự tự tăng dần);<br />
'AST, ASG,... (Tên trong list xét nghiệm);<br />
'24, 35, ÂM TÍNH,... (kết quả);<br />
'&lt;40, &lt;50,... (khoảng tham chiếu)<br />
R|1|AST|24|30^50|<br />
R|2|ASG|35|&lt;40|<br />
R|3|LPT|48|&lt;50|<br />
R|4|LPT|ÂM TÍNH||ÂM TÍNH|<br />
R|3|LPT|24.79||M: &lt; 50; F: 23-261 pg/mL|<br />
<br />
L|1|N 'Kết thúc 1 phiếu XN</code></div></div><br />
<br />
<br />
Hy vọng diễn giải trên có thể phần nào giúp anh chị hiểu được ý định của em.<br />
Rất mong anh chị giúp đỡ.<br />
Em chân thành cảm ơn quý anh chị.<br />
<br />
P/S: Link file<br />
1. accdb: <a href="https://drive.google.com/file/d/1u3aoDTj0zlG3Uxpm_aJ9A0w4CIN7Ktuh/view?usp=sharing" target="_blank" rel="noopener" class="mycode_url">https://drive.google.com/file/d/1u3aoDTj...sp=sharing</a><br />
2. Result.txt: <a href="https://drive.google.com/file/d/1TuC4V6V86UD7gzz41_uFVsPebg2RkYvG/view?usp=sharing" target="_blank" rel="noopener" class="mycode_url">https://drive.google.com/file/d/1TuC4V6V...sp=sharing</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Code chuyển số thành chư]]></title>
			<link>https://thuthuataccess.com/forum/thread-12470.html</link>
			<pubDate>Thu, 01 Sep 2022 04:21:47 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://thuthuataccess.com/forum/member.php?action=profile&uid=18319">khanhvy87</a>]]></dc:creator>
			<guid isPermaLink="false">https://thuthuataccess.com/forum/thread-12470.html</guid>
			<description><![CDATA[Mình có tạo report tính định mức xăng. Ví dụ: 35km/01 lít xăng. Khi tính cần đổ 02 lít xăng. Tuy nhiên, cần hiển thị ra dạng chữ.<br />
Nhờ các anh giúp dùm./.<br />
<hr class="mycode_hr" />
<hr class="mycode_hr" />
<hr class="mycode_hr" />]]></description>
			<content:encoded><![CDATA[Mình có tạo report tính định mức xăng. Ví dụ: 35km/01 lít xăng. Khi tính cần đổ 02 lít xăng. Tuy nhiên, cần hiển thị ra dạng chữ.<br />
Nhờ các anh giúp dùm./.<br />
<hr class="mycode_hr" />
<hr class="mycode_hr" />
<hr class="mycode_hr" />]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Cách tạo cột TỒN trong mẫu S6-HKD (Thông tư 88/2021)]]></title>
			<link>https://thuthuataccess.com/forum/thread-12447.html</link>
			<pubDate>Thu, 07 Jul 2022 02:58:20 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://thuthuataccess.com/forum/member.php?action=profile&uid=21868">Nhựt Linh</a>]]></dc:creator>
			<guid isPermaLink="false">https://thuthuataccess.com/forum/thread-12447.html</guid>
			<description><![CDATA[Em xin chào Anh, Chị diễn đàn <a href="https://thuthuataccess.com/" target="_blank" rel="noopener" class="mycode_url">https://thuthuataccess.com/</a>, hiện em đang tạo một chương trình kế toán đáp ứng theo thông tư 88/2021/TT-BTC.<br />
Nhưng đến phần TỒN trong mẫu Report S6-HKD và S7-HKD thì em lại BÍ, em rất mong nhận được sự hổ trợ của Anh, Chị diễn đàn. Em chân thành biết ơn.]]></description>
			<content:encoded><![CDATA[Em xin chào Anh, Chị diễn đàn <a href="https://thuthuataccess.com/" target="_blank" rel="noopener" class="mycode_url">https://thuthuataccess.com/</a>, hiện em đang tạo một chương trình kế toán đáp ứng theo thông tư 88/2021/TT-BTC.<br />
Nhưng đến phần TỒN trong mẫu Report S6-HKD và S7-HKD thì em lại BÍ, em rất mong nhận được sự hổ trợ của Anh, Chị diễn đàn. Em chân thành biết ơn.]]></content:encoded>
		</item>
	</channel>
</rss>