Thaiadmin

การออกรายงาน ด้วย Crystal Report 8.5 ผ่าน Visual Basic 6.0

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ SamaKitty VB

  • Global Develop Leader
  • *****
  • 2,949
  • 177
  • เพศ: ชาย
  • ไม่ใช่คนเก่ง ไม่ใช่คนดี ไม่ใช่คนพิเศษ ไม่ใช่..!!
    • Thaiadmin.org Power by : VBNeverdie.com


สวัสดีครับ ผู้ดูแล และนักพัฒนา ทุกๆ ท่าน

ผมได้อ่านจาก PM ที่ส่งมาหาผม และ จากที่หลายๆ ท่าน โพสถามบนบอร์ด เกี่ยวกับ การออกรายงานด้วย Crystal Report ด้วยการโชว์บน Flexgrid ก่อน
หรือ คำสั่งที่จะให้ Crystal Report ทำงาน ซึ่งหลายๆ ท่าน อาจจะ งง และสับสน สำหรับมือใหม่ เช่น....


อ้างถึง
รบกวนขอcode เอาข้อมูลในMSFlexGrid ไปโชว์บนCrystal Report
http://www.thaiadmin.org/board/index.php?topic=51507.0

เรื่อง Crystal Report ครับ ขอปรึกษาหน่อยนะครับ
http://www.thaiadmin.org/board/index.php?topic=51667.0

เขียน Code เพื่อแสดงรายงานโดยใช้ VB 6.0 + Crystal Report
http://www.thaiadmin.org/board/index.php?topic=47315.0

การเขียน code ให้ link access ที่มี password ติดต่อ crystal report
http://www.thaiadmin.org/board/index.php?topic=17326.0


อันที่จริงแล้ว Crystal Report สามารถ ติดต่อกับ Database และ แสดงผลหน้าจอโดยตรง โดยที่เราไม่จำเป็นต้องกรอง ลงกริด ก่อน
(ไม่รู้ว่า ไปเอาความคิด ในการกรองลงกริด มาจากไหนกันนะ)


ผมแนะนำอย่างนี้นะครับ

Crystal Report เป็นโปรแกรมที่มีความสามารถโดดเด่น ในการจัดการรายงาน ติดต่อกับฐานข้อมูล และ เป็นอิสระจากโปรแกรมใดๆ
เช่นเดียวกันกับ Fast Report หรือ VS View Report แต่ ก็สามารถ รับการส่งค่าจากโปรแกรมที่กำลังพัฒนาใดๆ ได้  เช่น VB,VC, V Fox และอื่นๆ

ก่อนการลงมือพัฒนา ควรศึกษาจาก หนังสือ หรือ CD สื่อการสอน เพราะจะทำให้เข้าใจ Concept ของโปรแกรมนี้ ได้เร็วขึ้น

การติดต่อ ระหว่างรายงานกับฐานข้อมูล เป็นลักษณะ Bound Data คือ ต้องติดต่อกับ ฐานข้อมูล ตลอดเวลา ในขณะที่จัดการรูปแบบ  กำหนด Field
หรือ สร้าง Formular Field (ฟิลด์ พิเศษ สำหรับการคำนวน หรืออื่นๆ)   การทำแบบนี้  เปรียบเทียบได้กับ การติดต่อกับฐานข้อมูลในลักษณะ

SELECT * From TableName
หรือ
SELECT Field1,Field2,Field3,Field4 From TableName

และ การส่งค่าจากโปรแกรมที่พัฒนาเข้าไป เพื่อการเลือกที่เฉพาะเจาะจง ก็เปรียบเทียบได้กับ การเพิ่มคำสั่ง  'WHERE'  เข้าไป



ตัวอย่างการเขียน รายงานแบบ 1 Table  (เช่น พวก Memo หรือ รายงานเกี่ยวกับบันทึกเดี่ยว)



เมื่อจัดการเสร็จแล้ว และทำการ Preview รายงาน จะมีหน้าต่างการยืนยันการติดต่อ Database และจะปรากฏเป็นรายงาน ตามตัวอย่าง



