PDA

View Full Version : [DIS] Lời thách thức mang tính chất học tập



Khanh Ngan
09-05-2003, 13:50
chào các bạn
trước tiên, cho mình nói: đây là lời thách thức mang tính chất học tập. đối với dân lập trình nếu mà viết ra một chương trình này thì tuyệt phải không
do đó nếu ai chấp nhận thách thức thì xin mời
có câu: quân tử động khẩu chở không động thủ
dù thua cũng không động tay chân,...
nếu các bạn chưa từng dùng vb chuyển data vào word thì đừng đọc nửa
nếu đã từng thì
bây giờ mình có một table sinh viên (MaSV, HoLot, Ten, Phai, NamSinh, QueQuan)
yêu cầu đặt ra là mình sẽ hiển thị một listbox trong đó, có n sinh viên, user sẽ chọn một số sinh viên trong listbox và nhiệm vụ của mình là phải xuất toàn bộ thông tin của số sinh viên được chọn qua M Word, và thông tin phải hiển thị dưới dạng table
file word đó như sau
------------------------------------------------------------
|Mã số|Họ lót |Tên |Phái |Năm sinh|Quê Quán|
------------------------------------------------------------
|1 |Nguyễn|An |Nam|1985 |Long An |
....
|------------------------------------------------------------|
mong nhận được sự thi đấu

come2one
09-05-2003, 16:56
Không có gì khó đâu bạn, bài toán này tôi đã từng làm rồi. Tuy nhiên để thuận tiện cho in ấn cũng như lưu trữ và tránh những nỗi về độ dài của một trường khi xuất ra table trên Word, tốt nhất là nên xuất ra Excel. Thường thì dữ liệu bảng trên Excel rất dễ chỉnh sửa và thuận tiện cho in ấn.
Nếu bạn cần tôi sẽ post cụ thể hơn.

Chúc thành công!

trungnt88
09-05-2003, 17:16
sao bạn hông export ra html

<table>
<thead>
<td>Mã sv</td><td> quê quán</td>
</thead>
<tr>
<td>0032</td><td>Hỏi chúa</td>
</tr>
<tr>
<td>3572</td><td>Điậ ngục</td>
</tr>
<tr>
<td>0053</td><td>Không biết</td>
</tr>
</table>

tiện hơn!

vinhquang1976
09-05-2003, 22:56
Minh su dung Seagate Crystal Report. No co the xuat ra du thu dang file (Excel, Word, Text ...). Nhanh va de dang lam !

Khanh Ngan
10-05-2003, 13:16
sorry nha, nếu câu trả lời mà chấm điểm thì các bạn sẽ bị loại hết
bởi vì đề bài yêu cầu xuất ra word chớ không xuất ra gì cả
bởi vì user chỉ biết xài word mà thôi
hơn nừa khi xuất ra word thì user còn phải chỉnh sử theo ý mình nừa
vd như sẽ có thêm giáo viên sử dụng...
byy

tien bac
14-05-2003, 10:05
Tớ nói thật nhé cái này tớ làm nhiều rồi
Không cần phải xuất ra Word vì trong đó Font hiển thị sẽ làm cho cột không được thẳng hàng cho lắm
Còn như các bạn biết đấy đã làm vậy thì nên xuất xang EXcel hoặc XML or TRUNGNT la html cũng được hoặc Data Report trong đó tự DESIGN có phải tốt không mà không cần phải mở WORD có rất nhiều Vi dụ để làm những việc này !

trungnt88
14-05-2003, 11:17
vào word tạo 1 new doc có table -> save -> *.doc và *.rtf mở *.rtf trong notepad mà xem source -> export -> rtf đi !

boyalone
14-05-2003, 12:51
Xuất dữ liệu từ Access ra file TEXT, sau đó dùng Word Basic đọc file TEXT đó và định dạng bảng

thehung
15-05-2003, 14:38
Cũng có câu:
quân tử động khẩu lẫn động thủ
dù thua cũng vẫn động tay chân,...

Mình hỏi bạn nếu không động tay chân thì mình gõ vào như thế nào được chẳng nhẽ lại voice chat đến cho bạn à, mà có voice chat thì cũng phải động tay chân. Mà nếu nhỡ có thua thì lại càng phải động tay chân, đâu có chuyện để cho bạn thắng dễ dàng vậy, hehe..............

Về lời thách đấu của bạn mình thử trả lời như thế này xem bạn có hài lòng không nhé(Chú ý; mình chỉ nói về cách thức làm chứ mình không trình bầy cụ thể vì nội dung bài viết không cho phép)

Bạn có thể dùng VB để giải quyết bài toán của bạn. Đầu tiên bạn dùng ADO để chọc vào cơ sở dữ liệu sau đó thì đưa dữ liệu lấy ra đó vào trong listbox. Để xuất thông tin của toàn bộ sinh viên được chọn vào Word thì bạn có thể dùng OLE.

Mình trả lời sơ qua vậy thôi bởi nhưng để làm hoàn chỉnh như yếu cầu của bạn thì cũng mất kha khá thời gian đây. Bạn thử làm đi xem có đúng như yêu cầu của bạn không, nếu có vướng mắc thì cứ hỏi mình.

Khanh Ngan
16-05-2003, 09:56
chào các bạn, thông tin của bạn thehung rất hay, dĩ nhiên là phải dùngg ADO rồi, tuy nhiên vấn đề là phải đẩy qua Word mới quan trọng
các bạn thử nghĩ nếu ông giám đốc yêu cầu bạn pha cafe mà bạn đưa cho ổng tách trà thì sao
thì ở đay cũng vậy vấn đề được đặt ra là phải chuyển data vào word
và hiển thị ra một trang word mới có một table chứa dữ liệu cần thiết
còn xuất sang các dạng khác là die liền
còn cao thủ nào thì cứ việc xuất chiêu

