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 > ผมมีปัญหาเรื่องการ Update ข้อมูล เวลาที่ขึ้้นเดือนใหม่แล้วให้ค่ามัน Reset เองครับ



 

ผมมีปัญหาเรื่องการ Update ข้อมูล เวลาที่ขึ้้นเดือนใหม่แล้วให้ค่ามัน Reset เองครับ

 



Topic : 082235



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



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




ผมเขียนโปรแกรมใบเสร็จ ซึ่งผมใช้
ปี เดือน และ ลำดับใบเสร็จ มาใช้เป็นเลขที่ใบเสร็จครับ
รูปแบบคือ yyyymmXXXX เช่น 2555080159
ปี กับ เดือน ผมอิงจากเวลาในคอม ส่วนลำดับ XXXX นั้นผมสร้างตาราง RunningNumber
ไว้ใน SQL Server ครับ เวลาจะพิมพ์เสร็จใบต่อไปก็ให้ UPDATE ตาราง RunningNumber ค่าเดิม +1 ไปเรื่อยๆครับ

ปัญหามีอยู่ว่า เมื่อขึ้นเดือนใหม่
ผมต้องการที่จะ Update SQL ลำดับเลขที่ใบเสร็จ XXXX ให้เป็น 1 ใหม่
เป็น 2555090001 แบบนี้ครับ

ผมจะเขียนโค้ดยังไงดีครับ รบกวนแนะนำด้วยครับ



Tag : .NET, Ms SQL Server 2008, Win (Windows App), VB.NET, VS 2010 (.NET 4.x), Windows







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-08-12 19:37:48 By : PizzaCPE23 View : 1174 Reply : 10
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

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

ตัวที่คุณถามในกระทู้เก่า ๆ มีคนเขียนแจกไว้น่ะครับ ลองค้นหาดูครับ มีเยอะมาก






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-08-13 08:30:16 By : mr.win
 


 

No. 2



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



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


ผมก็คิดว่าเรื่องเรื่องทุกเรื่องน่าจะมีคนเคยถามคำถามมาก่อนแล้ว แต่หาไม่เจออะครับ อย่างน้อย ขอ keyword ในการค้นหาหน่อยได้มั้ยครับ ขอบคุณครับพี่วิน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-08-13 08:54:28 By : PizzaCPE23
 

 

No. 3



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



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


แนวคิดนะ
1. เราต้องหาปีขึ้นมาก่อน เช่น ปีนี้ปี 2012 เราก็เอามาบวก 543 จะได้ปี ไทย 2555 ( YearBill = (DateTime.Now.AddYear(+543).ToString());)
2. หาเดือน ( "0" + (DateTime.Now.Month.ToString());) โดยปกติเดือน 8 จะได้แค่ 1 หลักเราต้องการ 2 หลักเราก็เพิ่ม 0 ให้อยู่ข้างหน้า
3.เราก็เอาปี ที่หาได้ไป where หา มันก็จะโชว์ ปีออกมา แล้วเรา หาเดือนต่อ พอได้เดือนเราก็มาหาเลขที่บิล เลขสุดท้ายมา + 1
4.ถ้า where ไม่เจอก็ให้มันเอาปี + เดือน + 0001

ในตัวอย่าง ข้างล่างเป็น c# ของผมจะได้ Ser-12080001
12 คือ ปี
08 คือ เดือน
0001 คือเลขรันนำเบอร์