เลข 1  คือ การแสดงจำนวน Record และ ตำแหน่ง Record ปัจจุบัน
เลข 2  คือ Field ที่เป็น Key หลัก สำหรับการ ส่งค่าจากโปรแกรมที่พัฒนา เพื่อเจาะจงในการออกรายงาน
ซึ่ง ถ้าดูตอนนี้ รายงานที่เห็น จะออกมาทั้งหมด ใน Table เพราะ เราไม่ได้เจาะจงว่า จะเอา Record ใด


ตัวอย่างการเขียน รายงานแบบ 2 Table หรือ มากกว่า (One to Many)  (เช่น พวก Voucher หรือ รายงานเกี่ยวกับ Transaction)


จุดสังเกตุ   เมื่อเข้าไปที่เมนู Database / Show SQL Query  ก็จะเห็น คำสั่ง ที่ใช้ในการเรียกข้อมูล ซึ่งเราสามารถจัดการข้อมูล หรือ ตารางข้อมูลได้อย่างอิสระ
ตั้งแต่เริ่มติดต่อ ฐานข้อมูล ว่าจะเอา Table อะไรบ้าง และ จะให้มี Reference Key ที่ Field อะไร  (ไม่ขอแสดงรูป นะ  เพราะ ในหนังสือ จะมีบอกไว้)



เมื่อทำการ Preview ก็จะเห็นเป็น ตัวอย่างรายงาน ดังรูป (ทุกๆ รายการ)



สังเกตุว่า ด้านซ้าย จะมี คล้ายๆ กับ List   นี่คือ กลุ่มข้อมูล ที่เกิดจากการ Group By ในตอนจัดทำรายงาน  ซึ่งไม่จำกัดรูปแบบ
ขึ้นอยู่กับ ลักษณะงาน ของคุณๆ
อาจจะไม่ Group By ก็ได้  หรือ อาจจะมี Group by หลายๆ กลุ่มก็ได้ ในกรณีที่เป็น Report แบบ Drill Down




ตัวอย่างการติดต่อ ระหว่าง VB6 กับ Crystal Reporrt 8.5

ต้องทำการ Add Compoment ของ Crystal Report



ตำแหน่ง และ รูปสัญลักษณ์ Control ของ Crystal Report



วาด Control ลงบนฟอร์ม  และกำหนด คุณสมบัติเบื้องต้น ดังนี้



Name  = Crys1  หรือ CrystalReport1  หรือ ชื่ออื่นๆ ที่สื่อถึง Crystal Report Control

คลิกขวา เลือก Properties กำหนด Preview Windows ตามรูป

State  = Maximize   ขยายขนาด เต็มจอภาพ เวลาแสดงผล
เลือกใช้
Cancel    ยกเลิกการติดต่อฐานข้อมูล
Export    ส่งออกรายงาน
Navigation  มีการแสดง Treeview ด้านซ้าย (ในกรณีที่เขียนรายงานแบบ Group Tree)
Zoom     ย่อ ขยาย รายงานได้
Print         พิมพ์ ออกเครื่องพิมพ์
Printer Select  เลือกเครื่องพิมพ์ จากหน้าแสดงรายงานก่อนการพิมพ์
Progress   แสดงความคืบหน้า ในการสร้างรายงานขณะติดต่อฐานข้อมูล



การประกาศตัวแปร สำหรับทั้งโปรเจค ที่ควรทำ
ควรประกาศไว้ที่ Module


อ้างถึง
'Connection Variable  ///  ตัวแปร สำหรับการติดต่อกับ Crystal Report =====================================
Public Const dbRptPWD = "Database Password"     'รหัสผ่านของ Database Server
Public Const dbRptUser = "Database Username"    'Account ของ Database Server  เช่น  sa / dbo
Public Const dbRptDLL = "pdssql.dll"                            'ชื่อ DLL ไฟล์  (ที่ Crystal Report จะมีบอก)
Public Const dbServerName = "SERVERNAME"      'ชื่อ Database Server
Public Const RptPath = "\\ServerName\ShareName\"  'Path ที่ใช้เก็บ Report File

 

ตัวอย่าง การส่งค่าเพื่อออกรายงาน

