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

Registered : 109,037

HOME > .NET Framework > Forum > รบกวนขอความช่วยเหลือ เรื่อง year / autonumber ด้วยครับ



 

รบกวนขอความช่วยเหลือ เรื่อง year / autonumber ด้วยครับ

 



Topic : 113420



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



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




ตอนนี้ผมทำ year / autonumber เพื่อที่จะได้รันลำดับตัวเลขอัตโนมัติไปเรื่อยๆ ครับ แต่จากโค้ดตอนนี้มันติดอยู่ตรงที่ว่า ตัวเลขที่รันอัตโนมัติ มันไม่ยอมเพิ่ม +1 ให้ พอหลังจากรันและกดปุ่มเพิ่มข้อมูลแล้ว ใน textbox ก็จะขึ้นแบบนี้ 57/0001 และพอกดบันทึกข้อมูลเสร็จ แล้วทำการเพิ่มข้อมูลใหม่ มันไม่ยอมเปลี่ยนจาก 57/0001 เป็น 57/0002 ครับ รบกวนพี่ๆช่วยเหลือด้วยครับ งมมาหลายวันแล้ว T_T ขอบคุณครับ

 Public Function GetID() As String

        Try
            Dim ap1 As String
            ap1 = ""

            Dim i As Integer
            i = 0
            i = Dst.Tables("Testing").Rows.Count - 1
            ap1 = Dst.Tables("Testing").Rows(i)("PatientCode").ToString

                       If IsDBNull(Dst.Tables("Testing").Rows(0)("PatientCode")) Then
                'id = CStr(Now.Year) + 543 & "-" & "0000"
                GetID = CStr(Now.Year + 543).Substring(2) & "-" & "0001"
                'id = CStr(1)
            Else
                Dim stRef1 As String = (Now.Year + 543 - 2500).ToString("00") & "-"
                Dim stNextID As String = stRef1 & "0001"
                ids = Dst.Tables("Testing").Rows(0)("PatientCode")
                If ids.IndexOf(stRef1) >= 0 Then
                    Dim n As Integer = Convert.ToInt32(ids.SubString(stRef1.Length)) + 1
                    stNextID = stRef1 & n.ToString("0000")

                End If
                GetID = stNextID

            End If


        Catch ex As Exception
            MsgBox(ex.Message(), MsgBoxStyle.Critical, "Error...")
        End Try
    End Function




Tag : .NET, Ms Access, VBScript, VS 2010 (.NET 4.x), Windows







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-12-23 15:45:32 By : rw324116 View : 1217 Reply : 12
 

 

No. 1



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



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


เพิ่มเติมครับ ก่อนหน้านี้ผมก็ได้ลองทำแบบนี้ดู ผลลัพธ์ก็เหมือนกันคือ เพิ่มข้อมูลที่ 1 ได้แล้ว กดบันทึก พอเพิ่มใหม่ มันก็ไม่ยอมเพิ่ม +1 ให้ครับ ผลลัพธ์ที่ได้จากการรัน คือ 002/2557 มันไม่ยอมไป 003/2557 ...

Public Function GetID() As String

        Try
            Dim ap1 As String
            ap1 = ""

            Dim i As Integer
            i = 0
            i = Dst.Tables("Testing").Rows.Count - 1
            ap1 = Dst.Tables("Testing").Rows(i)("PatientCode").ToString

            If ap1 = "" Then
                GetID = Format(1, "000" & "/" & (Now.Year + 543))
            Else
                GetID = Format(Microsoft.VisualBasic.Left(ap1, 4) + 1, "000" & "/" & (Now.Year + 543))
            End If

        Catch ex As Exception
            MsgBox(ex.Message(), MsgBoxStyle.Critical, "Error...")
        End Try
    End Function







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-23 15:49:15 By : rw324116
 


 

No. 2



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



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

i = Dst.Tables("Testing").Rows.Count - 1
ได้เท่ากันทั้ง 2 รอบอ่ะป่าวละครับ
ถ้าได้เท่ากันก็แสดงว่า Dst ยังไม่มีการ update database
ควรเรียกใช้งาน Dst ใหม่ทุกครั้งที่มีการเรียกใช้งาน database ครับ
จะได้ database ที่ update มาใช้งาน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-23 15:58:02 By : lamaka.tor
 

 

No. 3



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



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


แนะนำให้เปลี่ยนฟอรแมตเป็น yyMMxxxxx ดีกว่าครับเพราะมันทำให้เราอ่านแล้วรู้เลยว่าเป็นงานปีไหนเดือนอะไร
ส่วน xxxxx (running number) ก็ตามต้องการถ้าคิดว่าเดือนๆนึงไม่น่าจะเกินกีหลักก็ใช้ตามนั้น
สมมุตว่าคิดว่าเดือนนึงจะมีงานเข้ามาไม่เกิน 1000 ก็ใช้แค่ yyMMxxx ก็พอถ้าเดือนนึงมีงานเข้าไม่เกินแสนก็ yyMMxxxxx
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-23 22:24:38 By : deksoke
 


 

No. 4



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



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


ตอบความคิดเห็นที่ : 2 เขียนโดย : lamaka.tor เมื่อวันที่ 2014-12-23 15:58:02
รายละเอียดของการตอบ ::
รบกวนช่วยเหลือด้วยครับ เพิ่งหัดเขียนใหม่ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-24 10:56:25 By : rw324116
 


 

