แสดงกระทู้

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 - สันติสุข

หน้า: 1 ... 3 4 5 [6] 7 8 9 ... 29
93
สามารถใช้ Tab Control เพื่อใช้เป็นคอนเทนเนอร์บรรจุคอนโทรลอื่นๆรวมทั้งซับฟอร์มคอนโทรลได้อีกชั้นนึง   Tab Control ตัวนึงสามารถมีได้หลาย Page อย่างในรูป ตย.ข้างล่าง ก็มี Page "รายการขาย" และ "ลงบัญชี"

94

สมมุติ
T เป็นชื่อเทเบิล
PO เป็นชื่อฟิลด์รหัสใบสั่งซื้อ
CD เป็นชื่อฟิลด์รหัสสินค้า
QTY เป็นชื่อฟิลด์จำนวนสินค้า

insert into T (PO, CD, QTY) select 127, CD, QTY from T where PO = 463

95
ดูจากรูปแรก เหมือนกำลังจะ paste อะไรลงหน้าฟอร์ม แต่ตำแหน่งที่จะ paste ณ ตอนนั้นมันไม่สามารถรับข้อมูลได้ อาจอยู่ไม่ถูกเรคอร์ด ไม่ถูกคอนโทรล (เช่น เท็กซ์บ็อกซ์, คอมโบบ็อกซ์, ...) หรือมีเงื่อนไขอะไรที่ทำให้ตำแหน่งต่างๆแตกต่างไปจากตอนที่ paste ได้ก็ได้ครับ  ส่วนเรื่อง read only ก็ยังมีความเป็นไปได้ แต่บอกอะไรจากรูปไปมากกว่านี้ไม่ได้

96
ไฟล์ที่ 2 ต้องติดตั้งไว้ที่แต่ละเครื่องครับ ไม่ใช่ไว้ที่เซิร์ฟเวอร์แล้วดึงมาใช้ เพราะ Access จะมีการสร้าง locking information file (.laccdb) ไว้ที่ที่เดียวกับไฟล์เพื่อเก็บข้อมูลการล็อคและใช้เรคอร์ดของเครื่องนั้นๆ ดังนั้นข้อมูลจากหลายๆเครื่องลงไฟล์เดียวกันน่าจะทำให้ระบบเข้าใจผิดได้

97
SQL ของ Access มีแต่เอาข้อมูลจากฐานข้อมูลที่เรากำลังเปิด ไปใส่เพิ่มเข้าไปในฐานข้อมูลอื่น แต่ในกรณีนี้ตรงกันข้ามกัน สิ่งที่ทำได้ก็คือ

1. สร้างลิงค์เทเบิล student จาก "D:\รับสมัครนักเรียน ม.3.accdb" มายังฐานข้อมูลปัจจุบัน โดยสร้างเป็นลิงค์เทเบิลชื่ออื่นแทน สมมุติสร้างเป็นชื่อ Temp
docmd.TransferDatabase acLink,"Microsoft Access" , "D:\รับสมัครนักเรียน ม.3.accdb",acTable,"student","Temp"

2. สั่งเลือกข้อมูลทั้งหมดจาก Temp นำมาใส่เทเบิล student
currentdb.Execute "insert into student select * from Temp", dbfailonerror

3. ลบลิงค์เทเบิล Temp
docmd.DeleteObject acTable, "Temp"

98
ห้อง MS Access / : ERROR 3309 แก้ยังไงครับ
« เมื่อ: 28 มี.ค. 63 , 10:21:37 »
ไม่รู้สาเหตุที่แน่นอนนะครับ แต่ให้ลอง 1. ทำ Compact and Repair Database (ภาษาไทยใช่ ซ่อมแซมและกระชับฐานข้อมูล หรือเปล่า) 2. ลดขนาดของนิพจน์ลง 3. เปลี่ยนจากการทำ Calculated Field (มึนกับแปลออกมาเป็นภาษาไทย "คำนวนแล้ว") ในเทเบิล ไปสร้างอยู่ในคิวรี่แทน