อ้างถึง

                If cboCompName.text = "" Then Exit Sub       'ถ้า คอมโบ ไม่เป็นช่องว่าง
                VarPrint = MsgBox("ต้องการพิมพ์ใบตรวจสอบเครื่อง ทั้งหมด หรือไม่  ? ? ?", vbYesNoCancel + vbQuestion, "Question")  'เก็บค่า VarPrint จาก Message Box

                Select Case VarPrint                                             'เข้าสู่เงื่อนไข

                    Case "2" 'Cancel                                                'เมื่อเลือก Cancel
                        VarPrint = ""                                                      'Clear ค่า
                        Exit Sub                                                               'ออกจาก Sub

                    Case "7" 'No    'เมื่อเลือก No  (คือการเจาะจงเฉพาะ ค่าที่ตรงกับที่ระบุ ไว้ ใน Combo)
                        Crys1.ReportFileName = RptPath & "ComputerCheckList.rpt"  'ไฟล์ของ Report
                        Crys1.LogOnServer dbRptDLL, dbServerName, dbName, dbRptUser, dbRptPWD   'ตัวแปร ในการติดต่อกับฐานข้อมูล  ที่ได้ระบุ ไว้ใน Module  ก่อนหน้านี้
                        iFM = "{ComputerName.ComputerName} = '" & RsComp.Fields("ComputerName") & "'"  'ประกาศตัวแปร ชื่อ iFM เป็น String แล้ว ระบุ ให้ส่งค่า ให้ Table.Field  = ค่าใน Control
                        Crys1.ReplaceSelectionFormula (iFM)    'ส่งค่าที่เก็บไว้ ไปเปลี่ยนค่า Selection ใน Report
                        Crys1.Action = 1                                              'ให้ Report แสดงผล
                        VarPrint = ""                                                     'Clear ค่า

                    Case "6" 'Yes       'กรณีตอบ Yes คือ เอาทั้งหมด   จะไม่มีการระบุให้กรองค่า ที่ตรงกับ Control
                        Crys1.ReportFileName = RptPath & "ComputerCheckList.rpt"
                        Crys1.LogOnServer dbRptDLL, dbServerName, dbName, dbRptUser, dbRptPWD
                        iFM = ""                                                            'ไม่ระบุค่า   คือ การเอาทั้งหมด ตามที่รายงานได้จัดการไว้แล้ว
                        Crys1.ReplaceSelectionFormula (iFM)  'ส่งค่าว่างเปล่านี้ไปให้รายงาน (บอกว่า เอาทั้งหมด)
                        Crys1.Action = 1                                            'ให้ Report แสดงผล
                        VarPrint = ""                                                   'Clear ค่า
                End Select

ตัวอย่าง การส่งค่าเพื่อออกรายงาน แบบ ไม่มีถามเงื่อนไข

อ้างถึง
               
                If cboCompName.text = "" Then Exit Sub
                Crys1.ReportFileName = RptPath & "ComputerHistory.rpt"
                Crys1.LogOnServer dbRptDLL, dbServerName, dbName, dbRptUser, dbRptPWD
                iFM = "{ComputerName.ComputerName} = '" & RsComp.Fields("ComputerName") & "'"
                Crys1.ReplaceSelectionFormula (iFM)
                Crys1.Action = 1


ตัวอย่าง การส่งค่า ในเงื่อนไข และรูปแบบ ต่างๆ

หลังจากที่ตั้งตัวแปร สำหรับเก็บค่า Selection Formular
แล้วสร้างเงื่อนไข ไว้ที่โปรแกรม ก่อน เพื่อตรวจสอบว่า ผู้ใช้งาน เลือกที่จะ Scope รายงานในช่วงใดบ้าง


เช่น  ช่วงวันที่

อ้างถึง
iFM = "({ShipmentFlowHDR.InvoiceBDate} >= date(" & Format(dtpStartDate.Value, "yyyy,mm,dd") & ") and " & _
                    "{ShipmentFlowHDR.InvoiceBDate} <= date(" & Format(dtpEndDate.Value, "yyyy,mm,dd") & "))"


หรือช่วงประเทศ

อ้างถึง
iFM = "({ShipmentFlowHDR.CustCountry} >= '" & cboCountry(0).text & "' and " & _
                                "{ShipmentFlowHDR.CustCountry} <= '" & cboCountry(1).text & "')"


