我想用VB打印格式不同不規則的,含數據庫記錄的表格,誰有現成的相關的源碼,我在這先謝謝了!

熱心網友

VB下數據報表打印輸出方法有多種,一是通過自己的設計和編程完成報表打印輸出。二是通過MS OFFICE實現報表打印輸出。三是應用數據報表設計器的報表打印輸出。本人經常使用第一種方法,它具有根據需要靈活應用的特點,但需編寫程序。下附代碼,第一段代碼定義基本變量,第二段代碼定義打印函數,第三段代碼是具體打印代碼,含數據轉換。第四段代碼是窗體加載代碼,具體連接數據庫和打印代碼根據你所涉及的數據要求進行修改。Option ExplicitPrivate n As IntegerPrivate m As IntegerPrivate zh_dm(10) As DoublePrivate dy_dm(3000, 10) As VariantPrivate zsl As IntegerPrivate y As IntegerPrivate x As IntegerPrivate i As IntegerPrivate k As IntegerPrivate p As IntegerPrivate pa As IntegerPrivate j As IntegerPrivate txt As StringPrivate fnt As IntegerPrivate dd As VariantPublic Function prnt(x As Variant, y As Variant, fnt As Variant, txt0 As Variant)Printer。CurrentX = xPrinter。CurrentY = yPrinter。FontSize = fntPrinter。Print txt0End FunctionPrivate Sub cmdPrint_Click() Adodc1。Recordset。MoveFirst For i = 0 To zsl - 1 For j = 0 To 7 dy_dm(i, j) = Adodc1。Recordset(j) Next j Adodc1。Recordset。MoveNext Next i '確定頁數 k = Int(zsl / 80)'80為每頁行數 If k - zsl / 80 80 Then Printer。Line (500, 695 + 180 * 80)-(10000, 695 + 180 * 80) Printer。NewPage End If Next p Printer。EndDoc ' 打印完成。 ClsEnd SubPrivate Sub Form_Load() Adodc1。ConnectionString = "Provider=MSDASQL。1;Persist Security Info=False;Data Source=jwl_dbf" Adodc1。RecordSource = "select cs。js_dm,cs。備件代碼,cs。備件名稱,cs。備件規格,cs。進口計算機號,cs。最低庫存量,sl。結存數量,sl。結存金額,sl。結存單價,sl。類別代碼 from JWCK_BM as cs,jwl_jiec as sl" & _ " where cs。備件代碼 = sl。備件代碼" & " and cs。備件代碼" & "''" & " order by sl。類別代碼,sl。備件代碼" Adodc1。Refresh DataGrid1。Refresh zsl = Adodc1。Recordset。RecordCount Adodc3。ConnectionString = "Provider=MSDASQL。1;Persist Security Info=False;Data Source=jwl_dbf" Adodc3。RecordSource = "select sum(結存金額) as hj from jwl_jiec" Adodc3。RefreshEnd Sub以上供參考。其它請參考西安交通大學出版社出版的“VISUAL BASIC 6。0 高級編程技巧-ADO數據訪問篇“。

熱心網友

報表!

熱心網友

利用數據的讀出和寫入就可以搞定!!!

熱心網友

很實際的問題,雖然我不能解,但我支持你多提這樣的好問題!