:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

ใช้คำสั่ง Union All แล้ว Access ฟ้อง invalid in use is null

Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่างเพิ่มเติม)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่

Post a reply


This question is a means of preventing automated form submissions by spambots.
Smilies
:D :thup: :cp: :flw: :rz: :sg: :tt: :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :arrow: :ard: :arl: :aru: :| :mrgreen: :geek: :ugeek:

BBCode is ON
[img] is ON
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: ใช้คำสั่ง Union All แล้ว Access ฟ้อง invalid in use is null

Re: ใช้คำสั่ง Union All แล้ว Access ฟ้อง invalid in use is null

#26

by snasui » Tue Jun 05, 2018 11:09 pm

:D ใน Access มีข้อความที่มีการวรรคไม่แน่นอน เมื่อตัดมาแล้วจะเป็นตามภาพ เมื่อนำไปแสดงใน Excel ก็จะได้ผลเช่นเดียวกัน ต้นทางเป็นเช่นไร ปลายทางก็เป็นเช่นนั้นครับ
Attachments
Inconsistancy
Inconsistancy
Inconsistancy.png (56.43 KiB) Viewed 79 times

Re: ใช้คำสั่ง Union All แล้ว Access ฟ้อง invalid in use is null

#25

by chalidas » Tue Jun 05, 2018 10:36 pm

ส่งไฟล์ Database ค่ะ
DB.rar
Database
(336.31 KiB) Downloaded 7 times
ขอบคุณค่ะ

Re: ใช้คำสั่ง Union All แล้ว Access ฟ้อง invalid in use is null

#24

by snasui » Tue Jun 05, 2018 8:03 pm

chalidas wrote: Tue Jun 05, 2018 9:05 am ได้แล้วค่ะอาจารย์ ขอบคุณอาจารย์มากๆค่ะ
ขอถามตรง mid$ มันหมายถึงอะไรหรอค่ะอาจารย์ มันต่างกับ mid เฉยๆยังไงค่ะอาจารย์

ขอบคุณค่ะ
:D ความหมายหลักของการใส่ $ เข้าไปหลัง Mid เป็นการกำหนด Data Type ให้เป็น String ไม่ต้องให้โปรแกรมตัดสินใจเอง นอกจากนี้ยังจะมีความเร็วกว่าการใช้ Mid ธรรมดาครับ
chalidas wrote: Tue Jun 05, 2018 1:54 pm สอบถามเพิ่มเติมค่ะอาจารย์ ตอนที่ไปget DATA ใน Excel ตอนเลือก 5_Parent_Personal_DAD จาก access พอเปิดดูข้อมูลใน Excel มันแยกชื่อนามสกุลเป็นบางคน แต่ตอนดูในaccessแยกชื่อนามสกุลให้ทุกคนเลย ต้องแก้ยังไงคะ
ขอบคุณค่ะ
:D โดยหลักการแล้วไม่ควรจะแตกต่างกัน หากสะดวกลอง Update ไฟล์มาใหม่จะได้ช่วยทดสอบได้ครับ

Re: ใช้คำสั่ง Union All แล้ว Access ฟ้อง invalid in use is null

#23

by chalidas » Tue Jun 05, 2018 1:54 pm

สอบถามเพิ่มเติมค่ะอาจารย์ ตอนที่ไปget DATA ใน Excel ตอนเลือก 5_Parent_Personal_DAD จาก access พอเปิดดูข้อมูลใน Excel มันแยกชื่อนามสกุลเป็นบางคน แต่ตอนดูในaccessแยกชื่อนามสกุลให้ทุกคนเลย ต้องแก้ยังไงคะ


ขอบคุณค่ะ

Re: ใช้คำสั่ง Union All แล้ว Access ฟ้อง invalid in use is null

#22

by chalidas » Tue Jun 05, 2018 9:05 am

ได้แล้วค่ะอาจารย์ ขอบคุณอาจารย์มากๆค่ะ
ขอถามตรง mid$ มันหมายถึงอะไรหรอค่ะอาจารย์ มันต่างกับ mid เฉยๆยังไงค่ะอาจารย์

ขอบคุณค่ะ

Re: ใช้คำสั่ง Union All แล้ว Access ฟ้อง invalid in use is null

#21

by snasui » Tue Jun 05, 2018 5:33 am

:D ตัวอย่าง Query ตามด้านล่างครับ

Code: Select all