หรือช่วงรหัสลูกค้า

อ้างถึง
iFM = "({ShipmentFlowHDR.CustOrSuppCode} >= '" & cboCustCode(0).text & "' and " & _
                                "{ShipmentFlowHDR.CustOrSuppCode} <= '" & cboCustCode(1).text & "')"


หรือ ทุกๆ อย่าง รวมกัน

อ้างถึง
iFM = "({ShipmentFlowHDR.InvoiceBDate} >= date(" & Format(dtpStartDate.Value, "yyyy,mm,dd") & ") and " & _
                    "{ShipmentFlowHDR.InvoiceBDate} <= date(" & Format(dtpEndDate.Value, "yyyy,mm,dd") & "))"
        iFM = iFM & " and "
        iFM = iFM & "({ShipmentFlowHDR.CustCountry} >= '" & cboCountry(0).text & "' and " & _
                                "{ShipmentFlowHDR.CustCountry} <= '" & cboCountry(1).text & "')"
        iFM = iFM & " and "
        iFM = iFM & "({ShipmentFlowHDR.CustZone} >= '" & cboZone(0).text & "' and " & _
                                "{ShipmentFlowHDR.CustZone} <= '" & cboZone(1).text & "')"
        iFM = iFM & " and "
        iFM = iFM & "({ShipmentFlowHDR.CustOrSuppCode} >= '" & cboCustCode(0).text & "' and " & _
                                "{ShipmentFlowHDR.CustOrSuppCode} <= '" & cboCustCode(1).text & "')"

จากนี้ จึงนำค่า Selection Formular ที่ได้ (iFM )  ไปส่งค่าให้กับ Crystal Report อีกที

จบแล้วครับ   หวังว่า การถ่ายทอดความรู้ (เล็กๆ อันน้อยนิด) จากผม ในครั้งนี้ คงเป็นประโยชน์แด่ โปรแกรมเมอร์มือใหม่ และผู้สนใจทุกท่าน
ไม่มาก ก็น้อย ....

จากใจ
   VB NeverDie  ; )
« แก้ไขครั้งสุดท้าย: 4 ธันวาคม 2007, 10:25:48 โดย VB NeverDie ; ) »
Hi... Welcome to Thaiadmin.org
Power by VBNeverDie.Com

SMF Mod & Template Modify, Hosting, Chat Room, Joomla Web, Flash Header, Images Decorate

ขออภัย ถ้าไม่ตอบ PM ครับ : กรุณา ถามตอบในบอร์ด

kalamell

Re: การออกรายงาน ด้วย Crystal Report 8.5 ผ่าน Visual Basic 6.0
« ตอบกลับ #1 เมื่อ: 19 พฤษภาคม 2007, 15:40:41 »
 ;) ขอบคุณมาก ๆ ครับ ผมรอมานานแว้ว อ่านแต่ Help ยังไม่ค่อยเข้าใจ :-*

ออฟไลน์ Tekeon

  • *****
  • 88
  • 1
  • เพศ: ชาย
  • คุณจะได้รับสิ่งที่ดี เมื่อคุณได้ให้สิ่งที่ดี
    • techcom247 เว็บรวมเพื่อน ทำเอง(คนเดียว)โปรดแนะนำด้วยครับ
Re: การออกรายงาน ด้วย Crystal Report 8.5 ผ่าน Visual Basic 6.0
« ตอบกลับ #2 เมื่อ: 9 กรกฎาคม 2007, 09:57:13 »
สุดยอดครับ เพราะผมก่อเพิ่งเข้ามาใหม่ แล้วมาถึงก่อไม่ผิดหวังกับเว็บนี้ และ admin ทุกๆท่าน  :) ;)สุดยอด ^-^
กลุ่มผู้ดูแลระบบแห่งประเทศไทย ขอระงับการใช้ลายเซ็นต์รูปภาพ
อนุญาตให้ใช้ได้เพียง ลายเซ็นต์ที่เป็นข้อความ
จึงประกาศมาเพื่อขอความร่วมมือ จากสมาชิกทุกๆ ท่าน
ในนาม กลุ่มผู้ดูแลระบบแห่งประเทศไทย

