แสดงกระทู้

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - mtaccess

หน้า: 1 [2] 3 4 5 ... 10
19
เปลี่ยนจากเลข 5 เป็นเลข 6 ครับ

ไม่ได้ค่ะ คือรหัสพนักงานมี 6 หลัก มีทั้งแบบ 012345 และ 123456 ใน Database ค่ะ แต่เวลาแสดงอยากให้รหัสพนักงานที่มี 0 นำหน้าตัด 0 ออกค่ะ ให้แสดง 12345 ถ้าหกหลักก็แสดงปรกติ 123456

20
ในคิวรี่ มุมอง SQL ลองใส่คำสั่งนี้ครับ

SELECT Right(ฟิวส์ที่จะตัด0ออก,5) AS ExtractString
FROM ชื่อตาราง;
-----------------------------

หรือเพิ่มฟิวส์ในคิวรี่ใช้คำสั่งนี้ได้ครับ

รหัสพนักงาน: Right([ฟิวส์ที่จะตัด0],5)

ขอบคุณนะคะ
แต่ใช้ในกรณีรหัสพนักงานมี 6 หลัก เช่น 111111  ไม่ได้ค่ะ จะโดนตัดเหลือ 5 หลัก เป็น 11111 ซึ่งไม่ถูกค่ะ คือรหัสพนักงานมีหกหลัก แต่อยากให้รหัสพนักงานที่มีหกหลักแต่มีเลข 0 นำหน้าแสดงแค่เลขที่ไม่มี 0 ค่ะ เช่น 011111 แสดงเป็น 11111 ด้วยค่ะ

21
ตัด 0 นำหน้า รหัสพนักงานใน MS Access ใช้คำสั่งอะไรคะ
เช่น 010000 ให้แสดง 10000 และ 111111 แสดง 111111 ปรกติ
รบกวนแนะนำด้วยค่ะ ขอบคุณค่ะ

22
ฝากอาจารย์ รบกวนแนะนำด้วยนะคะ ว่าสามารถทำได้หรือไม่ได้ ใน MS Access มีข้อจำกัดตรงนี้หรือไม่ จะได้คิดหาวิธีใหม่

23
อยากรู้ว่าใน  MS access สามารถทำได้ไหม เนื่องจากว่ารูปเป็นรูปสี่เหลี่ยน ตัวหน้าบัตรที่ออกแบบมาเป็นแบบนี้ ต้องการให้รูปแสดงในช่องวงกลม ซึ่งในช่องนั้นได้มีการลบพื้นหลังออกจาก photoshop แล้ว แล้วเซฟเป็นไฟล์ .png รบกวนท่านอาจารย์แนะนำด้วยค่ะ ว่าสามารถทำได้ไหม ขอบคุณค่ะ


24
คือต้องการซ้อนรูป 2 รูป รูปที่ 1 คือรูปพนักงานที่ดึงมาจาก Database โดยปรกติรูปมาอยู่แล้ว แต่ติดตรงอีกรูปเป็นกรอบบัตรพนักงาน เหมือนรูปนี้บังรูปพนักงาน ซึ่งเป็นไฟล์ .png จะให้แสดงรูปพนักงานตรงวงกลมสีขาวนะคะ รบกวนแนะนำด้วยค่ะ ขอบคุณค่ะ

25
มันไม่ได้มีรูป หรืออะไรให้แสดงรูปเลยนะครับ แล้วมันจะแสดงได้ยังงัย

มีนะคะ ในตัวอย่างคือเอารูปมาวางเลย แต่ในตัวโปรแกรมจริงจะเรียกจาก Database ซึ่งตอน เรียก Report Review รูปมา แต่พอตอน Print Preview เพื่อจะดูก่อนปริ้นรูปไม่มา หรือมีวิธีแนะนำไมคะ รบกวนด้วยค่ะ ขอบคุณค่ะ

26
ทำบัตรพนักงานโดยมีรูปภาพกรอบเป็นไฟล์ .png เพื่อให้รูปพนักงานแสดงในกรอบที่เราวางไว้ ตอน Print Preview รูปพนักงานไม่แสดงค่ะ เนื่องจากในช่องที่วางไว้ให้แสดงรูปพนักงาน เพื่อสั่งปริ้นบัตรพนักงาน รบกวนแนะนำด้วยค่ะ พร้อมได้แนบไฟล์ตัวอย่างที่ทำมาด้วยค่ะ ขอบคุณค่ะ

Report Review


Print Preview

27
ทำได้แล้วค่ะ ขอบคุณมากๆนะคะ