SELECT [1_Personal1].PID_SELECT, [1_Personal1].PID_SELECT_FNAME, [1_Personal1].PID_SELECT_MNAME, [1_Personal1].PID_SELECT_LNAME, [1_Personal1].PID_SELECT_SEX, [1_Personal1].PID_SELECT_BIRTHDATE, [1_Personal1].PID_SELECT_NATION, [1_Personal1].PID_SELECT_RELIGION, [1_Personal1].WORK_START_DATE, [1_Personal1].POSITION_REGISTER_ID, '4' AS RELATION, FamilyReport.[Identity Number for Mother] AS PID, KMSTPNEL.[Mother Name] AS PID_FNAME, Mid$(Replace([PID_FNAME],[PID_LNAME],""),InStr([PID_FNAME]," ")+1) AS PID_MNAME, Mid$([PID_FNAME],InStrRev([PID_FNAME]," ")+1) AS PID_LNAME, '2' AS PID_SEX, ' ' AS PID_BIRTHDATE, ' ' AS PID_NATION, ' ' AS PID_RELIGION, ' ' AS CHILD_INCOMPETENT, ' ' AS CHILD_REGULARITY
FROM (KMSTPNEL INNER JOIN 1_Personal1 ON KMSTPNEL.[Personnel ID] = [1_Personal1].[Personnel ID]) LEFT JOIN FamilyReport ON KMSTPNEL.[Personnel ID] = FamilyReport.PersNo
WHERE (((KMSTPNEL.[Mother Name])<>'') AND ((FamilyReport.Membr)='12'));

Re: ใช้คำสั่ง Union All แล้ว Access ฟ้อง invalid in use is null

#20

by chalidas » Tue Jun 05, 2018 1:08 am

ขอบคุณค่ะอาจารย์แก้ได้แล้วค่ะ ขอเปลี่ยนคำถามเป็น ต้องการจะตัดชื่อ กับนามสกุลในคิวรี่ที่ชื่อ6_Personal_MOM นามสกุลให้เอาไปใส่ช่อง Lnameในคำสั่งคิวรี่ลองวางคำสั่งMid แล้วมันฟ้องเออเร่อว่า Syntax ไม่ถูกต้องค่ะ

SELECT [1_Personal1].PID_SELECT, [1_Personal1].PID_SELECT_FNAME, [1_Personal1].PID_SELECT_MNAME, [1_Personal1].PID_SELECT_LNAME, [1_Personal1].PID_SELECT_SEX, [1_Personal1].PID_SELECT_BIRTHDATE, [1_Personal1].PID_SELECT_NATION, [1_Personal1].PID_SELECT_RELIGION, [1_Personal1].WORK_START_DATE, [1_Personal1].POSITION_REGISTER_ID, '4' AS RELATION, FamilyReport.[Identity Number for Mother] AS PID, KMSTPNEL.[Mother Name] AS PID_FNAME, ' ' AS PID_MNAME, ' ' AS PID_LNAME, '2' AS PID_SEX, ' ' AS PID_BIRTHDATE, ' ' AS PID_NATION, ' ' AS PID_RELIGION, ' ' AS CHILD_INCOMPETENT, ' ' AS CHILD_REGULARITY
FROM (KMSTPNEL INNER JOIN 1_Personal1 ON KMSTPNEL.[Personnel ID]=[1_Personal1].[Personnel ID]) LEFT JOIN FamilyReport ON (Mid([KMSTPNEL].[Mother Name],InStr([Mother Name]," ")+1)=(FamilyReport.[First name])+' '+(FamilyReport.[Last name])) AND (KMSTPNEL.[Personnel ID]=FamilyReport.PersNo)
WHERE (((KMSTPNEL.[Mother Name])<>'')) And FamilyReport.Membr='12';


ขอบคุณค่ะ

Re: ใช้คำสั่ง Union All แล้ว Access ฟ้อง invalid in use is null

#19

by snasui » Mon Jun 04, 2018 7:48 pm

:D ลอง Update ไฟล์มาใหม่ให้มี Query 9_Personal_Termination จะได้ช่วยดูให้ได้ครับ

Re: ใช้คำสั่ง Union All แล้ว Access ฟ้อง invalid in use is null

#18

by chalidas » Mon Jun 04, 2018 2:42 pm

