Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 108,424

HOME > .NET Framework > Forum > ใช้ vb.net เมื่อกด save 1 ครั้ง ให้บันทึกลงฐานข้อมูล SQL โดยเริ่มต้นให้ label เริ่มจาก A001-A999 แล้วให้เปลี่ยนเป็น B001-B999 ไปเรื่อยๆครับ



 

ใช้ vb.net เมื่อกด save 1 ครั้ง ให้บันทึกลงฐานข้อมูล SQL โดยเริ่มต้นให้ label เริ่มจาก A001-A999 แล้วให้เปลี่ยนเป็น B001-B999 ไปเรื่อยๆครับ

 



Topic : 127551



โพสกระทู้ ( 365 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook



เบื้องต้นผมทำได้แค่ A0001 แต่ยังไม่สามารถให้ id เริ่ม B0001 ได้ ถ้า A9999
1
2
3
4
5

รบกวนผู้รู้แนะนำ Code ด้วยครับ



Tag : .NET, Win (Windows App), VB.NET, VS 2012 (.NET 4.x)







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2017-05-11 14:58:03 By : sakkapong View : 659 Reply : 8
 

 

No. 1



โพสกระทู้ ( 365 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

แก้ไขครับ ตัวเลขทั้งหมดมีแค่ 4 หลักครับ สูงสุด 9999 ถ้าเกินเมื่อไหร่ให้เริ่ม 0001






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-05-11 15:00:41 By : sakkapong
 


 

No. 2



โพสกระทู้ ( 4,070 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

(อะไรก็ได้).ToString("A0000")
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-05-11 15:29:38 By : lamaka.tor
 

 

No. 3



โพสกระทู้ ( 365 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 2 เขียนโดย : lamaka.tor เมื่อวันที่ 2017-05-11 15:29:38
รายละเอียดของการตอบ ::
หมายความว่ายังไงครับที่ว่าอะไรก็ได้ ใน SQL ถ้า A9999 แล้วให้เปลี่ยนเป็น B0001 ไปเรื่อยๆ จนถึง B9999 รบกวนขอโค็ดด้วยครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-05-11 16:39:38 By : sakkapong
 


 

No. 4



โพสกระทู้ ( 365 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

aasdfasd
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-05-11 17:03:35 By : sakkapong
 


 

No. 5



โพสกระทู้ ( 819 )
บทความ ( 0 )



สถานะออฟไลน์


ก็น่าจะ select ข้อมูลมา
แล้วเช็คเลยท้ายถ้าเป็น 9999 ก็เพิ่มตัวหนังสือครับ
แล้วก็ reset เป็น 1


select top 1 * from idone order by id desc
ก็จะได้ row ล่าสุดมา
แล้วเอาเข้า last_id
last_id= สมมุติเป็น C9999
last_int=mid(last_id,2,4) 'ตัวเลข
last_head=mid(last_id,1,1) ' ตัวหนังสือ
new_id=""

if cint(last_int)=9999 then
last_head = ทำยังไงไม่รู้ให้ C กลายเป็น D
new_id= last_head + "0001"
else
new_id=last_head + ("xxxx"+1)
end if


ประวัติการแก้ไข
2017-05-11 17:15:53
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-05-11 17:14:47 By : fonfire
 


 

No. 6



โพสกระทู้ ( 819 )
บทความ ( 0 )



สถานะออฟไลน์


ลองเขียนให้
ได้ประมาณนี้ครับ
ยังไงเช็คอีกทีเพราะผมก็ไม่ค่อยแม่น

Code (VB.NET)
    Private Function AddNumber(_No As String) As String
        Dim _Head, _Digit As String
        Dim _Ch As String

        _Ch = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
        _Head = Mid(_No, 1, 1)
        _Digit = Mid(_No, 2)

        If CInt(_Digit) >= 9999 Then
            _Digit = 1
            _Head = Mid(_Ch, InStr(_Ch, _Head) + 1, 1)
            If _Head.Trim = "" Then _Head = "A"
        Else
        _Digit = CInt(_Digit) + 1
        End If
        _Digit = CInt(_Digit).ToString("0000")

        Return _Head + _Digit

    End Function

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-05-12 08:32:40 By : fonfire
 


 

No. 7



โพสกระทู้ ( 819 )
บทความ ( 0 )



สถานะออฟไลน์


ส่งค่าแบบนี้น่ะครับ

MsgBox(AddNumber("C9999"))
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-05-12 08:37:52 By : fonfire
 


 

No. 8



โพสกระทู้ ( 4,070 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

Code (VB.NET)
Function GetID(strID As String) As String
        Dim myMatch As System.Text.RegularExpressions.Match = System.Text.RegularExpressions.Regex.Matches(strID, "([A-Z]{1,})(\d{1,})")(0)
        Dim chr As String
        If Convert.ToInt32(myMatch.Groups(2).Value) + 1 >= 10000 Then
            chr = Convert.ToChar(Convert.ToByte(CChar("A")) + 1) 'มากกว่า 9999 เปลี่ยนตัวอักษร
        ElseIf String.IsNullOrEmpty(strID) Then
            chr = "A" 'เป็นค่าว่าง ให้เป็น A
        Else
            chr = myMatch.Groups(1).Value 'ปกติให้เป็นค่าเดิม
        End If

        Return chr _
               &
               CInt(IIf(Convert.ToInt32(myMatch.Groups(2).Value) + 1 >= 10000, 1, Convert.ToInt32(myMatch.Groups(2).Value) + 1)).ToString("0000")
        'มากกว่า 9999 ให้เป็น 1 ถ้าปกติให้ +1 จัดรูปแบบโดย ToString("0000")
    End Function


ใช้งาน

Code (VB.NET)
MessageBox.Show(GetID("A9999"))


ปล. อธิบาย (อะไรก็ได้).ToString("A0000") เป็นการเปลี่ยน object ให้เป็น string พร้อมกับจัดรูปแบบให้เป็น "A0000" ครับ
https://msdn.microsoft.com/en-us/library/system.object.tostring(v=vs.110).aspx
https://msdn.microsoft.com/en-us/library/0c899ak8(v=vs.110).aspx
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-05-12 10:15:18 By : lamaka.tor
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ใช้ vb.net เมื่อกด save 1 ครั้ง ให้บันทึกลงฐานข้อมูล SQL โดยเริ่มต้นให้ label เริ่มจาก A001-A999 แล้วให้เปลี่ยนเป็น B001-B999 ไปเรื่อยๆครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: Voake, Comcube, รับทำเว็บไซต์ รับเขียนโปรแกรม , รับทำบัญชี , โรงงานผลิตครีม , สำนักงานบัญชี , รับจดทะเบียนบริษัท , Pangpond , รถมือสอง

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2020 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่