28
รบกวนสอบถามคำสั่งในการ Query Address ที่แยกแต่ละคอลัมภ์ ให้แสดงผลอยู่ในคอลัมภ์เดียว ในกรณีที่บางคอลัมภ์ไม่มีข้อมูล แต่เราต้องการให้แสดงด้วยค่ะ ตามภาพด้านล่าง จะเห็นได้ว่าข้อมูลบางแถว ถ้าข้อมูลไม่ครบข้อมูลจะไม่แสดงที่คอลัมภ์ที่เขียนคำสั่งรวมไว้ และได้แนบตัวอย่างโปรแกรมมาด้วยค่ะ รบกวนแนะนำด้วยค่ะ ขอบคุณค่ะ






29
แก้ปัญหาได้แล้วค่ะ โดยการสร้าง Table ใหม่แล้ว Import ข้อมูลทั้งหมดจาก Table เก่าเข้ามาค่ะ ขอบคุณทุกการแนะนำและวิธีการช่วยเหลือต่างๆนะคะ ขอบคุณมากๆค่ะ

30
ผมไม่แน่ใจเหมือนกันครับ ถ้าตารางใหม่ addnew ได้ปกติ
ข้อสันนิษฐาน
   1.การกำหนดประเภทของข้อมูลว่าเหมือนกันหรือไม่(ดูจากตารางใหม่ที่เพิ่งสร้างและเพิ่มได้)
      เพราะบางครั้งเกิดปัญหาการแปลงชนิดข้อมูลไม่ถูกต้องทำให้ไม่สามารถเพิ่มใหม่ได้
   2.ข้อมูลมี primary key แล้วหรือไม่
   3.เช็คการกำหนดค่าซ้ำ(ดูจากตัวที่เพิ่มได้ก็ได้ครัข)

รอน้าๆ ผู้ที่ใช้งาน SQL SERVER โดยตรงมาแชร์ประสบการณ์ตรงส่วนนี้
  :yuush:

ลอกและ Copy ตัวเก่ามาเลยค่ะ กำหนดค่าต่างๆเหมือนกันหมดเลย

31
โค๊ด Addnew
โค๊ด: [Select]
AddnewSQL = "INSERT INTO dbo_TestTP ( CardID, TPNo, TPIssueDate, TPExpireDate ) " _
& "SELECT dbo_TempImportTP.CardID, dbo_TempImportTP.TPNo, dbo_TempImportTP.TPIssueDate, dbo_TempImportTP.TPExpireDate " _
& "FROM dbo_TempImportTP WHERE (((dbo_TempImportTP.CardID) Not In (select CardID from [dbo_TestTP])));"

โค๊ด Update
โค๊ด: [Select]
UpdateSQL = "UPDATE dbo_TestTP INNER JOIN dbo_TempImportTP ON dbo_TestTP.CardID = " _
& "dbo_TempImportTP.CardID SET dbo_TestTP.TPNo = [dbo_TempImportTP].[TPNo], dbo_TestTP.TPIssueDate = " _
& "[dbo_TempImportTP].[TPIssueDate], dbo_TestTP.TPExpireDate = [dbo_TempImportTP].[TPExpireDate] " _
& "WHERE (((dbo_TestTP.TPNo)<>[dbo_TempImportTP].[TPNo]) AND ((dbo_TestTP.CardID)=[dbo_TempImportTP].[CardID])) " _
& "OR (((dbo_TestTP.TPIssueDate)<>[dbo_TempImportTP].[TPIssueDate])) OR (((dbo_TestTP.TPExpireDate)<>[dbo_TempImportTP].[TPExpireDate]));"

ปรับเป็นแบบนี้นะครับ เราจะไม่ใช้ And เราจะใช้ OR นะครับ
เช็คฟิลล์ TP7No เพื่อความถูกต้องนะครับว่าที่ถูกต้องคือ TP7No  หรือ TPNo


ติดปัญหาตอนนำไปใช้กับ  Table จริงที่มีการบันทึกข้อมูลอยู่แล้ว มีข้อมูล ณ ตอนนี้ประมาณ 13,000 Record ค่ะ เดิมที่ให้บันทึกโดยการคีย์ทีละคน
ทดสอบอัพโหลดด้วย Table ที่สร้างใหม่ อัพโหลดได้ พอแก้เป็นชื่อ Table จริงที่ใช้งานอยู่ กับอัพโหลดเข้าไม่ได้เลยค่ะ ขึ้นจำนวนเป็น 0 ลองตรวจสอบข้อมูลก็ไม่ซ้ำ งงมากค่ะ แต่ติดตรงที่ Table เก่ามีการ Import Table ข้อมูลที่เคยเป็น MS access ไปเป็น SQL server รบกวนแนะนำอีกทีนะคะ ขอบคุณค่ะ

