|  | 
	                
  
    |  |  
    | 
        
        ช่วยหน่อยครับ อ.ที่ปรึกษาให้แก้โปรเจคติดแค่นี้ครับคิดไม่ออกครับ 1.สินค้าขายดี 2.สรุปยอดรายเดือน 3.ราคาปรับเปลี่ยน (VB.NET + ACCESS)     |  
    |  |  
 
              
  
    | 
 
        
          |  |  |  |  |  
          |  |  | 
            
              | ทุกอย่างหาได้จาก บล๊อคค้นหาข้อมูล ......... [search] 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2019-05-12 09:39:48 | By :
                            Chaidhanan |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | ควรแก้ยังไงหรอครับ (ค้นหาระหว่างวันที่) 
  
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2019-05-13 18:01:05 | By :
                            2535466999857732 |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | น่าจะลองเปลี่ยนจาก '" เป็น #" ดูครับ 
 เรื่อง datetime นี่ น่าจะงมกันนานหน่อย เพราะ มันเป็็นที่ format ของ data type ด้วย
 
 อาจจะ ต้อง convert จาก ToSortDateString() มาเป็น datetime ดู อีกที
 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2019-05-13 19:08:30 | By :
                            lamaka.tor |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | ผมแก้เรื่องเวลาได้แล้วครับผม ขอบคุณมากครับ 
 ผมอยากได้ code ที่มันแสดงสินค้าขายดี 5 อันดับผมต้องเขียนประมาณไหนหรอครับ
 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2019-05-13 21:50:53 | By :
                            2535466999857732 |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | ผมก็ไม่ค่อยถนัด sql นะครับ 
 แต่ถ้าให้ทำ ผมจะ select sum  มา เป็น table ก่อน โดยเรียงจากน้อยไปมาก จากนั้น ก็ selec top5 ขึ้นมา
 
 ลองหาอ่าน พวกที่ใช้การ select ซ้อน select ดู ครับว่าเขาเขียนกันยังไง
 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2019-05-13 23:43:19 | By :
                            lamaka.tor |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | คงจะประมาณนีละมังครับ ผมลืมหมดละ Code (VB.NET)
 
   Me.....ชื่อตาราง......BindingSource.Filter = String.Format("D_DATE >= #{0:M/dd/yyyy}# AND D_DATE <= #{1:M/dd/yyyy}#", DateTimePicker1.Value, DateTimePicker2.Value)
 ถ้าเป็นผมนะ พอเรากดหัวของ DataGridview มันจะเรียงจากมากไปหาน้ย หรือ น้อยไปหามากให้ หาคำสั่ง Auto นั้น แล้ว ดึง 5 Row มา ครับ
 
 |  
              | 
 ประวัติการแก้ไข
 2019-05-14 07:52:24
 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2019-05-14 07:45:39 | By :
                            nutpopo |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
 
        
          |  |  |  |  |  
          |  |  | 
            
              | Code (SQL) 
 
SELECT	ITEM, DESCRIPTION , COST, PRICE FROM HR_ITEM_MST 
SELECT	ITEM
		,DESCRIPTION
		, COST
		, PRICE
		,((PRICE - COST) * 100)/PRICE [MARGIN]
FROM	HR_ITEM_MST
WHERE	((PRICE - COST) * 100)/PRICE >= 30
ORDER BY MARGIN DESC
SELECT	ITEM
		,DESCRIPTION
		,AVG(COST)		[COST]
		,AVG(PRICE)		[PRICE]
		,AVG(((PRICE - COST) * 100)/PRICE) [MARGIN]
FROM HR_ITEM_MST
GROUP BY ITEM,DESCRIPTION
HAVING ((AVG(PRICE) - AVG(COST)) * 100)/AVG(PRICE) >= 30
ORDER BY MARGIN DESC
 เผื่อพอเป็น Idea ครับ
 
  
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2019-05-14 11:08:55 | By :
                            jaypang |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | 1.คือผมอยากได้ code ที่มันแสดงสินค้าขายดี 5 อันดับผมต้องเขียนประมาณไหนหรอครับ Code (SQL)
 
 
with cte_rank as 
(
select 
ProductID,
sum(price) as #total,
DENSE_RANK() over (order by sum(price) desc) #Rank
from Table group by ProductID
)
select * from cte_rank where #rank between 1 and 5
 2.ถ้าจะเลือกให้ show ข้อมูลยอดขายสินค้า ระหว่างเดือนควรใช้คำสั่งอะไรอ่ะครับ
 Code (SQL)
 
 