Code (C#)
            string YearBill;
            string MountBill;
            int ReciveID;
            string SQLSaleID;
            YearBill = (DateTime.Now.Year.ToString().Substring(2, 2));
            MountBill = "0" + (DateTime.Now.Month.ToString());

            string sqlNewID;
            sqlNewID = " SELECT    Serv_ID ";
            sqlNewID += " FROM      tb_Serv";
            sqlNewID += " WHERE     Substring(Serv_ID,5,2) = '" + YearBill + "' And Substring(Serv_ID,7,2) = '" + MountBill + "' ";
            sqlNewID += " ORDER BY  Substring(Serv_ID,5,2) + Substring(Serv_ID,7,2)+ Substring(Serv_ID,9,4) DESC";

            SqlDataReader dr;
            com = new SqlCommand();
            com.CommandType = CommandType.Text;
            com.CommandText = sqlNewID;
            com.Connection = Conn;
            dr = com.ExecuteReader();
        If (dr.HasRows) Then
            {
                DataTable dtNewID = new DataTable();
                dtNewID.Load(dr);

                SQLSaleID = dtNewID.Rows[0]["Serv_ID"].ToString();
                ReciveID = 10001 + Convert.ToInt32(SQLSaleID.Substring(8, 4));
                txtFindBill.Text = "Ser-" + YearBill + MountBill + ReciveID.ToString().Substring(1, 4);
            }
        Else
            {
                txtFindBill.Text = "Ser-" + YearBill + MountBill + "0001";
            }
            dr.Close();
    


ถ้าไม่เข้าใจเดี๋ยวมาตอบให้ ลองเอาไปแปลงดูก่อนนะ


ประวัติการแก้ไข
2012-08-13 11:11:35
2012-08-13 11:23:02
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-08-13 11:11:06 By : SeedNew
 


 

No. 4



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



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


ผมลองเขียนแบบนี้แล้ว แต่ไม่ได้อ่ะครับ
Code (VB.NET)
        mySqlCon.Open()
        SQL = "SELECT Value FROM RunningInvoiceS WHERE Name = 'InvoiceNo'"
        mySqlCmd = New SqlCommand(SQL, mySqlCon)
        Try
            mySqlReader = mySqlCmd.ExecuteReader
            If mySqlReader.HasRows Then
                While mySqlReader.Read
                    txtInvoiceNo.Text = Year(Today) & Format(Month(Today), "00") & Format(mySqlReader.Item(0), "0000")
                End While
                mySqlReader.Close()
            Else 'ผมเพิ่ม else บรรทัดนี้ครับ
                txtInvoiceNo.Text = Year(Today) & Format(Month(Today), "00") & "0001"
            End If
        Catch ex As Exception
            MsgBox(ex.Message)
            Exit Sub
        End Try



ประวัติการแก้ไข
2012-08-13 14:29:54
2012-08-13 14:30:00
2012-08-13 14:40:30
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-08-13 14:19:15 By : PizzaCPE23
 


 

No. 5



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



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


ตรงนี้ผิด
SELECT Value FROM RunningInvoiceS WHERE Name = 'InvoiceNo'

เป็นคำสงวน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-08-13 14:33:26 By : SeedNew
 


 

No. 6



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



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


มันจะเข้า Else เมื่อไหร่หรอครับ คุณ SeedNew
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-08-13 14:45:37 By : PizzaCPE23
 


 

No. 7



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



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


เอาอย่างงนี้ เรามาไป ทีละ stap ด้วยกัน vb ไม่ได้เขียนนานแล้ว แต่จะพยายามช่วย

เริ่มแรกนะ เราใช้ MS SQL หรือเปล่า

ถ้าใช้ก็เขียน ใน คิวรี่

SELECT InvoiceNo
FROM RunningInvoiceS
WHERE Substring(InvoiceNo,1,4) And Substring(InvoiceNo,5,2)
OERDER BY Substring(InvoiceNo,1,4) And Substring(InvoiceNo,5,2) And Substring(InvoiceNo,7,4) DESC

คิวรี่ ออกมาดูก่อน ว่าได้ผลลัพธ์อะไร แล้วบอกด้วยจะบอก step ถัดไป
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-08-13 15:59:05 By : SeedNew
 


 

No. 8



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



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


ผมใช้ SQL Server 2008 r2 ครับ
รู้สึกคำสั่ง Substring จะใช้ไม่ได้นะครับ ไม่แน่ใจ มันฟ้อง error นี้ครับ

Msg 4145, Level 15, State 1, Line 3
An expression of non-boolean type specified in a context where a condition is expected, near 'And'.
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-08-13 16:07:51 By : PizzaCPE23
 


 

No. 9



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



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


แอด เมลล์มา [email protected]
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-08-13 16:27:50 By : SeedNew
 


 

No. 10



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



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


ได้ดิ substing เป็นคำสั่งพื้นฐานของ sql
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-08-13 16:33:06 By : SeedNew
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ผมมีปัญหาเรื่องการ Update ข้อมูล เวลาที่ขึ้้นเดือนใหม่แล้วให้ค่ามัน Reset เองครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 อัตราราคา คลิกที่นี่