thehung
16-05-2003, 11:49
Bạn Khanh Ngan cố chờ ít lâu nữa nhé, đợi mình giải quyết cho xong cái luận văn của mình rồi mình sẽ làm thử cho, Ok.

KEM_WALL
16-05-2003, 18:41
walls cũng nghĩ theo cách bạn Trungnt88. ban đầu thì dùng ado mởi file data lên. việc click list rùi chọn rows trong reccordset thì kô có gì đáng nói. sau khi đã có data rùi ghép nó thành 1 chuỗi định dạng html <table>
sau đó các bạn tạo file tên "doc1.htm", nếu có rùi thì append

tiếp đó thêm phần header sau cho chuỗi vừa thực hiện



html xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
<meta name=ProgId content=Word.Document>
<meta name=Generator content="Microsoft Word 9">
<meta name=Originator content="Microsoft Word 9">
<link rel=File-List href="./Doc1_files/filelist.xml">
<!--[if gte mso 9]><xml>
<o:DocumentProperties>
<o:Author>user07</o:Author>
<o:Template>Normal</o:Template>
<o:LastAuthor>user07</o:LastAuthor>
<o:Revision>2</o:Revision>
<o:TotalTime>0</o:TotalTime>
<o:Created>2003-05-16T11:15:00Z</o:Created>
<o:LastSaved>2003-05-16T11:15:00Z</o:LastSaved>
<o:Pages>1</o:Pages>
<o:Words>3</o:Words>
<o:Characters>20</o:Characters>
<o:Company>Fpt Co</o:Company>
<o:Version>9.2720</o:Version>
</o:DocumentProperties>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:DoNotHyphenateCaps/>
<w:PunctuationKerning/>
</w:WordDocument>
</xml><![endif]-->
<style>
<!--
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-parent:"";
margin:0in;
margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";
mso-ansi-language:FR;}
@page Section1
{size:8.5in 11.0in;
margin:1.0in 1.25in 1.0in 1.25in;
mso-header-margin:.5in;
mso-footer-margin:.5in;
mso-paper-source:0;}
div.Section1
{page:Section1;}
-->
</style>
</head>

<body lang=EN-US style='tab-interval:.5in'>

<div class=Section1>


sau đó thêm phần chuỗi phía trên vừa thực hiện vào
thêm tiếp




<p class=MsoNormal><span lang=FR><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></p>

</div>

</body>

</html>


và chúng ta lưu dưới dạng file htmlword, sau đó vào word mở ra. chuyện open file thì người amatuer cỡ mấy cũng làm được
đây là 1 ví dụ về chuỗi data, về 1 table có 2 cột họ tên, học lực
các bạn chêm vào giữa 2 phần source trên kia




<table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse;
border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0in 5.4pt 0in 5.4pt'>
<tr>
<td width=118 valign=top style='width:88.55pt;border:solid windowtext .5pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=FR>Ho ten</span></p>
</td>
<td width=118 valign=top style='width:88.6pt;border:solid windowtext .5pt;
border-left:none;mso-border-left-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=FR>Hoc luc</span></p>
</td>
</tr>
<tr>
<td width=118 valign=top style='width:88.55pt;border:solid windowtext .5pt;
border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=FR>KEM_WALL</span></p>
</td>
<td width=118 valign=top style='width:88.6pt;border-top:none;border-left:
none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=FR>Kém</span></p>
</td>
</tr>
</table>

KEM_WALL
16-05-2003, 18:43
hic hic, sao source của walls có mấy cái hình emotion dzậy, pà con lưu ý view source trước khi copy

KEM_WALL
16-05-2003, 18:45
ah, sorry nha, trong phần header có mấy thông tin dư, bạn xoá đi cũng được (như lần save cuối ...)

bacbaphi
17-05-2003, 08:05
Trời chán mấy bác quá, bây giờ khách người ta yêu cầu mình là xuất ra Word mà mấy bác nói trên trời dưới đất như thế thì đố ai lần sau dám đặt hàng mấy bác nữa.
-->Tui trình độ còn kém nhưng cũng hiến 1 kế nhỏ.
Bạn vào Word mở Macro lưu thao tác của bạn trên Word như tạo một bảng ra sao.Sau đó mở nguồn ra,lọc bớt thông tin thừa -->Bạn sẽ có đoạn code tạo Table.Sau đó mở CSDL ra duyệt qua từng bản ghi thêm từ từ vào...Thế là xong.Hãy làm thử đi nhé chắc chắn sẽ được nếu bạn biết lập trình CSDL và Reference thư viện(để làm cái này hãy add thư viện của Word vào)

Khanh Ngan
19-05-2003, 13:17
cám ơn những ý kiến của các bạn
Trong những cách mà các bạn đưa ra đều khá hay nhưng rất tiếc là các bạn chỉ hơi bị ...lạc đề mà thôi
chỉ có một bạn bacbaphi là hơi gần với đáp án
thật ra trước khi gởi bài lên thì mình đã có đáp án rồi
nhưng điều mình cảm thấy là hầu như các bạn đều không hề đọc kỹ đề
hẹn gặp khi khác

boyalone
02-06-2003, 09:00
Thử xài cái này xem.
CT này tham chiếu đến Microsoft Word 10.0 Object Library
Nó có thể đưa trực tiếp dữ liệu vào Word