select * from table where dateOrder between '' and ''
 3.อยากดักค่า textbox ให้รับแต่จำนวนเต็มต้องทำยังไงหรอครับ
 Code (VB.NET)
 
  Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim str_ As String = TextBox1.Text
        If str_.ToString.IndexOf(".") = True Then
            MsgBox("OK")
        Else
            MsgBox("Error")
        End If
    End Sub
4. อยากให้แสดงสินค้าที่ราคา ต้นทุนต่ำกว่ากำไร 30% ครับ
 เช่น ต้นทุน 70 ขาย 100
 แต่ถ้า ทุน 80 ขาย 100 ให้แสดงสินค้านี้ว่ามันต่ำกว่า 30 %
 
 ข้อสุดท้าย งง โจทย์ หรือไม่ผมก็โง่ 555+
 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2019-05-18 20:23:00 | By :
                            adminliver |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | 1.คือผมอยากได้ code ที่มันแสดงสินค้าขายดี 5 อันดับผมต้องเขียนประมาณไหนหรอครับ Ans : คุณต้องมีข้อมูลการขายก่อน หรือ Transaction ว่าขายอะไรไปบ้าง
 ผมยกตัวอย่างข้อมูลนี้
 
  จะเขียน SQL ตามโจทย์ได้ประมาณนี้
 Code (SQL)
 
 
SELECT		TOP(5) ITEM, COUNT(ITEM) [TIME] , AVG(COST) [COST] , AVG(PRICE)  [PRICE]
FROM		HR_ITEM_MST
GROUP BY	ITEM
ORDER BY	COUNT(ITEM) DESC
 จะได้ผลลัพธ์ประมาณนี้ หลักการคือนับจำนวนไอเท็มที่ขาย แล้วก็จัดอันดับจากมากสุดไปน้อยสุด เลือกมาแค่ 5 อันดับบน
 
  
 
 2.ถ้าจะเลือกให้ show ข้อมูลยอดขายสินค้า ระหว่างเดือนควรใช้คำสั่งอะไรอ่ะครับ
 Ans : ต้องการโชว์ยอดขาย แสดงว่าจะต้องคำนวณตามไอเท็มแล้ว ไม่ใช่แค่แสดงรายการที่ขาย น่าจะเขียนได้ประมาณนี้ครับ
 Code (SQL)
 
 
SELECT		ITEM, SUM(QTY) , SUM(QTY * COST) [COST] , SUM(QTY * PRICE)  [PRICE]
FROM		HR_ITEM_MST
WHERE		CREATEDATE BETWEEN '2019-05-01 00:00:00' AND '2019-05-31 23:59:59' 
GROUP BY	ITEM
 
 
 3.อยากดักค่า textbox ให้รับแต่จำนวนเต็มต้องทำยังไงหรอครับ
 Ans : ไม่ได้เขียน vb แล้ว หาจากเน็ทให้ละกันครับ มันจะเช๊คตอนเราคีย์อะไรเข้าไปใน textbox ถ้าเป็น ตัวเล็กก็พิมพ์ได้ ถ้าไม่ใช่ก็ไม่มีอะไรเกิดขึ้น
 Code (VBScript)
 
 Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
    '97 - 122 = Ascii codes for simple letters
    '65 - 90  = Ascii codes for capital letters
    '48 - 57  = Ascii codes for numbers
    If Asc(e.KeyChar) <> 8 Then
        If Asc(e.KeyChar) < 48 Or Asc(e.KeyChar) > 57 Then
            e.Handled = True
        End If
    End If
End Sub
 4. อยากให้แสดงสินค้าที่ราคา ต้นทุนต่ำกว่ากำไร 30% ครับ
 เช่น ต้นทุน 70 ขาย 100
 แต่ถ้า ทุน 80 ขาย 100 ให้แสดงสินค้านี้ว่ามันต่ำกว่า 30 %
 Ans : ก็คล้ายๆ โค้ดที่เขียนไปด้านบนแหละ
 Code (SQL)
 
 
SELECT	ITEM
		,DESCRIPTION
		, COST
		, PRICE
		,((PRICE - COST) * 100)/PRICE [MARGIN]
FROM	HR_ITEM_MST
WHERE	((PRICE - COST) * 100)/PRICE <= 30
ORDER BY MARGIN DESC
 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2019-05-21 14:00:03 | By :
                            jaypang |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | ผมก็อย่ากจะเขียนให้นะ เอาเป็นว่าบอกไบก็แล้วกัน 
 Code (VB.NET)
 
     Dim sql As String = "SELECT TOP 4  * FROM Table WHERE DATE = '" & "date" & "'ORDER by Item"
 
 ไบก็เหมือนบอก 5555
 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2019-08-17 13:20:27 | By :
                            nutpopo |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  |  |