ออฟไลน์ sheena

  • *
  • 561
  • 6
  • ~waiting for you~
Re: การออกรายงาน ด้วย Crystal Report 8.5 ผ่าน Visual Basic 6.0
« ตอบกลับ #3 เมื่อ: 28 สิงหาคม 2007, 20:27:17 »
แหล่มเลยครับ
กลุ่มผู้ดูแลระบบแห่งประเทศไทย ขอระงับการใช้ลายเซ็นต์รูปภาพ
อนุญาตให้ใช้ได้เพียง ลายเซ็นต์ที่เป็นข้อความ
จึงประกาศมาเพื่อขอความร่วมมือ จากสมาชิกทุกๆ ท่าน
ในนาม กลุ่มผู้ดูแลระบบแห่งประเทศไทย

ออฟไลน์ smartsoft

  • *****
  • 3,249
  • 26
  • เพศ: ชาย
  • ไม่มีอะไรสายสำหรับการเริ่มต้น
    • จุดประกายความรู้ที่ไร้ขีดจำกัด
Re: การออกรายงาน ด้วย Crystal Report 8.5 ผ่าน Visual Basic 6.0
« ตอบกลับ #4 เมื่อ: 26 กันยายน 2007, 11:13:32 »
ขอบคุณครับ ว่าแต่มีตัวอย่างของ VS2005.NET ออกใบเสร็จโดยใช้ Crystal Report XI ป่ครับ  และก็ VB6.0 ติดต่อกับ Crystal Reports XI นี่ต้องทำยังไงบ้างอ่ะครับ   ขอบคุณครับ
เมื่อคุณ<!reader!/>เห็นการมีชีวิตเป็นสิ่งที่หนักหนาสาหัส ลองพยายามอดกลั้นและต่อสู้กับมัน จงอย่าวิ่งหนีต่อปัญหาใดๆที่คุณ<!reader!/>เผชิญอยู่ และเชื่อใจในตัวเองว่าสองมือของคุณ<!reader!/>สามารถฝ่าฟันช่วงวิกฤตและผ่านมันไปได้

ออฟไลน์ cpeshop

  • *****
  • 33
  • 0
ขอบคุณคับ
« ตอบกลับ #5 เมื่อ: 6 พฤศจิกายน 2007, 16:27:32 »
อยากให้ลงแบบละเอียดเลยคับ ผมมือใหม่มากๆๆคับ
กลุ่มผู้ดูแลระบบแห่งประเทศไทย ขอระงับการใช้ลายเซ็นต์รูปภาพ
อนุญาตให้ใช้ได้เพียง ลายเซ็นต์ที่เป็นข้อความ
จึงประกาศมาเพื่อขอความร่วมมือ จากสมาชิกทุกๆ ท่าน
ในนาม กลุ่มผู้ดูแลระบบแห่งประเทศไทย

dev

Re: การออกรายงาน ด้วย Crystal Report 8.5 ผ่าน Visual Basic 6.0
« ตอบกลับ #6 เมื่อ: 13 ธันวาคม 2007, 13:00:27 »
จะขอโคเดโปรแกรมเลยได้ไหมครับ อิอิอิ

ออฟไลน์ jooooj

  • ***
  • 114
  • 0
  • เพศ: ชาย
    • vendre-sale.com
Re: การออกรายงาน ด้วย Crystal Report 8.5 ผ่าน Visual Basic 6.0
« ตอบกลับ #7 เมื่อ: 12 กรกฎาคม 2008, 15:15:26 »
ขอบคุณมากครับเป็นประโยชน์มากเลยครับ :D
<b>กลุ่มผู้ดูแลระบบแห่งประเทศไทย ขอระงับการใช้ลายเซ็นต์รูปภาพ
อนุญาตให้ใช้ได้เพียง ลายเซ็นต์ที่เป็นข้อความ
จึงประกาศมาเพื่อขอความร่วมมือ จากสมาชิกทุกๆ ท่าน
ในนาม กลุ่มผู้ดูแลระบบแห่งประเทศไทย</b>

5o0

Re: การออกรายงาน ด้วย Crystal Report 8.5 ผ่าน Visual Basic 6.0
« ตอบกลับ #8 เมื่อ: 14 กรกฎาคม 2008, 09:30:12 »
sood yod kab ^-^