SELECT [9_Personal_Termination].PID_SELECT, [9_Personal_Termination].PID_SELECT_FNAME, [9_Personal_Termination].PID_SELECT_MNAME, [9_Personal_Termination].PID_SELECT_LNAME, FamilyReport.บัตรประชาชน AS PID, KMSCHD01.[Family First Name] AS PID_FNAME, ' ' AS PID_MNAME, KMSCHD01.[Family Last Name] AS PID_LNAME, [7_Child_Personal].RELATION AS RELATION, [9_Personal_Termination].POSITION_REGISTER_ID, '16' AS RELEASE_ID, 'บันทึกข้อมูลบุตรไม่ถูกต้อง' AS REMARK
FROM (KMSCHD01 INNER JOIN 9_Personal_Termination,7_Child_Personal
ON KMSCHD01.[Personnel ID] = [9_Personal_Termination].[Personnel ID]) LEFT JOIN FamilyReport
ON (KMSCHD01.[Family First Name] = FamilyReport.[First name]) AND (KMSCHD01.[Personnel ID] = FamilyReport.PersNo)
ON [9_Personal_Termination].[PID_SELECT] = [7_Child_Personal].[PID_SELECT] AND (KMSCHD01.[Personnel ID] = FamilyReport.PersNo))
WHERE (((KMSCHD01.[Family First Name])<>' ') AND ((FamilyReport.Membr)='2'));

สอบถามเพิ่มเติมค่ะอาจารย์ จะinner join 3 ตารางแต่ Syntax มันผิดตรงไหนค่ะอาจารย์

Re: ใช้คำสั่ง Union All แล้ว Access ฟ้อง invalid in use is null

#17

by snasui » Sun Jun 03, 2018 7:41 am

:D ตัวอย่างการตัดมาเฉพาะชื่อและนามสกุลโดยไม่เอาคำนำหน้านาม

หากมีวรรคคั่นกลางระหว่างคำนำหน้านามกับชื่อสามารถใช้ Instr เข้ามาช่วยได้ครับ ยกตัวอย่างตามสูตรด้านล่าง

์Name: Mid([FullName],InStr([FullName]," ")+1)

ลองนำ FullName ไปแทน Statement ที่ Reuturn ค่าที่ต้องการจะตัดครับ

Re: ใช้คำสั่ง Union All แล้ว Access ฟ้อง invalid in use is null

#16

by chalidas » Sat Jun 02, 2018 11:44 pm

อาจารย์คะ อยากตัดคำนำหน้าชื่อออก เช่น นาย สมหวัง ดีมาก ต้องการตัดให้เหลือแค่ สมหวัง ดีมากต้องใช้คำสั่งอะไรครอบค่ะ
SELECT [9_Personal_Termination].PID_SELECT, [9_Personal_Termination].PID_SELECT_FNAME, [9_Personal_Termination].PID_SELECT_MNAME, [9_Personal_Termination].PID_SELECT_LNAME, FamilyReport.[Identity Number for Father] AS PID, FamilyReport.[First name] AS PID_FNAME, ' ' AS PID_MNAME, FamilyReport.[Last name] AS PID_LNAME, '4' AS RELATION, [9_Personal_Termination].POSITION_REGISTER_ID, '11' AS RELEASE_ID, 'บันทึกข้อมูลบิดาไม่ถูกต้อง' AS REMARK, MASTER.[Terminate Date]
FROM (KMSTPNEL INNER JOIN 9_Personal_Termination ON KMSTPNEL.[Personnel ID]=[9_Personal_Termination].[Personnel ID]) LEFT JOIN FamilyReport ON (KMSTPNEL.[Personnel ID]=FamilyReport.PersNo) AND (KMSTPNEL.[Father Name]=(FamilyReport.คำนำหน้าชื่อ+' '+(FamilyReport.[First name])+' '+(FamilyReport.[Last name])))
WHERE (((KMSTPNEL.[Father Name])<>' ')) And FamilyReport.Membr='11';


ขอบคุณค่ะ

Re: ใช้คำสั่ง Union All แล้ว Access ฟ้อง invalid in use is null

#15

by snasui » Fri Jun 01, 2018 6:35 pm

:D ภาพเล็กมากไม่สามารถอ่านได้ครับ

เท่าที่พออ่านได้แปลว่าใส่ Argument ของฟังก์ชั่นไม่ถูกต้อง ยกตัวอย่างเช่นฟังก์ชั่นนั้นมีส่วนประกอบ 10 ส่วนแต่ใส่มาเพียง 1 ส่วน หรือใส่ส่วนประกอบได้ 2 ส่วนแต่ใส่ไปจริง 5 ส่วนก็จะฟ้องลักษณะนี้ครับ