32
ทำได้แล้วค่ะ ขอบคุณมากๆนะคะ

33
โค๊ด Addnew
โค๊ด: [Select]
AddnewSQL = "INSERT INTO dbo_TestTP ( CardID, TPNo, TPIssueDate, TPExpireDate ) " _
& "SELECT dbo_TempImportTP.CardID, dbo_TempImportTP.TPNo, dbo_TempImportTP.TPIssueDate, dbo_TempImportTP.TPExpireDate " _
& "FROM dbo_TempImportTP WHERE (((dbo_TempImportTP.CardID) Not In (select CardID from [dbo_TestTP])));"

โค๊ด Update
โค๊ด: [Select]
UpdateSQL = "UPDATE dbo_TestTP INNER JOIN dbo_TempImportTP ON dbo_TestTP.CardID = " _
& "dbo_TempImportTP.CardID SET dbo_TestTP.TPNo = [dbo_TempImportTP].[TPNo], dbo_TestTP.TPIssueDate = " _
& "[dbo_TempImportTP].[TPIssueDate], dbo_TestTP.TPExpireDate = [dbo_TempImportTP].[TPExpireDate] " _
& "WHERE (((dbo_TestTP.TPNo)<>[dbo_TempImportTP].[TPNo]) AND ((dbo_TestTP.CardID)=[dbo_TempImportTP].[CardID])) " _
& "OR (((dbo_TestTP.TPIssueDate)<>[dbo_TempImportTP].[TPIssueDate])) OR (((dbo_TestTP.TPExpireDate)<>[dbo_TempImportTP].[TPExpireDate]));"

ปรับเป็นแบบนี้นะครับ เราจะไม่ใช้ And เราจะใช้ OR นะครับ
เช็คฟิลล์ TP7No เพื่อความถูกต้องนะครับว่าที่ถูกต้องคือ TP7No  หรือ TPNo

ขอบคุณมากๆนะคะ เดี๋ยวจะลองดูนะคะ

34
อ้างถึง
ชื่อนี้ค่ะ dbo_TempImport
เป็น Database ที่ลิงค์มาจาก SQL Server
หรือจะติดตรงนี้ค่ะ acSpreadsheetTypeExcel8 ต้องไปสร้างหรือกำหนด SpreadsheetType ที่ไหนคะ

ตาราง temp สร้างไว้ที่ front end ได้เลย ไว้วางข้อมูลชั่วคราวเท่านั้น
ไม่ต้องลิ้งมา

ข้อมูลเข้าแล้วค่ะ แต่ติด error ตรงอัพเดต พอดีมีการอัพเดต 3 ฟิลด์ ได้แก่ TP7No, TPIssueDate, TPExpireDate รบกวนแนะนำด้วยค่ะ ขอบคุณค่ะ



Code
UpdateSQL = "UPDATE dbo_TestTP INNER JOIN dbo_TempImportTP ON dbo_TestTP.CardID = " _
& "dbo_TempImportTP.CardID SET dbo_TestTP.TP7No = [dbo_TempImportTP].[TPNo], dbo_TempImportTP.CardID SET dbo_TestTP.TPIssueDate = [dbo_TempImportTP].[TPIssueDate], dbo_TempImportTP.CardID SET dbo_TestTP.TPExpireDate = [dbo_TempImportTP].[TPExpireDate] " _
& "WHERE (((dbo_TestTP.TPNo)<>[dbo_TempImportTP].[TPNo]) AND ((dbo_TestTP.TPIssueDate)<>[dbo_TempImportTP].[TPIssueDate]) AND ((dbo_TestTP.TPExpireDate)<>[dbo_TempImportTP].[TPExpireDate]) ((dbo_TestTP.CardID)=[dbo_TempImportTP].[CardID]));"

35
Deletesql = "DELETE * FROM TempImport;"
ตารางชั่วคราวชื่ออะไรครับ
ตรงสีแดงใส่ชื่อตารางชั่วคราว


ชื่อนี้ค่ะ dbo_TempImport
เป็น Database ที่ลิงค์มาจาก SQL Server

หรือจะติดตรงนี้ค่ะ acSpreadsheetTypeExcel8 ต้องไปสร้างหรือกำหนด SpreadsheetType ที่ไหนคะ

36
ข้างบนแก้ได้แล้วค่ะ ติดปัญหานี้ต่อค่ะ



หน้า: 1 [2] 3 4 5 ... 10