colahappy

Re: การออกรายงาน ด้วย Crystal Report 8.5 ผ่าน Visual Basic 6.0
« ตอบกลับ #9 เมื่อ: 12 พฤศจิกายน 2008, 16:15:43 »
ผมเซ็ตแล้วไม่ได้เลยครับ ไฟล์ passql.dll ในเครื่องผมไม่มีครับ แต่ผมไปดู component มันลิ้งไปที่ไฟล์ cradui.dll ซึ่งลองเอามาใส่แล้วก็ไม่ได้

ออฟไลน์ Slim

  • *****
  • 242
  • 3
  • TH@min Membership
Re: การออกรายงาน ด้วย Crystal Report 8.5 ผ่าน Visual Basic 6.0
« ตอบกลับ #10 เมื่อ: 12 พฤศจิกายน 2008, 16:20:26 »
โปรแกรมนี้ทำแจกได้ไหมครับ  O0
กลุ่มผู้ดูแลระบบแห่งประเทศไทย ขอระงับการใช้ลายเซ็นต์รูปภาพ
อนุญาตให้ใช้ได้เพียง ลายเซ็นต์ที่เป็นข้อความ
จึงประกาศมาเพื่อขอความร่วมมือ จากสมาชิกทุกๆ ท่าน
ในนาม กลุ่มผู้ดูแลระบบแห่งประเทศไทย

colahappy

Re: การออกรายงาน ด้วย Crystal Report 8.5 ผ่าน Visual Basic 6.0
« ตอบกลับ #11 เมื่อ: 12 พฤศจิกายน 2008, 16:57:57 »
คุณครับผมค้นหาไฟล์ pdssql.dll ในเครื่องผมไม่มีเลยครับ แล้วจะสามารถดู ว่า Crystal Report ของเราใช้ Dll ตัวไหน เราสามารถดูได้จากที่ไหนครับ

ออฟไลน์ SamaKitty VB

  • Global Develop Leader
  • *****
  • 2,949
  • 177
  • เพศ: ชาย
  • ไม่ใช่คนเก่ง ไม่ใช่คนดี ไม่ใช่คนพิเศษ ไม่ใช่..!!
    • Thaiadmin.org Power by : VBNeverdie.com
Re: การออกรายงาน ด้วย Crystal Report 8.5 ผ่าน Visual Basic 6.0
« ตอบกลับ #12 เมื่อ: 13 พฤศจิกายน 2008, 12:42:50 »
ดูตามรูปนะครับ
Hi... Welcome to Thaiadmin.org
Power by VBNeverDie.Com

SMF Mod & Template Modify, Hosting, Chat Room, Joomla Web, Flash Header, Images Decorate

ขออภัย ถ้าไม่ตอบ PM ครับ : กรุณา ถามตอบในบอร์ด

colahappy

Re: การออกรายงาน ด้วย Crystal Report 8.5 ผ่าน Visual Basic 6.0
« ตอบกลับ #13 เมื่อ: 13 พฤศจิกายน 2008, 13:25:08 »
คุณครับ พอผม convert เรียบร้อยแล้วมันฟ้อง Can't Dll File ครับ ผมต้องไปหาดาวน์โหลดที่ไหนมาใส่ครับ หรือว่าตอนติดตั้งมันลงมาให้เลยครับ

ออฟไลน์ SamaKitty VB

  • Global Develop Leader
  • *****
  • 2,949
  • 177
  • เพศ: ชาย
  • ไม่ใช่คนเก่ง ไม่ใช่คนดี ไม่ใช่คนพิเศษ ไม่ใช่..!!
    • Thaiadmin.org Power by : VBNeverdie.com
Re: การออกรายงาน ด้วย Crystal Report 8.5 ผ่าน Visual Basic 6.0
« ตอบกลับ #14 เมื่อ: 13 พฤศจิกายน 2008, 16:27:34 »
ปกติ ไม่ต้องทำอะไรนะครับ

 ???

เกิดอะไรขึ้นเอ่ยยย