No. 5



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



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

ตอบความคิดเห็นที่ : 4 เขียนโดย : rw324116 เมื่อวันที่ 2014-12-24 10:56:25
รายละเอียดของการตอบ ::
ผมไม่ถนัด SQL นะครับเพราะผมใช้ datasource เอามันง่ายดีแต่
Code (VB.NET)
Public Function GetID() As String

Dim objConn As New SqlConnection( conString)
objConn.Open()
Dim daAuthors As _
New SqlDataAdapter("Select * From ......", objConn)
Dim Dst As New DataSet(.......)'เราจะได้ DataSet ที่ update แล้วทุกครั้งที่เรียกใช้งาน

        Try
            Dim ap1 As String
            ap1 = ""

            Dim i As Integer
            i = 0
            i = Dst.Tables("Testing").Rows.Count - 1
            ap1 = Dst.Tables("Testing").Rows(i)("PatientCode").ToString

            If ap1 = "" Then
                GetID = Format(1, "000" & "/" & (Now.Year + 543))
            Else
                GetID = Format(Microsoft.VisualBasic.Left(ap1, 4) + 1, "000" & "/" & (Now.Year + 543))
            End If

        Catch ex As Exception
            MsgBox(ex.Message(), MsgBoxStyle.Critical, "Error...")
        End Try

    End Function


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-24 11:09:15 By : lamaka.tor
 


 

No. 6



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



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


ได้แล้วครับท่าน โง่อยู่ตั้งนาน ก่อนหน้านี้ผมทำตัวนี้คือ เลขรันก่อน ตามด้วยปี ซึ่งขั้นกลางด้วยเครื่องหมาย / พอรันมันก็ขึ้นมาประมาณว่าข้อมูลผิดพลาดเป็นชนิด Double อะไรประมาณนี้ครับ เลยมาลองเปลี่ยนใหม่เป็นเครื่องหมาย - ดู ทีนี้พอมารันดูก็ได้เลยครับ ลองเปลี่ยน พ.ศ. ที่เครื่องดู แล้วเพิ่มข้อมูลใหม่ให้มันก็เปลี่ยน ขอบคุณมากๆเลยครับ


Public Function GetID() As String

Try
Dim ap1 As String
ap1 = ""

Dim i As Integer
i = 0
i = Dst.Tables("Testing").Rows.Count - 1
ap1 = Dst.Tables("Testing").Rows(i)("PatientCode").ToString

If ap1 = "" Then
GetID = Format(1, CStr("000") & "-" & CStr(Now.Year + 543))
Else
GetID = Format(Microsoft.VisualBasic.Left(ap1, 3) + 1, CStr("000") & "-" & CStr(Now.Year + 543))
End If

Catch ex As Exception
MsgBox(ex.Message(), MsgBoxStyle.Critical, "Error...")
End Try

End Function

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-24 11:57:16 By : rw324116
 


 

No. 7



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



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


แบบนี้ครับ
รันตัวเลขได้แล้ว
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-24 11:59:33 By : rw324116
 


 

No. 8



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



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


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-24 12:58:11 By : lamaka.tor
 


 

No. 9

Guest


ตัวID เซ็ต sql ยังไงเหรอ เป็น Autonumber ?? พอดีจะทำฐานข้อมูล ID โดย มี ปีที่ลงทะเบียน-สาขา-เลขAuto

yyyy-x-xxxxx

อยากรู้ว่าเซ็ตยังไง ใน mysql ต้องตั้ง autonumber ไหม
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-24 15:34:11 By : Momo
 


 

No. 10



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



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


ใน ฐานข้อมูลผมไม่ได้เซ็ตให้เป็น autonumber นะครับ แต่ให้มีการรันออโต้นัมเบอร์โดยโค้ดตามข้างบนที่ผมแปะไว้ แต่ถ้าอยากจะให้มันรันออโต้นัมเบอร์จาก sql ถ้าเช่น access ก็สร้างฟิล ID มา 1 ฟิล กำหนดเป็น Primary key แล้วชนิดข้อมูลก็เลือกเป็น autonumber ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-24 15:47:32 By : rw324116
 


 

No. 11

Guest


ตอบความคิดเห็นที่ : 10 เขียนโดย : rw324116 เมื่อวันที่ 2014-12-24 15:47:32
รายละเอียดของการตอบ ::
แล้วๆ เก็บ Datatype ตัวไหนเหรอ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-24 15:52:06 By : Momo
 


 

No. 12



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



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


ตอบความคิดเห็นที่ : 9 เขียนโดย : Momo เมื่อวันที่ 2014-12-24 15:34:11
รายละเอียดของการตอบ ::
ผมใช้วิธีคำณวนจากค่าล่าสุดในฐานข้อมูลเอานะ ถ้ามีเงื่อนไขอย่างที่คุณต้องการ คือจะต้องรู้ปี รู้รหัสสาขา
ปีเราหาจากใน sql ได้แต่รหัสสาขาต้องเพิ่มเข้าไปเอง
ตัวอย่างนะครับ




วิธีใช้ก็เอาไปเขียนเป็นฟังชั่นแล้วรับรหัสสาขามาใส่ในสคริป sql แค่นี้แหละครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-12-25 09:36:30 By : deksoke
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : รบกวนขอความช่วยเหลือ เรื่อง year / autonumber ด้วยครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

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