Re: ใช้คำสั่ง Union All แล้ว Access ฟ้อง invalid in use is null

#14

by chalidas » Fri Jun 01, 2018 11:18 am

อาจารย์ค่ะ ลองปรับคิวรี่ใหม่แล้วขึ้นดังไฟล์แนบค่ะ
Attachments
6-1-2018 11-21-14 AM.png
6-1-2018 11-21-14 AM.png (134.52 KiB) Viewed 256 times

Re: ใช้คำสั่ง Union All แล้ว Access ฟ้อง invalid in use is null

#13

by snasui » Thu May 31, 2018 6:37 pm

:D ถ้าได้แปลงคอลัมน์อื่นที่ Error ไปเป็นข้อความที่ไม่ Error แล้วยัง Query ไม่ได้อีกผมคงช่วยได้เท่านี้ครับ เท่าที่ตรวจสอบดูมีปัญหาเพียงรายการเดียวที่ Access ไม่สามารถแปลงวันที่แบบพ.ศ.มาเป็นค.ศ.ได้ หากเร่งด่วนใช้วิธีการแก้ปัญหาเฉพาะหน้าไปก่อนด้วยการ Query โดยไม่รวม Id นั้นครับ

Re: ใช้คำสั่ง Union All แล้ว Access ฟ้อง invalid in use is null

#12

by chalidas » Thu May 31, 2018 4:09 pm

อาจารย์คะ ปรับให้เป็นแบบนี้ค่ะ
IIf(IsDate(Format(Left$([Date of Birth],4) & Right$([Date of Birth],4)-543,"00\/00\/0000")),IIf((DateDiff('d',Format(Left$([Date of Birth],4) & Right$([Date of Birth],4)-543,"00\/00\/0000"),Date())/365)>20,'N','Y'),'Notfound')

จากนั้นลอง Union All ก็ขึ้น Data type mismatch in criteria expression

Re: ใช้คำสั่ง Union All แล้ว Access ฟ้อง invalid in use is null

#11

by snasui » Wed May 30, 2018 7:50 pm

:D ได้ลองปรับเป็นแบบอื่นแล้วหรือไม่ ด้านบนผมยกตัวอย่างโดยให้มันแสดงเป็นค่าว่าง ต้องการให้แสดงค่าใดก็ปรับเป็นค่านั้นครับ

Re: ใช้คำสั่ง Union All แล้ว Access ฟ้อง invalid in use is null

#10

by chalidas » Wed May 30, 2018 6:56 pm

อาจารย์คะ ลองรันดูแล้วตอนunion all มันฟ้องว่า data type mismatch in criteria expression


ขอบคุณค่ะ

Re: ใช้คำสั่ง Union All แล้ว Access ฟ้อง invalid in use is null

#9

by snasui » Mon May 28, 2018 6:57 pm

:D ลองประยุกต์ใช้ฟังก์ชั่น IsDate เข้ามาช่วยดูครับ

ตัวอย่าง

CHILD_REGULARITY: IIf(IsDate(Format(Left$([Date of Birth],4) & Right$([Date of Birth],4)-543,"00\/00\/0000")),IIf((DateDiff('d',Format(Left$([Date of Birth],4) & Right$([Date of Birth],4)-543,"00\/00\/0000"),Date())/365)>20,'N','Y'),"")

Re: ใช้คำสั่ง Union All แล้ว Access ฟ้อง invalid in use is null

#8

by chalidas » Mon May 28, 2018 4:31 pm

อาจารย์ค่ะ เช็คแล้วพบว่าที่ฟิลด์CHILD_REGULARITY มีของคนนึงขึ้นว่า #Error ถ้าเราจะเช็คว่าถ้าเป็น#Error ให้เก็บค่าเป็น Text แทนต้องทำอย่างไรค่ะ


ขอบคุณค่ะ

Re: ใช้คำสั่ง Union All แล้ว Access ฟ้อง invalid in use is null

#7

by snasui » Mon May 28, 2018 9:24 am

:D ใช้ NZ ครอบ Expression ของการคำนวณอายุ หากเป็น Null สามารถกำหนดให้แสดงเป็นอย่างอื่นได้ครับ

ตัวอย่างการใช้งานดูที่นี่ครับ https://www.techonthenet.com/access/fun ... ced/nz.php

Top