การสร้างรีพอร์ต ตั้งแต่เริ่มแรก ก็เริ่มจาก Crystal Report ติดต่อฐานข้อมูลอะไรๆ มันก็จะจำค่านั้นไว้ตลอด
VB เรียกให้ Report Action ก็ทำงานได้ทันทีนะ  โดยที่ไม่ต้องส่ง Parameter ใดๆ ด้วยซ้ำ ครับ

ผมเคยทำ แล้วใช้ได้นะ
Hi... Welcome to Thaiadmin.org
Power by VBNeverDie.Com

SMF Mod & Template Modify, Hosting, Chat Room, Joomla Web, Flash Header, Images Decorate

ขออภัย ถ้าไม่ตอบ PM ครับ : กรุณา ถามตอบในบอร์ด

Re: การออกรายงาน ด้วย Crystal Report 8.5 ผ่าน Visual Basic 6.0
« ตอบกลับ #15 เมื่อ: 17 มิถุนายน 2009, 14:52:13 »
วันนี้ พบเจอปัญหาบางประการณ์ จะมาบอกกล่าว ครับ

ปัญหาการหา DLL ไม่พบ  แก้ได้โดย
ก่อนการติดตั้ง Crystal Report  สังเกตุ ฝั่งขวามือ เวลาที่เลือก  Data Access หรือ Provider ต่างๆ
ระบบ มักจะบอกว่า  ต้องติดตั้งโปรแกรมนั้นๆ ก่อน  (ปัญหาที่ผมเจอ ก็คือ pdssql.dll  ไม่ทำงาน)

สาเหตุ ...
ผมฟอร์แมท เครื่อง   ลง Windows ใหม่เลย
ผมติดตั้ง SQL2008
ผมติดตั้ง VB6
ผมติดตั้ง CR8.5

แต่ผมใช้งาน CR8.5  ด้วยวิธีเดิมๆ ไม่ได้
ทำได้นะ  แต่ ต้องไปไล่แก้ ทุกๆ รีพอร์ตไฟล์   ด้วยการติดต่อ SQL แบบ OLEDB  ละมันจะไหวเร๊ออ
โปรแกรม ก็ต้องเปลี่ยนวิธีการติดต่อ ใหม่หมด  แล้วกี่ฟอร์ม กี่รีพอร์ตล่ะ ที่ต้องติดต่อ DB
ก็เลยตัดสินใจ

-  ถอด CR8.5 เฉพาะส่วนของ SQL Server ออกก่อน
-  ลง SQL2000 เฉพาะ Client Connectivity
-  แล้ว ลง CR8.5 เฉพาะส่วน SQL Server ที่เอาออกไปก่อนหน้านี้  อีกครั้ง


ทุกอย่างของผม กลับมาเป็นปกติสุข

อิอิอิอิ

ออฟไลน์ SamaKitty VB

  • Global Develop Leader
  • *****
  • 2,949
  • 177
  • เพศ: ชาย
  • ไม่ใช่คนเก่ง ไม่ใช่คนดี ไม่ใช่คนพิเศษ ไม่ใช่..!!
    • Thaiadmin.org Power by : VBNeverdie.com
Re: การออกรายงาน ด้วย Crystal Report 8.5 ผ่าน Visual Basic 6.0
« ตอบกลับ #16 เมื่อ: 3 กรกฎาคม 2015, 13:49:44 »
เอาวิธีแก้ไขเพิ่มเติม มาฝากครับ แบบว่า ไม่ต้องลง SQL2000

“pdssql.dll” cannot be found

http://forums.codeguru.com/showthread.php?348775-The-library-%93pdssql-dll%94-cannot-be-found

จากรูป  แปลเป็นไทย ได้ว่า  ให้หาไฟล์ ntwdblib.dll จากแผ่น sql2000 installation หรือ จากเครื่องไหนก็ได้ ที่มี
ก๊อปปี้ มาลงใน syswow64 หรือ system32 ในเครื่องเรา ครับ

เรียบร้อย  ;D
Hi... Welcome to Thaiadmin.org
Power by VBNeverDie.Com

SMF Mod & Template Modify, Hosting, Chat Room, Joomla Web, Flash Header, Images Decorate

ขออภัย ถ้าไม่ตอบ PM ครับ : กรุณา ถามตอบในบอร์ด