แจ้งการบริการครั้งต่อไปเพิ่มครั้งละ 1(2ตัวอักษร)
กระทู้เก่าบอร์ด อ.Yeadram

 1,219   3
URL.หัวข้อ / URL
แจ้งการบริการครั้งต่อไปเพิ่มครั้งละ 1(2ตัวอักษร)

เรียนท่านอาจารย์ทุกท่าน
ฟิลด์เดิมขนาด 2 ตัวอักษร ชื่อฟิลด์ RegNo(ครั้งบริการครั้งเก่า)
ถ้ามีฟิลดิ์ ครั้งบริการขนาด 2 ตัวอักษร ชื่อฟิลด์ RegNoNew อยู่ในตารางเดียวกัน

โดยลักษณะข้อมูลมีการเพิ่มครั้งล่ะ 1 ดังนี้(RegNoNew)
เริ่มจาก 01 ถึง 99 จากนั้น A1 ถึง A9 จนถึง Z1 ถึง Z9
จากนั้นก็Za จนถึง ZZ
สมมติว่า regno = 11 regnonewให้เท่ากับ 12
                         = b1                                 b2
                          =za                                  zb
ขอบคุณทุกท่านที่แสดงความคิดเห็น

3 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R10866
ไปที่หน้าแรกเว็บบอร์ด ค้นด้วยคำว่า "runchr" หรือ "runword" อะไรซักอย่างแถวๆ นี้แหละครับ
จำได้ว่า เคยทำเป็นตัวอย่างให้ใครสักคนไปแล้ว

หรือถ้าหาไม่เจอ ลองไปค้นๆ ดูใน เมล์ของเว็บบอร์ดก็ได้ครับ น่าจะเคยส่งไฟล์ตัวอย่างซื่งมีการเขียนฟังก์ชั่นไว้ในนั้นแล้ว
2 @R10869
ผมว่าปัญหาข้อนี้ไม่ได้อยู่ที่การเขียนโค้ด แต่เป็นที่การออกแบบนะครับ ถ้าจะให้ดี ควรออกแบบใหม่นะครับ มีเหตุผลอะไรในการออกแบบในลักษณะนี้ครับพอจะอธิบายได้ไหมครับ

ถ้าจะทำให้ได้แบบนี้จริงๆ ให้ง่ายควรเขียนโค้ด(ง่ายกว่าเขียนคิวรี่) โดยเขียนฟังก์ชั่น convert ค่าปัจจุบันจากตัวอักษรเป็นตัวเลขว่ามีค่าเท่าไร เช่น A0 = 100, B0 = 110, ZA = ?,   แล้วบวก 1 จากนั้นจึงผ่านค่าเข้าอีกฟันก์ชั่นหนึ่ง ซึ่งทำหน้าที่ convert ค่าจากตัวเลขกลับเป็น ตัวอักษร เช่น 100 = A0 - โดยโลจิกจากโจยท์นี้ ต้องแบ่งเงื่อนไขในการตรวจสอบค่าเป็น 3 ส่วน คือ 1) ช่วง 00 - 99, 2) ช่วง A0 - Z9, 3) ช่วง ZA - ZZ


หรืออีกวิธีหนึ่ง แบบง่ายนะครับ ไม่ต้องโค้ด ให้คุณสร้างตารางเทียบค่าขึ้นมาตามนี้
Table: QueValue
Column: Que (text(2)), QueValue (integer)
Data:
00, 0
01, 1
....
A0, 100
A1, 101
...

แล้วใช้ query หรือ function DLookup เทียบค่าเอาได้เลยครับ
3 @R10870
ขอบคุณทุกคำตอบครับ
เป็นระบบที่set ไว้แล้ว ดังนั้นจะออกแบบใหม่คงไม่ได้ครับ
(ถ้าออกแบบใหม่ได้จัดการไปแล้ว dmax+1)
database เป็น sql server และ app. เป็น เดลไฟล์
แต่ผมต้องการเขียนใหม่บางรายการเพื่อตอบสนองลูกค้า
เลยเขียน รัน sql ผ่าน access (ทำแบบรีบ เร็ว ปัญหาอื่นค่อยว่ากันอีกที)
จะลองค้นดู ผลเป็นอย่างไรหรือติดปัญหาอย่างไรจะแจ้งให้ทราบครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3165s