99
เพิ่มเติมต่อท้ายเป็น CurrentDB.Execute xxxxxxx , dbFailOnError Or dbSeeChanges ครับ

100
ต้องดูว่าวิธีอ่านข้อมูลมาใช้นั้น ใช้วิธีอะไร ใช้คำสั่งอะไร

ถามเพิ่มเติม : ไฟล์แรกอยู่ไหน ไฟล์ที่สองอยู่ที่ไหน

101
ใน About เพจของเวปเขา http://appinventor.mit.edu/about-us เขาเขียนเริ่มต้นว่า "MIT App Inventor is an intuitive, visual programming environment that allows everyone – even children – to build fully functional apps for smartphones and tablets. Those new to MIT App Inventor can have a simple first app up and running in less than 30 minutes."

ใครเคยทำแล้วช่วยมาเล่าสู่กันฟังมั่ง มันทำได้ไม่เกินระดับไหน ข้อจำกัดอะไรต่างๆนาๆ

102
คุณตกอักษร s หลังคำว่า Form ครับ

103
สมมุติฟิลด์เลขลำดับที่ชื่อ R และมี data type เป็น Integer หรือ Long นะครับ

SQL = "update M4_sobgen_sci T0 set R = dcount('*', 'M4_sobgen_sci', 'room_sob = ''' & T0.room_sob & ''' and number_sob < ''' & T0.number_sob & '''')"

104
ผมไม่เคยใช้นะครับ แต่มีคนเคยตอบไว้ว่า https://www.thai-access.com/yeadram_view.php?topic_id=2489

อีกอย่างคือ ผมเข้าใจว่า ในหน้าการกำหนดค่าต่างๆใน Data Source ของ ODBC น่าจะมี Option และเลือก Character set ให้เป็นภาษาไทยได้ เหมือนในรูปที่ 5.4 ใน https://dev.mysql.com/doc/connector-odbc/en/connector-odbc-configuration-dsn-windows-5-2.html

105
ลองใหม่ครับ อันนี้สำหรับทั้ง room_sob และ number_sob มี data type เป็น Text ทั้งคู่ครับ

โค๊ด: [Select]
SQL = "update M4_sobgen_sci T0 set room_sob = cstr(int(dcount('*', 'M4_sobgen_sci', 'number_sob < ''' & T0.number_sob & '''')/40)+1)"

ให้ก็อปปี้ไปเลยนะครับ ไม่งั้นเดี๋ยวจะสับสน เพราะ '' ภายในไม่ใช่ double quote เหมือนที่ให้ไปก่อนหน้า แต่เป็น single quote ครับ  ส่วน " ครอบหน้าและหลัง ยังเป็น double quote

106
ถ้า data type ของฟิลด์ห้องสอบเป็น Text ให้เปลี่ยนเป็น

SQL = "update T as T0 set room_sob = cstr(int(dcount(""*"", ""T"", ""number_sob < "" & T0.number_sob)/40)+1)"

107
สมมุติเทเบิลชื่อ T และ data type ของฟิลด์ห้องสอบเป็น Numeric

Dim SQL as String

SQL = "update T as T0 set room_sob = int(dcount(""*"", ""T"", ""number_sob < "" & T0.number_sob)/40)+1"
CurrentDB.Execute SQL, dbFailOnError

108
ได้ข้อมูลมาจากเฟสบุ๊กเพจ "โปรแกรมเมอร์ไทย Thai programmer" ครับ

https://goalkicker.com/?fbclid=IwAR1TjcRyaWd6r_xdj510qNJOu_3B2c9EV_AWjkJ0_lyZqxdBS3bYFHCZERo

แนะนำเพิ่มเติมว่า สำหรับคนที่ชอบเขียนโปรแกรม ให้ศึกษาวิชา Data Structure (ส่วนนึงอยู่ในหนังสือ Algorithms) และ Algorithms เพราะจะช่วยให้ขยับโลกทัศน์ในการวิเคราะห์และหาวิธีตอบโจทย์ที่ซับซ้อนยิ่งขึ้นได้

หน้า: 1 ... 3 4 5 [6] 7 8 9 ... 29